refactor(frontend): P1-P2 架构统一 — utils/hooks/api 模块化
P1: - utils/storage.ts、theme.ts、validate.ts + index 统一出口 - request/store/useTheme 接入 storage;清零 confirm/alert - PipelineManager、TerminalAuditTab 拆分子模块(<700行红线) P2: - api/monitor、api/deploy 子目录化 - hooks/api 扩展:servers/pipelines/alerts/audit/sessionCommands - PipelineManager、AuditOperationsTab 接入 TanStack Query
This commit is contained in:
1 parent
d19a03d427
commit
f45e203e21
196 files changed
+3224
-2014
No files matched your search
@@ -0,0 +1,57 @@
|
||||
import{j as s,a5 as b,aP as f,L as v,a6 as w,Q as g,H as C,B as A,r as l,D as M,a as U,b as B,c as J,d as E,O as L,T as R,S as G,C as H}from"./index-HuRw9UhJ.js";import{C as z,b as $,c as D,a as F}from"./card-B2Wqa0sK.js";import{B as y}from"./badge-CeS-g-Od.js";import{a as K}from"./alert-Bnyn6ibM.js";import{a as Q}from"./ai-CnRvgCA9.js";import{S}from"./sparkles-DEwze8TU.js";import{T as P}from"./trending-up-C97I6AeO.js";import{F as X}from"./file-text-BqORyhNh.js";import{P as _}from"./play-BXdOitsb.js";import{C as q}from"./copy-Ci4WwJkK.js";import{C as W}from"./circle-x-BVvXVx7p.js";function Y(e){const c=(e.metric||"").toLowerCase(),t=e.source||"目标主机",a=e.severity==="critical";return c.includes("cpu")?{rootCause:`检测到 ${t} 上 CPU 使用率达到 ${e.currentValue},持续超过阈值 ${e.threshold}。可能原因:1) 某进程存在死循环或高计算负载;2) GC 频繁触发(Java/Go 应用);3) 业务流量突增导致处理能力不足。`,impact:a?"CPU 持续高负载将导致服务响应延迟显著增加,严重时可能触发雪崩效应,影响全部依赖该节点的业务。":"CPU 使用率偏高,可能导致部分请求处理变慢,建议及时排查避免进一步恶化。",recommendations:[`登录 ${t} 执行 top/htop 定位高 CPU 进程`,"检查是否有异常定时任务或批处理任务在运行","考虑临时扩容或将部分流量调度到其他节点","优化应用代码,排查是否存在低效算法或资源泄漏"],autoFixScript:`#!/bin/bash
|
||||
# CPU 高负载诊断脚本 - ${t}
|
||||
echo "===== CPU TOP 10 进程 ====="
|
||||
ps aux --sort=-%cpu | head -11
|
||||
echo ""
|
||||
echo "===== 系统负载 ====="
|
||||
uptime
|
||||
echo ""
|
||||
echo "===== 高 CPU 进程详情 ====="
|
||||
PID=$(ps aux --sort=-%cpu | sed -n '2p' | awk '{print $2}')
|
||||
if [ -n "$PID" ]; then
|
||||
echo "最高 CPU 进程: PID=$PID"
|
||||
cat /proc/$PID/cmdline | tr '\\0' ' '
|
||||
echo ""
|
||||
fi
|
||||
`,similarCases:0,confidence:0}:c.includes("mem")||c.includes("ram")?{rootCause:`检测到 ${t} 内存使用率达到 ${e.currentValue},接近或超过阈值 ${e.threshold}。常见原因:1) 应用内存泄漏,对象未被正确释放;2) 缓存配置过大;3) 数据库连接池未及时释放。`,impact:a?"内存即将耗尽可能触发 OOM Killer,导致关键进程被强制终止,服务中断风险极高。":"内存持续增长,长期可能导致 OOM,建议尽快排查内存使用情况。",recommendations:[`检查 ${t} 上的内存占用最高的进程`,"如果是 Java 应用,检查 JVM 堆内存配置和 GC 日志","排查是否存在内存泄漏,必要时生成堆转储分析","调整缓存大小限制或增加交换分区"],similarCases:0,confidence:0}:c.includes("disk")||c.includes("space")?{rootCause:`检测到 ${t} 磁盘使用率达到 ${e.currentValue},超过阈值 ${e.threshold}。最常见原因:1) 日志文件未配置轮转/清理;2) 临时文件堆积;3) 数据库数据文件膨胀。`,impact:a?"磁盘空间不足可能导致服务无法写入数据/日志,数据库可能崩溃,文件系统变只读,影响范围极大。":"磁盘空间告警,如不及时清理可能导致服务异常。",recommendations:[`清理 ${t} 上 30 天前的日志文件`,"检查并清理临时目录 /tmp、/var/tmp","配置 logrotate 日志轮转策略","考虑扩容磁盘或将数据迁移到对象存储"],autoFixScript:`#!/bin/bash
|
||||
# 磁盘清理脚本 - ${t}
|
||||
echo "===== 清理前磁盘使用 ====="
|
||||
df -h /
|
||||
echo ""
|
||||
echo "===== 清理 30 天前日志 ====="
|
||||
find /var/log -name "*.log" -mtime +30 -delete 2>/dev/null
|
||||
find /var/log -name "*.gz" -mtime +30 -delete 2>/dev/null
|
||||
echo ""
|
||||
echo "===== 清理系统缓存 ====="
|
||||
journalctl --vacuum-time=7d 2>/dev/null
|
||||
echo ""
|
||||
echo "===== 清理后磁盘使用 ====="
|
||||
df -h /
|
||||
`,similarCases:0,confidence:0}:c.includes("net")||c.includes("latency")||c.includes("bandwidth")?{rootCause:`检测到 ${t} 网络指标异常(当前值 ${e.currentValue}),可能原因:1) 上游依赖服务响应变慢;2) 网络带宽打满;3) DNS 解析延迟;4) 连接数达到上限。`,impact:a?"网络异常将导致所有经过该节点的请求超时,影响所有上游业务的可用性。":"网络延迟偏高,可能影响用户体验,建议排查网络链路。",recommendations:[`检查 ${t} 的网络连接和带宽使用情况`,"排查上游依赖服务的健康状态和响应时间","检查防火墙规则是否有限速或异常丢弃","考虑启用熔断/降级机制保障核心链路"],similarCases:0,confidence:0}:c.includes("service")||c.includes("up")||c.includes("avail")?{rootCause:`检测到 ${t} 服务不可用(指标 ${e.metric} = ${e.currentValue})。可能原因:1) 进程崩溃或被 OOM Killer 终止;2) 端口被占用或监听异常;3) 健康检查端点返回错误;4) 配置文件错误导致启动失败。`,impact:a?"服务完全不可用,所有依赖该服务的业务功能将中断,需要立即处理。":"服务可用性下降,部分功能可能受影响。",recommendations:[`立即检查 ${t} 的服务状态: systemctl status <service>`,"查看服务日志排查崩溃原因","检查端口占用和监听状态: ss -tlnp","必要时重启服务并监控恢复情况"],autoFixScript:`#!/bin/bash
|
||||
# 服务恢复脚本 - ${t}
|
||||
echo "===== 检查服务状态 ====="
|
||||
systemctl list-units --state=failed
|
||||
echo ""
|
||||
echo "===== 检查端口监听 ====="
|
||||
ss -tlnp | grep -E ':(80|443|8080|3306|6379|9090)'
|
||||
echo ""
|
||||
echo "===== 重启失败服务 ====="
|
||||
systemctl reset-failed
|
||||
`,similarCases:0,confidence:0}:{rootCause:`检测到 ${t} 触发告警「${e.name}」,当前指标值 ${e.currentValue} 超过阈值 ${e.threshold}。建议进一步排查具体指标数据和相关日志以确定根因。`,impact:a?"该告警级别为严重,可能影响业务正常运行,建议优先处理。":"该告警需要关注,持续恶化可能影响系统稳定性。",recommendations:[`查看 ${t} 的监控仪表盘,确认指标趋势`,"检查对应时间段的系统日志和应用日志","关联同时间段的其他告警,排查是否有连锁反应","若确认误报,调整告警规则阈值或持续时间"],similarCases:0,confidence:0}}function Z(e){const c=e.rule?.expression||"",t=c.match(/([\w_]+)\s*[><=!]+\s*([\d.]+)/),a=t?t[1]:c||"unknown",n=t?t[2]+"%":"-",r=e.value??0,d=a.includes("usage")||a.includes("cpu")||a.includes("disk")||a.includes("mem")?r.toFixed(1)+"%":r.toFixed(2),x=e.resolved_at?new Date(e.resolved_at):new Date,i=new Date(e.started_at),p=Math.max(1,Math.round((x.getTime()-i.getTime())/6e4)),h=p>=60?`${Math.floor(p/60)}小时${p%60}分钟`:`${p}分钟`,u=i.toLocaleString("zh-CN",{hour12:!1});return{id:String(e.id),name:e.rule_name||e.rule?.name||"未知告警",severity:e.severity==="critical"?"critical":e.severity==="warning"?"warning":"info",status:e.status==="firing"?"active":"resolved",source:e.target||"未知目标",metric:a,threshold:n,currentValue:d,duration:h,startedAt:u,description:e.message&&e.message!==`告警事件 ${e.id}`?e.message:e.rule?.description||`${e.rule_name||"告警"}: ${e.target} 当前值 ${d}`}}function ss(e){switch(e){case"critical":return"bg-red-500/10 text-red-400 border-red-500/30";case"warning":return"bg-amber-500/10 text-amber-400 border-amber-500/30";default:return"bg-blue-500/10 text-blue-400 border-blue-500/30"}}function es({selectedAlert:e,isAnalyzing:c,analysis:t,onAutoFix:a}){return s.jsxs(z,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:18:5",className:"bg-slate-800 border-slate-700 flex flex-col",children:[s.jsx($,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:19:7",className:"border-b border-slate-700 pb-3",children:s.jsxs(D,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:20:9",className:"text-slate-100 flex items-center gap-2",children:[s.jsx(S,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:21:11",className:"h-5 w-5 text-purple-400"}),"AI 分析结果"]})}),s.jsx(b,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:25:7",className:"flex-1",children:s.jsx(F,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:26:9",className:"p-4",children:e?c?s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:33:13",className:"flex flex-col items-center justify-center h-64",children:[s.jsx(v,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:34:15",className:"h-8 w-8 animate-spin text-purple-400 mb-4"}),s.jsx("p",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:35:15",className:"text-slate-400",children:"AI正在分析告警根因..."}),s.jsx("p",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:36:15",className:"text-xs text-slate-500 mt-2",children:"正在关联日志、指标和历史案例"})]}):t?s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:39:13",className:"space-y-4",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:41:15",className:"flex items-center justify-between p-3 bg-purple-500/10 rounded-lg border border-purple-500/30",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:42:17",className:"flex items-center gap-2",children:[s.jsx(f,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:43:19",className:"h-5 w-5 text-purple-400"}),s.jsx("span",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:44:19",className:"text-slate-300",children:"分析置信度"})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:46:17",className:"flex items-center gap-2",children:[s.jsx("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:47:19",className:"w-32 h-2 bg-slate-700 rounded-full overflow-hidden",children:s.jsx("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:48:21",className:"h-full bg-gradient-to-r from-purple-500 to-pink-500",style:{width:`${t.confidence}%`}})}),s.jsxs("span",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:53:19",className:"text-purple-400 font-bold",children:[t.confidence,"%"]})]})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:58:15",className:"space-y-2",children:[s.jsxs("h4",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:59:17",className:"text-sm font-medium text-slate-300 flex items-center gap-2",children:[s.jsx(w,{"code-path":"src/components/aiops/AIAnalysisResult.tsx:60:19",className:"h-4 w-4 text-red-400"}),"根因分析"]}),s.jsx("div",{"code-path":"src/components/aiops/AIAnalysisResult.tsx:63:17",className:"p-3 bg-slate-900 rounded-lg border border-slate-700",childre
Line truncated
|
||||
|
||||
告警名称:${o.name}
|
||||
严重程度:${o.severity}
|
||||
目标:${o.source}
|
||||
指标:${o.metric} = ${o.currentValue}(阈值 ${o.threshold})
|
||||
持续:${o.duration}
|
||||
描述:${o.description}
|
||||
|
||||
返回 JSON 格式(字段名用 snake_case):
|
||||
{
|
||||
"root_cause": "根因分析(2-3句)",
|
||||
"impact": "影响评估(1-2句)",
|
||||
"recommendations": ["建议1", "建议2", "建议3"],
|
||||
"auto_fix_script": "#!/bin/bash\\n...\\n(可选的自动修复脚本,无则 null)",
|
||||
"similar_cases": 数字(类似案例数预估),
|
||||
"confidence": 数字(0-100 置信度)
|
||||
}`,N=await Q.chat([{role:"user",content:V}]),I=N?.content||N?.message?.content||"";i(I?as(I,m):m)}catch{i(m)}finally{d(!1)}},k=()=>{h(!0)},O=o=>{switch(o){case"critical":return s.jsx(W,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:127:16",className:"h-4 w-4 text-red-400"});case"warning":return s.jsx(w,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:129:16",className:"h-4 w-4 text-amber-400"});default:return s.jsx(g,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:131:16",className:"h-4 w-4 text-blue-400"})}};return s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:136:5",className:"space-y-6",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:138:7",className:"flex items-center justify-between",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:139:9",className:"flex items-center gap-3",children:[s.jsx("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:140:11",className:"w-10 h-10 rounded-lg bg-gradient-to-br from-amber-500 to-orange-500 flex items-center justify-center",children:s.jsx(f,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:141:13",className:"h-5 w-5 text-white"})}),s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:143:11",children:[s.jsx("h1",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:144:13",className:"text-2xl font-bold text-slate-100",children:"AI 告警智能分析"}),s.jsx("p",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:145:13",className:"text-sm text-slate-500",children:"基于大模型的告警根因分析和自动修复建议"})]})]}),s.jsx("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:148:9",className:"flex items-center gap-2",children:s.jsxs(y,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:149:11",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[s.jsx(S,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:150:13",className:"h-3 w-3 mr-1"}),"AI 引擎运行中"]})})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:156:7",className:"grid grid-cols-2 gap-6 h-[calc(100vh-200px)]",children:[s.jsxs(z,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:158:9",className:"bg-slate-800 border-slate-700 flex flex-col",children:[s.jsx($,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:159:11",className:"border-b border-slate-700 pb-3",children:s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:160:13",className:"flex items-center justify-between",children:[s.jsxs(D,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:161:15",className:"text-slate-100 flex items-center gap-2",children:[s.jsx(R,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:162:17",className:"h-5 w-5 text-amber-400"}),"活跃告警"]}),s.jsxs(y,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:165:15",className:"bg-red-500/10 text-red-400 border-red-500/30",children:[e.filter(o=>o.status==="active").length," 个活跃"]})]})}),s.jsx(b,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:170:11",className:"flex-1",children:s.jsx(F,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:171:13",className:"p-4 space-y-3",children:t?s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:173:17",className:"flex flex-col items-center justify-center h-32",children:[s.jsx(v,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:174:19",className:"h-6 w-6 animate-spin text-slate-500 mb-2"}),s.jsx("p",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:175:19",className:"text-sm text-slate-500",children:"加载告警数据..."})]}):e.length===0?s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:178:17",className:"flex flex-col items-center justify-center h-32 text-slate-500",children:[s.jsx(g,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:179:19",className:"h-8 w-8 mb-2 opacity-50"}),s.jsx("p",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:180:19",className:"text-sm",children:"暂无告警事件"})]}):e.map(o=>s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:184:17",className:`p-4 rounded-lg border cursor-pointer transition-all ${n?.id===o.id?"border-purple-500 bg-purple-500/10":"border-slate-700 bg-slate-800/50 hover:border-slate-600"}`,onClick:()=>T(o),children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:193:19",className:"flex items-start justify-between mb-2",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:194:21",className:"flex items-center gap-2",children:[O(o.severity),s.jsx("span",{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:196:23",className:"font-medium text-slate-100",children:o.name})]}),s.jsx(y,{"code-path":"src/components/aiops/AIAlertAnalyzer.tsx:198:21",variant:"outline",className:ss(o.severity),children:o.severity==="critical"?"严重":o.severity==="warning"?"警告":"提示"})]}),s.jsx("div",{"code-path":"src
Line truncated
|
||||
@@ -0,0 +1,19 @@
|
||||
import{i as _s,r as x,j as s,aO as ks,b9 as Es,aF as Ls,aB as H,a0 as ds,aP as Rs,B as N,z as Z,T as ms,A as xs,L as k,H as Ms,ba as ss,a5 as Ps,U as Ds,D as Ts,a as qs,b as Us,c as Bs,d as zs,e as Fs,t as w}from"./index-HuRw9UhJ.js";import{C as D,b as T,c as ts,a as q}from"./card-B2Wqa0sK.js";import{I as C}from"./input-C9Xfv8um.js";import{B as E}from"./badge-CeS-g-Od.js";import{L as y}from"./label-DvRDtaMA.js";import{S as es,a as as,b as ns,c as os,d as cs}from"./select-KDzbUQs3.js";import{S as Hs}from"./switch--ZaqVsRJ.js";import{d as U}from"./dashboard-H9WVvG1k.js";import{a as Vs}from"./alert-Bnyn6ibM.js";import{a as Ks}from"./agent-CTqsAA8l.js";import{a as $}from"./ai-CnRvgCA9.js";import{C as Gs}from"./circle-check-C5nUiTvE.js";import{F as hs}from"./file-text-BqORyhNh.js";import{T as Ws}from"./trending-up-C97I6AeO.js";import{R as Qs}from"./rotate-cw-Dt34Qj6N.js";import{M as Js}from"./message-square-D6FQV-gp.js";import{S as Xs}from"./square-DC6JUotK.js";import{W as Ys}from"./wifi-DF9mrE-Q.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const Zs=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],st=_s("send",Zs);function tt(e,n=[]){let i=[];function r(a,d){const m=x.createContext(d);m.displayName=a+"Context";const l=i.length;i=[...i,d];const g=h=>{const{scope:u,children:c,...p}=h,A=u?.[e]?.[l]||m,j=x.useMemo(()=>p,Object.values(p));return s.jsx(A.Provider,{value:j,children:c})};g.displayName=a+"Provider";function v(h,u){const c=u?.[e]?.[l]||m,p=x.useContext(c);if(p)return p;if(d!==void 0)return d;throw new Error(`\`${h}\` must be used within \`${a}\``)}return[g,v]}const o=()=>{const a=i.map(d=>x.createContext(d));return function(m){const l=m?.[e]||a;return x.useMemo(()=>({[`__scope${e}`]:{...m,[e]:l}}),[m,l])}};return o.scopeName=e,[r,et(o,...n)]}function et(...e){const n=e[0];if(e.length===1)return n;const i=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){const d=r.reduce((m,{useScope:l,scopeName:g})=>{const h=l(a)[`__scope${g}`];return{...m,...h}},{});return x.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return i.scopeName=n.scopeName,i}var at=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],V=at.reduce((e,n)=>{const i=ks(`Primitive.${n}`),r=x.forwardRef((o,a)=>{const{asChild:d,...m}=o,l=d?i:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),s.jsx(l,{...m,ref:a})});return r.displayName=`Primitive.${n}`,{...e,[n]:r}},{}),B={exports:{}},z={};var rs;function nt(){if(rs)return z;rs=1;var e=Es();function n(h,u){return h===u&&(h!==0||1/h===1/u)||h!==h&&u!==u}var i=typeof Object.is=="function"?Object.is:n,r=e.useState,o=e.useEffect,a=e.useLayoutEffect,d=e.useDebugValue;function m(h,u){var c=u(),p=r({inst:{value:c,getSnapshot:u}}),A=p[0].inst,j=p[1];return a(function(){A.value=c,A.getSnapshot=u,l(A)&&j({inst:A})},[h,c,u]),o(function(){return l(A)&&j({inst:A}),h(function(){l(A)&&j({inst:A})})},[h]),d(c),c}function l(h){var u=h.getSnapshot;h=h.value;try{var c=u();return!i(h,c)}catch{return!0}}function g(h,u){return u()}var v=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?g:m;return z.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:v,z}var is;function ot(){return is||(is=1,B.exports=nt()),B.exports}var ct=ot();function rt(){return ct.useSyncExternalStore(it,()=>!0,()=>!1)}function it(){return()=>{}}var K="Avatar",[pt]=tt(K),[lt,us]=pt(K),As=x.forwardRef((e,n)=>{const{__scopeAvatar:i,...r}=e,[o,a]=x.useState("idle");return s.jsx(lt,{scope:i,imageLoadingStatus:o,onImageLoadingStatusChange:a,children:s.jsx(V.span,{...r,ref:n})})});As.displayName=K;var fs="AvatarImage",dt=x.forwardRef((e,n)=>{const{__scopeAvatar:i,src:r,onLoadingStatusChange:o=()=>{},...a}=e,d=us(fs,i),m=mt(r,a),l=Ls(g=>{o(g),d.onImageLoadingStatusChange(g)});return H(()=>{m!=="idle"&&l(m)},[m,l]),m==="loaded"?s.jsx(V.img,{...a,ref:n,src:r}):null});dt.displayName=fs;var gs="AvatarFallback",Is=x.forwardRef((e,n)=>{const{__scopeAvatar:i,delayMs:r,...o}=e,a=us(gs,i),[d,m]=x.useState(r===void 0);return x.useEffect(()=>{if(r!==void 0){const l=window.setTimeout(()=>m(!0),r);return()=>window.clearTimeout(l)}},[r]),d&&a.imageLoadingStatus!=="loaded"?s.jsx(V.span,{...o,ref:n}):null});Is.displayName=gs;function ps(e,n){return e?n?(e.src!==n&&(e.src=n),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}function mt(e,{referrerPolicy:n,crossOrigin:i}){const r=rt(),o=x.useRef(null),a=r?(o.current||(o.current=new window.Image),o.current):null,[d,m]=x.useState(()=>ps(a,e));return H(()=>{m(ps(a,e))},[a,e]),H(()=>{const l=h=>()=>{m(h)};if(!a)return;const g=l("loaded"),v=l("error");return a.addEventListener("load",g),a.addEventListener("error",v),n&&(a.referrerPolicy=n),typeof i=="string"&&(a.crossOrigin=Line truncated
|
||||
${i.join(`
|
||||
`)}`}async function ls(){const e=await Ks.getLatest(),n=Array.isArray(e)?e:e?.list||[];if(!n.length)return"(当前无 Agent 上报数据,可能未部署监控 Agent)";const i=n.slice(0,20).map((a,d)=>{const m=a.cpu_usage??"-",l=a.mem_usage??"-";return`${d+1}. ${a.hostname||"-"} | CPU:${m}% | 内存:${l}% (${a.mem_used??"-"}/${a.mem_total??"-"}GB) | 核数:${a.cpu_cores??"-"} | 上报:${(a.report_time||"").slice(0,16)}`}),r=n.filter(a=>(a.cpu_usage??0)>=80||(a.mem_usage??0)>=80),o=r.length?`
|
||||
⚠️ 高负载主机 ${r.length} 台:${r.map(a=>`${a.hostname}(CPU${a.cpu_usage}%/MEM${a.mem_usage}%)`).join("、")}`:"";return`Agent 监控的 ${n.length} 台主机实时指标:
|
||||
${i.join(`
|
||||
`)}${o}`}async function It(){const[e,n,i]=await Promise.all([U.getStats().catch(()=>null),U.getAlerts(10).catch(()=>null),U.getReleases(10).catch(()=>null)]),r=e||{},o=r.server_stats||{},a=r.kubernetes_stats||{},d=r.alert_stats||{},m=r.pipeline_stats||{},l=r.cost_stats||{},g=`服务器:${o.total??0}(运行${o.running??0}) | Kubernetes集群:${a.total??0} 节点:${a.total_nodes??0} Pod:${a.total_pods??0} | 告警:${d.total??0}(firing ${d.firing??0}) | 流水线:${m.total??0}(成功率${m.success_rate??0}%) | 本月成本:¥${l.month_cost??0}`,v=Array.isArray(n)?n:n?.list||[],h=Array.isArray(i)?i:i?.list||[],u=v.slice(0,10).map((p,A)=>`${A+1}.[${p.severity||"?"}|${p.status||"?"}] ${p.rule_name||"-"} → ${p.target||"-"}`),c=h.slice(0,10).map((p,A)=>`${A+1}.${p.app_name||"-"} ${p.version||""} [${p.environment||"-"}/${p.status||"-"}] by ${p.author||"-"}`);return`平台概览:${g}
|
||||
|
||||
最近告警:
|
||||
${u.join(`
|
||||
`)||"(无)"}
|
||||
|
||||
最近发布:
|
||||
${c.join(`
|
||||
`)||"(无)"}`}const vt=[{id:"alerts",name:"分析今日告警",icon:ms,prompt:"帮我分析以下最近的告警事件,给出根因分析和处置建议(按严重程度排序,给出具体处置步骤)",contextLoader:gt},{id:"performance",name:"性能瓶颈分析",icon:xs,prompt:"分析以下主机实时指标,找出 CPU/内存使用率最高的主机并给出性能优化建议",contextLoader:ls},{id:"report",name:"生成运维报告",icon:hs,prompt:"基于以下平台实时数据,生成一份简洁的今日运维报告,包括资源概览、告警情况和发布状态,用 Markdown 格式输出",contextLoader:It},{id:"optimize",name:"资源优化建议",icon:Ws,prompt:"根据以下主机资源使用数据,提供成本优化和容量规划建议(识别闲置/过载主机,给出缩容/扩容建议)",contextLoader:ls}];function jt(e){return new Date(e).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"})}function zt(){const[e,n]=x.useState([]),[i,r]=x.useState(""),[o,a]=x.useState(!1),d=x.useRef(null);x.useEffect(()=>()=>d.current?.abort(),[]);const[m,l]=x.useState(!1),[g,v]=x.useState(!1),[h,u]=x.useState(!1),[c,p]=x.useState(ft),[A,j]=x.useState(!1),[L,G]=x.useState(null),W=()=>{try{return crypto.randomUUID()}catch{}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{const I=Math.random()*16|0;return(t==="x"?I:I&3|8).toString(16)})},[Q,vs]=x.useState(()=>W()),J=x.useRef(null),js=()=>J.current?.scrollIntoView({behavior:"smooth"});x.useEffect(()=>{js()},[e]);const Os=async()=>{try{const t=await $.getConfig();p(t),j(!!(t.enabled&&t.configured))}catch{j(!1)}},bs=async()=>{try{const I=(await $.getHistory(Q))?.list||[];n(I.map(f=>({id:String(f.id),role:f.role,content:f.content,timestamp:f.created_at})))}catch{}};x.useEffect(()=>{Os(),bs()},[]);const Ns=t=>{const I=F.find(f=>f.id===t);p(f=>({...f,provider:t,endpoint:I?.defaultEndpoint||f.endpoint,model:I?.models[0]||f.model}))},Ss=async()=>{if(c.enabled&&!c.api_key&&c.provider!=="ollama"){w.error("请填写 API Key");return}v(!0);try{const t=await $.saveConfig(c);p(t),j(!!(t.enabled&&t.configured)),w.success("配置已保存"),l(!1)}catch(t){w.error(t instanceof Error?t.message:"保存失败")}finally{v(!1)}},ys=async()=>{u(!0);try{await $.testConnection(),w.success("LLM 服务连接成功")}catch(t){w.error(t instanceof Error?t.message:"连接失败")}finally{u(!1)}},X=async t=>{const I={id:Date.now().toString(),role:"user",content:t,timestamp:new Date().toISOString()},f=(Date.now()+1).toString(),$s=[...e,I,{id:f,role:"assistant",content:"",timestamp:new Date().toISOString()}];n($s),a(!0);const M=new AbortController;d.current=M;let P=!1;try{const _=[...e,I].slice(-10).map(O=>({role:O.role,content:O.content}));await $.chatStream(_,O=>{P=!0,n(S=>S.map(b=>b.id===f?{...b,content:b.content+O}:b))},M.signal,Q)}catch(_){if(M.signal.aborted)n(O=>O.map(S=>S.id===f?{...S,content:S.content||"(已停止生成)",isStopped:!0}:S));else{const O=_ instanceof Error?_.message:"对话失败";n(S=>S.map(b=>b.id===f?{...b,content:P?b.content+`
|
||||
|
||||
⚠️ ${O}`:`⚠️ ${O}`,isError:!P}:b))}}finally{a(!1),d.current=null}},Y=async()=>{const t=i.trim();!t||o||(r(""),await X(t))},ws=async t=>{if(o||L)return;if(!A||!t.contextLoader){r(t.prompt);return}G(t.id);let I="";try{I=await t.contextLoader()}catch{I="(平台数据加载失败,请稍后重试或检查后端服务)"}finally{G(null)}const f=`${t.prompt}
|
||||
|
||||
【平台实时数据】
|
||||
${I}`;await X(f)},Cs=async()=>{try{await $.clearHistory()}catch{}const t=W();vs(t),n([]),r(""),w.success("已开始新对话")},R=F.find(t=>t.id===c.provider);return s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:370:5",className:"space-y-6",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:372:7",className:"flex items-center justify-between",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:373:9",className:"flex items-center gap-3",children:[s.jsx("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:374:11",className:"w-10 h-10 rounded-lg bg-gradient-to-br from-purple-500 to-pink-500 flex items-center justify-center",children:s.jsx(Rs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:375:13",className:"h-5 w-5 text-white"})}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:377:11",children:[s.jsx("h1",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:378:13",className:"text-2xl font-bold text-slate-100",children:"AIOps 智能助手"}),s.jsx("p",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:379:13",className:"text-sm text-slate-500",children:"AI 驱动的智能运维助手"})]})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:382:9",className:"flex items-center gap-3",children:[A?s.jsxs(E,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:384:13",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[s.jsx(Gs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:385:15",className:"h-3 w-3 mr-1"}),c.model]}):s.jsx(E,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:389:13",variant:"outline",className:"border-amber-500/30 text-amber-400 bg-amber-500/10",children:"未配置"}),s.jsxs(N,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:393:11",variant:"outline",className:"border-slate-700 text-slate-300",onClick:()=>l(!0),children:[s.jsx(Z,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:394:13",className:"h-4 w-4 mr-2"}),"模型配置"]})]})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:400:7",className:"grid grid-cols-4 gap-6 h-[calc(100vh-200px)]",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:402:9",className:"col-span-1 space-y-4",children:[s.jsxs(D,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:403:11",className:"bg-slate-800 border-slate-700",children:[s.jsx(T,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:404:13",className:"pb-3",children:s.jsx(ts,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:405:15",className:"text-sm text-slate-300",children:"快速操作"})}),s.jsx(q,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:407:13",className:"space-y-2",children:vt.map(t=>s.jsxs(N,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:409:17",variant:"ghost",className:"w-full justify-start text-slate-300 hover:text-slate-100 hover:bg-slate-700",disabled:o||L!==null,onClick:()=>ws(t),children:[L===t.id?s.jsx(k,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:417:21",className:"h-4 w-4 mr-2 shrink-0 animate-spin"}):s.jsx(t.icon,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:419:21",className:"h-4 w-4 mr-2 shrink-0"}),s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:421:19",className:"text-sm",children:t.name}),A&&t.contextLoader&&s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:423:21",className:"ml-auto text-[10px] text-emerald-400/60 shrink-0",children:"实时"})]},t.id))})]}),s.jsxs(D,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:430:11",className:"bg-slate-800 border-slate-700",children:[s.jsx(T,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:431:13",className:"pb-3",children:s.jsx(ts,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:432:15",className:"text-sm text-slate-300",children:"能力展示"})}),s.jsxs(q,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:434:13",className:"space-y-3",children:[s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:435:15",className:"flex items-center gap-2 text-sm text-slate-400",children:[s.jsx(ms,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:436:17",className:"h-4 w-4 text-amber-400"}),s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:437:17",children:"智能告警分析"})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:439:15",className:"flex items-center gap-2 text-sm text-slate-400",children:[s.jsx(xs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:440:17",className:"h-4 w-4 text-blue-400"}),s.jsx("span",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:441:17",children:"性能瓶颈识别"})]}),s.jsxs("div",{"code-path":"src/components/aiops/AIOpsAssistant.tsx:443:15",className:"flex items-center gap-2 text-sm text-slate-400",children:[s.jsx(hs,{"code-path":"src/components/aiops/AIOpsAssistant.tsx:444:17",className:"h-4 w-4 text-emerald-400"}),s.jsx("
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as G,j as e,L as U,E as q,r as g,aP as J,B as Q,A as ee,K as se,T as $,p as te,N as ce}from"./index-HuRw9UhJ.js";import{C as F,b as K,c as B,a as H}from"./card-B2Wqa0sK.js";import{S as ae}from"./stat-strip-CVviXwc6.js";import{B as Z}from"./badge-CeS-g-Od.js";import{T as ie,a as ne,b as L,c as D}from"./tabs-XYsjnHzX.js";import{S as re,a as oe,b as le,c as de,d as S}from"./select-KDzbUQs3.js";import{d as pe}from"./dashboard-H9WVvG1k.js";import{s as me}from"./server-BQNr9a-x.js";import{a as z}from"./alert-Bnyn6ibM.js";import{H as X}from"./hard-drive-laLCm9TI.js";import{Z as Y}from"./zap-CS68N0Jd.js";import{C as xe}from"./calendar-DY9lnH9R.js";import{T as W}from"./trending-up-C97I6AeO.js";import{S as he}from"./sparkles-DEwze8TU.js";import{M as ye}from"./memory-stick-CLkdveMl.js";import{M as ve}from"./minus-BLAorVC4.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const Ae=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]],ue=G("chart-line",Ae);const be=[["path",{d:"M16 17h6v-6",key:"t6n2it"}],["path",{d:"m22 17-8.5-8.5-5 5L2 7",key:"x473p"}]],je=G("trending-down",be);function Pe({forecasts:a,loading:i}){return e.jsxs(F,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:14:5",className:"bg-slate-800 border-slate-700",children:[e.jsx(K,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:15:7",className:"pb-3",children:e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:16:9",className:"flex items-center justify-between",children:[e.jsxs(B,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:17:11",className:"text-slate-100 flex items-center gap-2",children:[e.jsx(X,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:18:13",className:"h-5 w-5 text-amber-400"}),"容量规划预警"]}),e.jsx("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:21:11",className:"text-xs text-slate-500",children:"基于日均增长率推算阈值触及时间"})]})}),e.jsx(H,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:24:7",children:i?e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:26:11",className:"flex items-center justify-center py-12 text-slate-500",children:[e.jsx(U,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:27:13",className:"h-5 w-5 animate-spin mr-2"})," 加载容量数据..."]}):a.length===0?e.jsx("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:30:11",className:"text-center py-12 text-slate-500",children:"暂无容量数据"}):e.jsx("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:32:11",className:"space-y-4",children:a.map((c,p)=>e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:34:15",className:"p-4 rounded-lg border border-slate-700 bg-slate-800/50",children:[e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:35:17",className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:36:19",className:"flex items-center gap-2",children:[e.jsx(q,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:37:21",className:"h-5 w-5 text-blue-400"}),e.jsx("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:38:21",className:"font-medium text-slate-200",children:c.resource})]}),e.jsx(Z,{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:40:19",variant:"outline",className:c.daysUntilThreshold<=7?"border-red-500/30 text-red-400 bg-red-500/10":c.daysUntilThreshold<=14?"border-amber-500/30 text-amber-400 bg-amber-500/10":"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:c.daysUntilThreshold<=7?"紧急":c.daysUntilThreshold<=14?"警告":"正常"})]}),e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:58:17",className:"mb-4",children:[e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:59:19",className:"flex items-center justify-between text-sm mb-1",children:[e.jsx("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:60:21",className:"text-slate-400",children:"7天使用率预测"}),e.jsx("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:61:21",className:"text-slate-400",children:c.daysUntilThreshold>=999?"增长平缓,暂无触顶风险":e.jsxs(e.Fragment,{children:["预计"," ",e.jsxs("span",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:67:27",className:"text-amber-400 font-medium",children:[c.daysUntilThreshold,"天"]})," ","后达到阈值"]})})]}),e.jsx("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:73:19",className:"h-3 bg-slate-700 rounded-full overflow-hidden",children:e.jsxs("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:74:21",className:"flex h-full",children:[e.jsx("div",{"code-path":"src/components/aiops/PredictiveCapacityTab.tsx:75:23",className:"bg-blue-500",style:{width:`${c.currentUsage}%`}})Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as Oe,j as e,I as st,T as Le,a6 as ot,Q as ze,U as ct,D as V,a as H,b as U,c as Q,d as Y,e as ie,B as d,O as Ge,o as at,r as s,t as l,f as $e,C as lt,P as it,au as mt}from"./index-HuRw9UhJ.js";import{I as E}from"./input-C9Xfv8um.js";import{B as v}from"./badge-CeS-g-Od.js";import{C as F,a as J,b as Te,c as _e}from"./card-B2Wqa0sK.js";import{S as dt}from"./stat-strip-CVviXwc6.js";import{S as se,a as oe,b as ce,c as ae,d as _}from"./select-KDzbUQs3.js";import{T as pt,a as xt,b as P,c as W}from"./tabs-XYsjnHzX.js";import{S as Ie}from"./switch--ZaqVsRJ.js";import{a as O}from"./alert-Bnyn6ibM.js";import{a as R}from"./alert-center-BbLaFZ2d.js";import{a as ge}from"./agent-CTqsAA8l.js";import{Z as ht}from"./zap-CS68N0Jd.js";import{L as j}from"./label-DvRDtaMA.js";import{A as ut}from"./AlertRuleDialog-prj74zKK.js";import{T as gt}from"./textarea-Bzol9o6k.js";import{R as re}from"./refresh-cw-CSycAyA2.js";import{P as ne}from"./plus-BVwIGPvl.js";import{C as jt}from"./calendar-DY9lnH9R.js";import{S as Ct}from"./square-pen-DoCLytAo.js";import{T as ft}from"./trash-2-Cf9-88KL.js";import{S as vt}from"./search-CcKEpJIn.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";import"./message-square-D6FQV-gp.js";import"./phone-xS_7A3bu.js";const At=[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]],Nt=Oe("repeat",At);const yt=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]],le=Oe("volume-x",yt);function wt(r){return{id:String(r.id),title:r.rule_name||r.title||`告警 #${r.id}`,description:r.message||r.description||"",severity:r.severity||"info",status:r.status||"firing",source:r.target||r.source||"",service:r.service||"",metric:r.metric||"",value:r.value||0,threshold:r.threshold||0,startedAt:r.started_at||r.startedAt||r.created_at||new Date().toISOString(),resolvedAt:r.resolved_at||r.resolvedAt,labels:typeof r.labels=="string"?(()=>{try{return JSON.parse(r.labels||"{}")}catch{return{}}})():r.labels||{},annotations:typeof r.annotations=="string"?(()=>{try{return JSON.parse(r.annotations||"{}")}catch{return{}}})():r.annotations||{}}}function je(r){switch(r){case"critical":return e.jsxs(v,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:106:14",variant:"destructive",className:"gap-1",children:[e.jsx(ot,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:106:61",className:"w-3 h-3"}),"严重"]});case"warning":return e.jsxs(v,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:108:14",variant:"default",className:"bg-orange-500 gap-1",children:[e.jsx(Le,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:108:71",className:"w-3 h-3"}),"警告"]});case"info":return e.jsxs(v,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:110:14",variant:"default",className:"bg-blue-500 gap-1",children:[e.jsx(st,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:110:69",className:"w-3 h-3"}),"信息"]});default:return e.jsx(v,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:112:14",variant:"secondary",children:"未知"})}}function bt(r){switch(r){case"firing":return e.jsxs(v,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:120:14",variant:"destructive",className:"gap-1 animate-pulse",children:[e.jsx(ht,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:120:75",className:"w-3 h-3"}),"触发中"]});case"acknowledged":return e.jsxs(v,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:122:14",variant:"default",className:"bg-yellow-500 gap-1",children:[e.jsx(ct,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:122:71",className:"w-3 h-3"}),"已确认"]});case"resolved":return e.jsxs(v,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:124:14",variant:"default",className:"bg-green-500 gap-1",children:[e.jsx(ze,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:124:70",className:"w-3 h-3"}),"已解决"]});case"suppressed":return e.jsxs(v,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:126:14",variant:"secondary",className:"gap-1",children:[e.jsx(le,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:126:59",className:"w-3 h-3"}),"已静默"]});default:return e.jsx(v,{"code-path":"src/components/monitor/alert-center/alert-center-helpers.tsx:128:14",variant:"secondary",children:"未知"})}}function St(r){return{dingtalk:"钉钉",wechat:"企业微信",feishu:"飞书",email:"邮件",sms:"Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{f as _,r as l,j as e,L as O,B as A,Q as W,J as Y,T as z,z as $,t as E,D as ee,a as te,b as se,c as oe,d as ae,e as ne,C as re}from"./index-HuRw9UhJ.js";import{C as w,a as M,b as ce,c as le,d as ie}from"./card-B2Wqa0sK.js";import{T as me,a as de,b as H,c as I}from"./tabs-XYsjnHzX.js";import{a as g}from"./alert-Bnyn6ibM.js";import{I as J}from"./input-C9Xfv8um.js";import{B as f}from"./badge-CeS-g-Od.js";import{T as X,a as V,b as R,c as i,d as q,e as c}from"./table-Du1vU-OM.js";import{S as xe}from"./search-CcKEpJIn.js";import{S as B}from"./switch--ZaqVsRJ.js";import{C as G}from"./checkbox-B7nWBaO4.js";import{r as pe,g as he,C as K,A as ge}from"./AlertRuleDialog-prj74zKK.js";import{T as P}from"./trash-2-Cf9-88KL.js";import{L as D}from"./label-DvRDtaMA.js";import{T as be}from"./textarea-Bzol9o6k.js";import{P as U}from"./plus-BVwIGPvl.js";import{R as Ae,C as je,X as ue,Y as Ne,T as ve}from"./generateCategoricalChart-DrSMejeS.js";import{A as fe,a as Q}from"./AreaChart-CTVvt9LZ.js";import"./index-DwvHXNyF.js";import"./message-square-D6FQV-gp.js";import"./phone-xS_7A3bu.js";function Te({alerts:m,loading:T,onReload:d}){_();const[p,u]=l.useState(""),[o,h]=l.useState("all"),[b,C]=l.useState("all"),j=m.filter(t=>{const r=(t.rule&&t.rule.name||t.message||"").toLowerCase().includes(p.toLowerCase())||(t.target||"").toLowerCase().includes(p.toLowerCase()),N=o==="all"||t.severity===o,v=b==="all"||t.status===b;return r&&N&&v}),y=t=>{switch(t){case"critical":return e.jsxs(f,{"code-path":"src/components/monitor/AlertEventsTab.tsx:45:11",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:[e.jsx(z,{"code-path":"src/components/monitor/AlertEventsTab.tsx:46:13",className:"h-3 w-3 mr-1"}),"严重"]});case"warning":return e.jsxs(f,{"code-path":"src/components/monitor/AlertEventsTab.tsx:52:11",variant:"outline",className:"border-amber-500/30 text-amber-400 bg-amber-500/10",children:[e.jsx(z,{"code-path":"src/components/monitor/AlertEventsTab.tsx:53:13",className:"h-3 w-3 mr-1"}),"警告"]});case"info":return e.jsxs(f,{"code-path":"src/components/monitor/AlertEventsTab.tsx:59:11",variant:"outline",className:"border-blue-500/30 text-blue-400 bg-blue-500/10",children:[e.jsx(Y,{"code-path":"src/components/monitor/AlertEventsTab.tsx:60:13",className:"h-3 w-3 mr-1"}),"提示"]});default:return null}},a=t=>{switch(t){case"firing":return e.jsx(f,{"code-path":"src/components/monitor/AlertEventsTab.tsx:73:11",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10 animate-pulse",children:"触发中"});case"resolved":return e.jsx(f,{"code-path":"src/components/monitor/AlertEventsTab.tsx:79:11",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:"已恢复"});default:return null}},x=async t=>{try{await g.acknowledge(t),d()}catch(r){console.error("Failed to acknowledge alert:",r)}};return e.jsxs("div",{"code-path":"src/components/monitor/AlertEventsTab.tsx:98:5",className:"mt-4 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/monitor/AlertEventsTab.tsx:100:7",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/components/monitor/AlertEventsTab.tsx:101:9",className:"relative w-64",children:[e.jsx(xe,{"code-path":"src/components/monitor/AlertEventsTab.tsx:102:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(J,{"code-path":"src/components/monitor/AlertEventsTab.tsx:103:11",placeholder:"搜索告警名称或目标...",value:p,onChange:t=>u(t.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500"})]}),e.jsxs("select",{"code-path":"src/components/monitor/AlertEventsTab.tsx:110:9",value:o,onChange:t=>h(t.target.value),className:"h-9 px-3 rounded-md bg-slate-800/50 border border-slate-700 text-slate-200 text-sm",children:[e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:115:11",value:"all",children:"全部级别"}),e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:116:11",value:"critical",children:"严重"}),e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:117:11",value:"warning",children:"警告"}),e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:118:11",value:"info",children:"提示"})]}),e.jsxs("select",{"code-path":"src/components/monitor/AlertEventsTab.tsx:120:9",value:b,onChange:t=>C(t.target.value),className:"h-9 px-3 rounded-md bg-slate-800/50 border border-slate-700 text-slate-200 text-sm",children:[e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:125:11",value:"all",children:"全部状态"}),e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:126:11",value:"firing",children:"触发中"}),e.jsx("option",{"code-path":"src/components/monitor/AlertEventsTab.tsx:127:11",value:"resolved",children:"已恢复"})]})]}),e.jsx(w,{"code-path":"src/components/monitor/AlertEventsTab.tsx:132:7"Line truncated
|
||||
@@ -0,0 +1,14 @@
|
||||
import{j as e,J as R,r as d,D as v,a as w,b as k,c as S,d as _,e as C,B as g,L}from"./index-HuRw9UhJ.js";import{I as x}from"./input-C9Xfv8um.js";import{L as n}from"./label-DvRDtaMA.js";import{T as E}from"./textarea-Bzol9o6k.js";import{S as P}from"./switch--ZaqVsRJ.js";import{a as A}from"./alert-Bnyn6ibM.js";import{M as T}from"./message-square-D6FQV-gp.js";import{P as I,M as B}from"./phone-xS_7A3bu.js";function D(o){if(!o)return[];if(Array.isArray(o))return o;if(typeof o=="string"){try{const r=JSON.parse(o);if(Array.isArray(r))return r}catch{}return o.split(",").map(r=>r.trim()).filter(Boolean)}return[]}const F=["email","sms","dingtalk","wechat","webhook"],q={dingtalk:"钉钉",wechat:"企业微信",email:"邮件",sms:"短信",webhook:"Webhook"};function H(o,r){if(!o)return null;const a=r.find(c=>String(c.id)===String(o));return a?{type:a.type||"unknown",name:a.name||a.type||"未命名",isLegacy:!1}:F.includes(o)?{type:o,name:q[o]||o,isLegacy:!0}:null}const M=[{key:"dingtalk",label:"钉钉",placeholder:`{
|
||||
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=***",
|
||||
"secret": "SECxxx"
|
||||
}`},{key:"wechat",label:"企业微信",placeholder:`{
|
||||
"webhook": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=***"
|
||||
}`},{key:"email",label:"邮件",placeholder:`{
|
||||
"to": "ops@ezops.io",
|
||||
"subject": "告警通知"
|
||||
}`},{key:"sms",label:"短信",placeholder:`{
|
||||
"phones": "13800138000",
|
||||
"sign": "AIOps"
|
||||
}`},{key:"webhook",label:"Webhook",placeholder:`{
|
||||
"url": "https://example.com/alert"
|
||||
}`}];function y(o){return M.find(r=>r.key===o)?.label||o}function j(o){switch(o){case"email":return B;case"sms":return I;case"dingtalk":case"wechat":return T;default:return R}}function U(o,r){const a=D(o.notify_channels);return a.length===0?e.jsx("span",{"code-path":"src/components/monitor/alertShared.tsx:76:33",className:"text-xs text-slate-600",children:"--"}):e.jsx("div",{"code-path":"src/components/monitor/alertShared.tsx:78:5",className:"flex flex-wrap gap-1",children:a.map(c=>{const i=H(c,r);if(!i)return null;const t=j(i.type);return e.jsxs("span",{"code-path":"src/components/monitor/alertShared.tsx:84:11",title:`${i.name} (${y(i.type)})`,className:"inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded bg-slate-800 text-slate-300",children:[e.jsx(t,{"code-path":"src/components/monitor/alertShared.tsx:89:13",className:"h-3 w-3 text-slate-400"}),i.name]},c)})})}const b={name:"",description:"",type:"metric",source:"prometheus",expression:"",severity:"warning",duration:300,notify_channels:[]};function Z({open:o,onOpenChange:r,editingRule:a,notifyChannels:c,onSaved:i}){const[t,l]=d.useState({...b}),[h,u]=d.useState(!1);d.useEffect(()=>{o&&l(a?{name:a.name||"",description:a.description||"",type:a.type||"metric",source:a.source||"prometheus",expression:a.expression||"",severity:a.severity||"warning",duration:a.duration||300,notify_channels:D(a.notify_channels)}:{...b})},[o,a]);const f=s=>{l(m=>({...m,notify_channels:m.notify_channels.includes(s)?m.notify_channels.filter(p=>p!==s):[...m.notify_channels,s]}))},N=async()=>{if(!(!t.name.trim()||!t.expression.trim())){u(!0);try{const s={name:t.name.trim(),description:t.description.trim(),type:t.type,source:t.source,expression:t.expression.trim(),severity:t.severity,duration:Number(t.duration)||0,notify_channels:t.notify_channels};a?await A.updateRule(a.id,s):await A.createRule(s),r(!1),i()}catch(s){console.error("Failed to save rule:",s)}finally{u(!1)}}};return e.jsx(v,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:103:5",open:o,onOpenChange:r,children:e.jsxs(w,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:104:7",className:"bg-slate-900 border-slate-700 text-slate-100 max-w-lg",children:[e.jsxs(k,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:105:9",children:[e.jsx(S,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:106:11",className:"text-slate-100",children:a?"编辑告警规则":"新建告警规则"}),e.jsx(_,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:109:11",className:"text-slate-500",children:a?"修改告警规则的触发条件和通知方式":"配置监控指标的告警触发条件"})]}),e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:114:9",className:"space-y-4 max-h-[60vh] overflow-y-auto pr-1",children:[e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:115:11",className:"space-y-1.5",children:[e.jsxs(n,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:116:13",className:"text-slate-300",children:["规则名称 ",e.jsx("span",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:116:52",className:"text-red-400",children:"*"})]}),e.jsx(x,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:117:13",value:t.name,onChange:s=>l({...t,name:s.target.value}),placeholder:"如:CPU 使用率告警",className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-600"})]}),e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:125:11",className:"space-y-1.5",children:[e.jsx(n,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:126:13",className:"text-slate-300",children:"描述"}),e.jsx(E,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:127:13",value:t.description,onChange:s=>l({...t,description:s.target.value}),placeholder:"规则说明",rows:2,className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-600 resize-none"})]}),e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:136:11",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:137:13",className:"space-y-1.5",children:[e.jsx(n,{"code-path":"src/components/monitor/AlertRuleDialog.tsx:138:15",className:"text-slate-300",children:"规则类型"}),e.jsxs("select",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:139:15",value:t.type,onChange:s=>l({...t,type:s.target.value}),className:"w-full h-9 px-3 rounded-md bg-slate-800/50 border border-slate-700 text-slate-200 text-sm",children:[e.jsx("option",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:144:17",value:"metric",children:"指标监控"}),e.jsx("option",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:145:17",value:"log",children:"日志告警"}),e.jsx("option",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:146:17",value:"event",children:"事件告警"})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/AlertRuleDialog.tsx:149:13",className:"space-y-1.5",chi
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{j as e}from"./index-HuRw9UhJ.js";import{A as t}from"./ApprovalCategoryPage-DAN5ugD6.js";import"./card-B2Wqa0sK.js";import"./input-C9Xfv8um.js";import"./badge-CeS-g-Od.js";import"./label-DvRDtaMA.js";import"./table-Du1vU-OM.js";import"./select-KDzbUQs3.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";import"./approval-BpnRjDXJ.js";import"./plus-BVwIGPvl.js";import"./search-CcKEpJIn.js";import"./refresh-cw-CSycAyA2.js";import"./file-text-BqORyhNh.js";import"./circle-x-BVvXVx7p.js";import"./play-BXdOitsb.js";const r=[{key:"app_name",label:"应用名称",type:"text",placeholder:"如 user-service",required:!0},{key:"git_url",label:"Git 地址",type:"text",placeholder:"如 https://github.com/org/repo.git",required:!0},{key:"branch",label:"分支",type:"text",defaultValue:"main",required:!0},{key:"language",label:"开发语言",type:"select",options:["Java","Go","Python","Node.js","C++"],required:!0},{key:"http_port",label:"HTTP 端口",type:"number",placeholder:"如 8080"},{key:"env",label:"部署环境",type:"select",options:["dev","staging","prod"],required:!0},{key:"replicas",label:"副本数",type:"number",defaultValue:2,required:!0},{key:"remark",label:"备注",type:"textarea"}];function v(){return e.jsx(t,{"code-path":"src/pages/ApprovalAppPage.tsx:17:5",category:"app",title:"应用申请",description:"申请应用部署、版本发布、流水线配置",fields:r,templateCode:"app_deploy"})}export{v as ApprovalAppPage};
|
||||
@@ -0,0 +1 @@
|
||||
import{r as c,j as e,B as x,L as H,X as I,O as B,P as de,D as M,a as W,b as Y,c as Z,d as ee,C as xe,Q as ne,t as l,U as he,o as ie}from"./index-HuRw9UhJ.js";import{C as ve,a as me}from"./card-B2Wqa0sK.js";import{I as q}from"./input-C9Xfv8um.js";import{B as z}from"./badge-CeS-g-Od.js";import{L as ye}from"./label-DvRDtaMA.js";import{T as ue,a as Ce,b as J,c as N,d as je,e as f}from"./table-Du1vU-OM.js";import{S as U,a as X,b as K,c as Q,d as w}from"./select-KDzbUQs3.js";import{b as h}from"./approval-BpnRjDXJ.js";import{P as Pe}from"./plus-BVwIGPvl.js";import{S as Ae}from"./search-CcKEpJIn.js";import{R as be}from"./refresh-cw-CSycAyA2.js";import{F as Ne}from"./file-text-BqORyhNh.js";import{C as fe}from"./circle-x-BVvXVx7p.js";import{P as we}from"./play-BXdOitsb.js";const ae=t=>{switch(t){case"approved":return e.jsxs(z,{"code-path":"src/pages/ApprovalCategoryPage.tsx:43:29",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:[e.jsx(ne,{"code-path":"src/pages/ApprovalCategoryPage.tsx:43:105",className:"h-3 w-3 mr-1"}),"已通过"]});case"rejected":return e.jsxs(z,{"code-path":"src/pages/ApprovalCategoryPage.tsx:44:29",className:"bg-red-500/20 text-red-400 border-red-500/30",children:[e.jsx(fe,{"code-path":"src/pages/ApprovalCategoryPage.tsx:44:93",className:"h-3 w-3 mr-1"}),"已拒绝"]});default:return e.jsxs(z,{"code-path":"src/pages/ApprovalCategoryPage.tsx:45:21",className:"bg-amber-500/20 text-amber-400 border-amber-500/30",children:[e.jsx(xe,{"code-path":"src/pages/ApprovalCategoryPage.tsx:45:91",className:"h-3 w-3 mr-1"}),"审批中"]})}};function G(t){try{return JSON.parse(t)||{}}catch{return{}}}function se(t){const p=t?.applicant_user;return p?p.real_name||p.username||`#${t.applicant}`:t?.applicant?`#${t.applicant}`:"--"}function ke(t){if(t.status!=="pending")return"--";const p=t.steps||[];if(p.length===0)return"管理员(待分配)";const d=p.find(g=>g.step===t.current_step&&g.status==="pending");return d?d.approver_user?d.approver_user.real_name||d.approver_user.username||`#${d.approver}`:"管理员":"管理员(待分配)"}function qe({category:t,title:p,description:d,fields:g,templateCode:C}){const[y,j]=c.useState([]),[k,_]=c.useState(!0),[P,S]=c.useState(""),[i,D]=c.useState(""),[s,o]=c.useState(!1),[n,A]=c.useState(!1),[$,F]=c.useState(null),[v,b]=c.useState({}),[te,L]=c.useState(null),[E,T]=c.useState(!1),m=c.useCallback(async()=>{_(!0);try{const a={page_size:"100"};t&&(a.category=t),i&&(a.status=i);const r=await h.getProcesses(a);j(r?.list??r?.data?.list??[])}catch{j([])}finally{_(!1)}},[t,i]),O=c.useCallback(async()=>{try{const a=await h.getTemplates({type:C}),r=a?.list??a?.data?.list??[];r.length>0&&F(r[0].id)}catch{}},[C]);c.useEffect(()=>{m()},[m]),c.useEffect(()=>{O()},[O]);const re=async()=>{if(!$){l.error("模板未加载");return}for(const a of g)if(a.required&&!v[a.key]){l.error(`请填写「${a.label}」`);return}A(!0);try{const a=v[g[0]?.key]||"",r=g[1]&&v[g[1].key]||"";await h.createProcess({template_id:$,title:`${p} - ${a}${r?" / "+r:""}`,form_data:JSON.stringify(v)}),l.success("申请已提交"),o(!1),b({}),m()}catch(a){l.error(a?.message||"提交失败")}finally{A(!1)}},R=()=>{const a={};g.forEach(r=>{a[r.key]=r.defaultValue?.toString()||""}),b(a),o(!0)},pe=async a=>{T(!0);try{await h.approveProcess(a),l.success("已通过"),m()}catch(r){l.error(r?.response?.data?.message||"审批失败")}finally{T(!1)}},ce=async a=>{T(!0);try{await h.rejectProcess(a,"审批拒绝"),l.success("已拒绝"),m()}catch(r){l.error(r?.response?.data?.message||"操作失败")}finally{T(!1)}},oe=async a=>{try{const r=await h.getProcesses({page_size:200}),ge=(r?.list??r?.data?.list??[]).find(le=>le.id===a.id);L(ge||a)}catch{L(a)}},V=y.filter(a=>!P||(a.title||"").toLowerCase().includes(P.toLowerCase()));return e.jsxs("div",{"code-path":"src/pages/ApprovalCategoryPage.tsx:154:5",className:"space-y-5",children:[e.jsxs("div",{"code-path":"src/pages/ApprovalCategoryPage.tsx:155:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/pages/ApprovalCategoryPage.tsx:156:9",children:[e.jsx("h1",{"code-path":"src/pages/ApprovalCategoryPage.tsx:157:11",className:"text-2xl font-bold text-[var(--dg-text-primary)]",children:p}),e.jsx("p",{"code-path":"src/pages/ApprovalCategoryPage.tsx:158:11",className:"text-sm text-[var(--dg-text-secondary)] mt-1",children:d})]}),e.jsxs(x,{"code-path":"src/pages/ApprovalCategoryPage.tsx:160:9",onClick:R,className:"bg-[var(--dg-blue)] hover:bg-[var(--dg-blue)]/90",children:[e.jsx(Pe,{"code-path":"src/pages/ApprovalCategoryPage.tsx:161:11",className:"h-4 w-4 mr-2"}),"新建申请"]})]}),e.jsxs("div",{"code-path":"src/pages/ApprovalCategoryPage.tsx:165:7",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/pages/ApprovalCategoryPage.tsx:166:9",className:"relative w-64",children:[e.jsx(Ae,{"code-path":"src/pages/ApprovalCategoryPage.tsx:167:11",className:"absolute left-3 top-1/2 -translLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as ye,S as Ne,j as e,a0 as b,L as $,B as i,P as we,V as oe,D as M,a as J,b as q,c as H,d as G,C as pe,e as Q,r as v,t as T}from"./index-HuRw9UhJ.js";import{C as u,a as j,b as fe,c as Te,d as De}from"./card-B2Wqa0sK.js";import{B as C}from"./badge-CeS-g-Od.js";import{T as le}from"./textarea-Bzol9o6k.js";import{b as k}from"./approval-BpnRjDXJ.js";import{I as ce}from"./input-C9Xfv8um.js";import{F as _}from"./file-text-BqORyhNh.js";import{C as D}from"./circle-check-C5nUiTvE.js";import{C as F}from"./circle-x-BVvXVx7p.js";import{S as Fe}from"./search-CcKEpJIn.js";import{F as Ce}from"./funnel-D7YDgUpE.js";import{S as Pe}from"./square-pen-DoCLytAo.js";import{A as Se}from"./arrow-right-C1YbOgFu.js";import{L as ke}from"./label-DvRDtaMA.js";import{S as _e,a as Le,b as Oe,c as Ie,d as $e}from"./select-KDzbUQs3.js";import{P as ze}from"./plus-BVwIGPvl.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const Re=[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]],Be=ye("git-commit-horizontal",Re);function Ee(a){if(Array.isArray(a))return a;if(typeof a=="string")try{const s=JSON.parse(a);return Array.isArray(s)?s:[]}catch{return[]}return[]}function I(a){if(!a)return[];const s=typeof a=="string"?(()=>{try{return JSON.parse(a)}catch{return null}})():a;return s?Array.isArray(s.fields)?s.fields:[]:[]}function Ve(a,s){if(!a)return null;let r;try{r=typeof a=="string"?JSON.parse(a):a}catch{return null}if(!r||typeof r!="object")return null;const o=I(s?.form_schema),n=new Map;o.forEach(p=>n.set(p.key,p.label));const m=Object.entries(r).filter(([,p])=>p!=null&&p!=="");return m.length===0?null:e.jsx("div",{"code-path":"src/components/approval/helpers.tsx:53:5",className:"grid grid-cols-2 gap-x-4 gap-y-3",children:m.map(([p,d])=>e.jsxs("div",{"code-path":"src/components/approval/helpers.tsx:55:9",className:"min-w-0",children:[e.jsx("p",{"code-path":"src/components/approval/helpers.tsx:56:11",className:"text-xs text-[var(--dg-text-muted)] mb-0.5",children:n.get(p)||p}),e.jsx("p",{"code-path":"src/components/approval/helpers.tsx:57:11",className:"text-sm text-[var(--dg-text-primary)] break-words",children:String(d)})]},p))})}const z=[{value:"server_apply",label:"云服务器申请",icon:Ne,color:"var(--dg-cyan)"},{value:"app_deploy",label:"应用部署申请",icon:Be,color:"var(--dg-blue)"}],Y=a=>z.find(s=>s.value===a)?.label||a||"通用审批",L=a=>z.find(s=>s.value===a)?.color||"var(--dg-text-secondary)",Me=a=>z.find(s=>s.value===a)?.icon||_,A=a=>a?.template?.type||a?.type||"";function U(a){const s=Ee(a.steps),r=a.current_step??0,o=s.length,n=s.filter(p=>p.status==="approved"||p.status==="completed").length,m=o>0?Math.round(n/o*100):0;return{steps:s,currentIndex:r,total:o,completed:n,percentage:m}}function X(a){const{steps:s,currentIndex:r}=U(a);return s.length===0?null:e.jsx("div",{"code-path":"src/components/approval/helpers.tsx:99:5",className:"flex items-center gap-1 overflow-x-auto",children:s.map((o,n)=>{const m=o.status==="approved"||o.status==="completed",p=n===r,d=o.status==="rejected";return e.jsxs("div",{"code-path":"src/components/approval/helpers.tsx:105:11",className:"flex items-center",children:[e.jsxs("div",{"code-path":"src/components/approval/helpers.tsx:106:13",className:b("flex items-center gap-2 px-3 py-1.5 rounded-lg text-xs whitespace-nowrap",m&&"bg-emerald-500/10 text-emerald-400",p&&!d&&"bg-amber-500/10 text-amber-400 border border-amber-500/30",d&&"bg-red-500/10 text-red-400",!m&&!p&&!d&&"bg-[var(--dg-bg-tertiary)] text-[var(--dg-text-muted)]"),children:[m&&e.jsx(D,{"code-path":"src/components/approval/helpers.tsx:115:31",className:"h-3 w-3"}),d&&e.jsx(F,{"code-path":"src/components/approval/helpers.tsx:116:30",className:"h-3 w-3"}),p&&!d&&e.jsx($,{"code-path":"src/components/approval/helpers.tsx:117:44",className:"h-3 w-3 animate-spin"}),e.jsx("span",{"code-path":"src/components/approval/helpers.tsx:118:15",children:o.name||o.approver_name||`步骤 ${n+1}`})]}),n<s.length-1&&e.jsx("div",{"code-path":"src/components/approval/helpers.tsx:121:15",className:b("w-4 h-px",m?"bg-emerald-500/30":"bg-[var(--dg-border)]")})]},o.id||n)})})}const Je=[{key:"all",label:"全部",value:""},{key:"pending",label:"待审批",value:"pending"},{key:"approved",label:"已通过",value:"approved"},{key:"rejected",label:"已拒绝",value:"rejected"},{key:"processing",label:"进行中",value:"processing"},{key:"completed",label:"已完成",value:"completed"}];function qe(a){const s={pending:{label:"待审批",className:"border-amber-500/30 text-amber-400 bg-amber-500/10",dot:"bg-amber-400"},approved:{label:"已通过",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",dot:"bg-emerald-400"},rejected:{label:"已拒绝",className:"border-red-500/30 text-red-400 bg-red-500/10",dot:"bg-red-400"},processing:{label:"进行中",className:"border-[var(--dg-blue)]/30 text-[var(--dg-blue)] bg-[var(-Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{j as e}from"./index-HuRw9UhJ.js";import{A as r}from"./ApprovalCategoryPage-DAN5ugD6.js";import"./card-B2Wqa0sK.js";import"./input-C9Xfv8um.js";import"./badge-CeS-g-Od.js";import"./label-DvRDtaMA.js";import"./table-Du1vU-OM.js";import"./select-KDzbUQs3.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";import"./approval-BpnRjDXJ.js";import"./plus-BVwIGPvl.js";import"./search-CcKEpJIn.js";import"./refresh-cw-CSycAyA2.js";import"./file-text-BqORyhNh.js";import"./circle-x-BVvXVx7p.js";import"./play-BXdOitsb.js";const t=[{key:"perm_type",label:"权限类型",type:"select",options:["堡垒机权限","生产VPN权限","日志查询权限","数据库查询权限","服务器SSH权限","K8s集群权限"],required:!0},{key:"account",label:"申请账号",type:"text",placeholder:"如 logan.li",required:!0},{key:"reason",label:"申请理由",type:"textarea",placeholder:"说明为什么需要该权限",required:!0},{key:"duration",label:"权限时长",type:"select",options:["临时(24小时)","短期(7天)","中期(30天)","长期(90天)","永久"],required:!0}];function b(){return e.jsx(r,{"code-path":"src/pages/ApprovalPermissionPage.tsx:17:5",category:"permission",title:"权限审批",description:"申请堡垒机、VPN、日志查询、数据库查询等运维权限",fields:t,templateCode:"permission_request"})}export{b as ApprovalPermissionPage};
|
||||
@@ -0,0 +1 @@
|
||||
import{j as e}from"./index-HuRw9UhJ.js";import{A as r}from"./ApprovalCategoryPage-DAN5ugD6.js";import"./card-B2Wqa0sK.js";import"./input-C9Xfv8um.js";import"./badge-CeS-g-Od.js";import"./label-DvRDtaMA.js";import"./table-Du1vU-OM.js";import"./select-KDzbUQs3.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";import"./approval-BpnRjDXJ.js";import"./plus-BVwIGPvl.js";import"./search-CcKEpJIn.js";import"./refresh-cw-CSycAyA2.js";import"./file-text-BqORyhNh.js";import"./circle-x-BVvXVx7p.js";import"./play-BXdOitsb.js";const t=[{key:"provider",label:"云厂商",type:"select",options:["阿里云","腾讯云","华为云","AWS"],required:!0},{key:"region",label:"地域",type:"text",placeholder:"如 cn-hangzhou",required:!0},{key:"spec",label:"规格",type:"select",options:["2C4G","4C8G","8C16G","16C32G","32C64G"],required:!0},{key:"disk",label:"系统盘(GB)",type:"number",defaultValue:40,required:!0},{key:"count",label:"数量(台)",type:"number",defaultValue:1,required:!0},{key:"duration",label:"时长",type:"select",options:["1个月","3个月","6个月","1年"],required:!0},{key:"purpose",label:"用途说明",type:"textarea",required:!0}];function x(){return e.jsx(r,{"code-path":"src/pages/ApprovalResourcePage.tsx:16:5",category:"resource",title:"资源申请",description:"申请云服务器、存储、网络等基础设施资源",fields:t,templateCode:"server_apply"})}export{x as ApprovalResourcePage};
|
||||
@@ -0,0 +1 @@
|
||||
import{f as Q,r as p,u as V,t as C,j as e,L as R,B as $,V as X,W as Y,X as z,v as J,Y as H,Q as K}from"./index-HuRw9UhJ.js";import{C as Z,a as ee}from"./card-B2Wqa0sK.js";import{a as S}from"./approval-BpnRjDXJ.js";import{P as F}from"./plus-BVwIGPvl.js";import{S as D}from"./star-CJEUXmIA.js";import{C as se}from"./chevron-up-GXrRy2ul.js";import{P as G}from"./play-BXdOitsb.js";import{P as ae}from"./pen-C8XHRV1-.js";import{T as q}from"./trash-2-Cf9-88KL.js";import{A as te,a as re}from"./arrow-up-CmLz9pAr.js";const oe={resource:"资源申请",app:"应用申请",permission:"权限审批"},O={submit:"提交阶段",audit:"审核阶段",execute:"执行阶段"},B={submit:"bg-blue-500/15 text-blue-400 border-blue-500/30",audit:"bg-purple-500/15 text-purple-400 border-purple-500/30",execute:"bg-green-500/15 text-green-400 border-green-500/30"},pe={submit:H,audit:J,execute:G},le=[{value:"submit",label:"提交阶段",desc:"工单提交人"},{value:"audit",label:"审核阶段",desc:"审核人员审批"},{value:"execute",label:"执行阶段",desc:"执行人员操作"}];function ce({users:i,selectedIds:g,label:v,onToggle:b,onToggleAll:A,onClear:y,getUserName:_}){const[m,j]=p.useState(!1),k=p.useRef(null),[P,l]=p.useState({top:0,left:0,width:0}),h=()=>{if(k.current){const c=k.current.getBoundingClientRect();l({top:c.bottom+4,left:c.left,width:c.width})}};return e.jsxs("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:113:5",className:"relative",children:[e.jsxs("button",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:114:7",ref:k,type:"button",onClick:()=>{m||h(),j(!m)},className:`w-full flex items-center justify-between px-3 py-2 rounded-lg text-sm transition-colors ${g.length===0?"bg-[var(--dg-bg-tertiary)] border border-red-500/40 text-[var(--dg-text-muted)]":"bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] text-[var(--dg-text-primary)]"}`,children:[e.jsx("span",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:124:9",className:"truncate",children:g.length===0?`${v} * 请选择`:`${v} (${g.length}人)`}),e.jsx(Y,{"code-path":"src/pages/ApprovalWorkflowPage.tsx:127:9",className:`w-4 h-4 text-[var(--dg-text-muted)] transition-transform ${m?"rotate-180":""}`})]}),g.length>1&&e.jsx("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:131:9",className:"flex flex-wrap gap-1 mt-1.5",children:g.map(c=>e.jsxs("span",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:133:13",className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[11px] bg-blue-500/15 text-blue-400",children:[_(c),e.jsx("button",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:135:15",onClick:()=>b(c),className:"hover:text-red-400",children:e.jsx(z,{"code-path":"src/pages/ApprovalWorkflowPage.tsx:135:84",className:"w-3 h-3"})})]},c))}),m&&e.jsxs(e.Fragment,{children:[e.jsx("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:143:11",className:"fixed inset-0 z-40",onClick:()=>j(!1)}),e.jsxs("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:144:11",className:"fixed z-50 bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)] rounded-lg shadow-xl max-h-52 overflow-y-auto",style:{top:P.top,left:P.left,width:P.width},children:[e.jsxs("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:146:13",className:"flex items-center justify-between px-3 py-2 border-b border-[var(--dg-border)]",children:[e.jsx("button",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:147:15",onClick:A,className:"text-[11px] text-blue-400 hover:text-blue-300",children:g.length===i.length&&i.length>0?"取消全选":"全选"}),g.length>0&&e.jsx("button",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:151:17",onClick:y,className:"text-[11px] text-red-400 hover:text-red-300",children:"清空"})]}),i.map(c=>{const u=g.includes(c.id);return e.jsxs("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:157:17",onClick:()=>b(c.id),className:"flex items-center gap-2.5 px-3 py-2 cursor-pointer hover:bg-[var(--dg-bg-hover)] transition-colors",children:[e.jsx("div",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:159:19",className:`w-4 h-4 rounded border flex items-center justify-center flex-shrink-0 ${u?"bg-blue-500 border-blue-500":"border-[var(--dg-border)]"}`,children:u&&e.jsx(K,{"code-path":"src/pages/ApprovalWorkflowPage.tsx:162:33",className:"w-3 h-3 text-white"})}),e.jsx("span",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:164:19",className:`text-sm flex-1 ${u?"text-[var(--dg-text-primary)]":"text-[var(--dg-text-secondary)]"}`,children:c.display_name||c.username}),e.jsx("span",{"code-path":"src/pages/ApprovalWorkflowPage.tsx:167:19",className:"text-[10px] text-[var(--dg-text-muted)] px-1.5 py-0.5 rounded bg-[var(--dg-bg-tertiary)]",children:c.role})]},c.id)})]})]})]})}function de({workflow:i,users:g,onClose:v,onSaved:b}){const A=!!i,[y,_]=p.useState(i?.name||""),[m,j]=p.useState(i?.description||""),[k,P]=p.useState(i?.category||"resource"),[l,h]=p.useState([]),[c,u]=p.useState(!1),[E,W]=p.useState("");p.useEffect(()=>{i?.steps?.length?h(i.steps.map(s=>({nLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{b as R,L as W,m as T,i as C,c as F,A as ie,d as B,e as G,h as oe,j as q,k as se,l as le,u as ue,n as K,G as ce,o as J,p as Q,D as fe,g as pe,X as he,Y as de,f as me}from"./generateCategoricalChart-DrSMejeS.js";import{af as p,ag as ee,r as ve}from"./index-HuRw9UhJ.js";var ye=["layout","type","stroke","connectNulls","isRange","ref"],be=["key"],te;function M(e){"@babel/helpers - typeof";return M=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},M(e)}function ae(e,t){if(e==null)return{};var r=Ae(e,t),a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],!(t.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function Ae(e,t){if(e==null)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},D.apply(this,arguments)}function U(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?U(Object(r),!0).forEach(function(a){E(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):U(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ge(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,ne(a.key),a)}}function xe(e,t,r){return t&&Z(e.prototype,t),r&&Z(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Pe(e,t,r){return t=$(t),Oe(e,re()?Reflect.construct(t,r||[],$(e).constructor):t.apply(e,r))}function Oe(e,t){if(t&&(M(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ee(e)}function Ee(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(re=function(){return!!e})()}function $(e){return $=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$(e)}function we(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,n){return a.__proto__=n,a},X(e,t)}function E(e,t,r){return t=ne(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ne(e){var t=_e(e,"string");return M(t)=="symbol"?t:t+""}function _e(e,t){if(M(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(M(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var L=(function(e){function t(){var r;ge(this,t);for(var a=arguments.length,n=new Array(a),i=0;i<a;i++)n[i]=arguments[i];return r=Pe(this,t,[].concat(n)),E(r,"state",{isAnimationFinished:!0}),E(r,"id",ue("recharts-area-")),E(r,"handleAnimationEnd",function(){var o=r.props.onAnimationEnd;r.setState({isAnimationFinished:!0}),K(o)&&o()}),E(r,"handleAnimationStart",function(){var o=r.props.onAnimationStart;r.setState({isAnimationFinished:!1}),K(o)&&o()}),r}return we(t,e),xe(t,[{key:"renderDots",value:function(a,n,i){var o=this.props.isAnimationActive,s=this.state.isAnimationFinished;if(o&&!s)return null;var u=this.props,l=u.dot,f=u.points,c=u.dataKey,h=R(this.props,!1),A=R(l,!0),g=f.map(function(v,O){var y=S(S(S({key:"dot-".concat(O),r:3},h),A),{},{index:O,cx:v.x,cy:v.y,dataKey:c,value:v.value,payload:v.payload,points:f});return t.renderDotItem(l,y)}),x={clipPath:a?"url(#clipPath-".concat(n?"":"dots-").concat(i,")"):null};return p.createElement(W,D({className:"recharts-area-dots"},x),g)}},{key:"renderHorizontalRect",value:function(a){var n=this.props,i=n.baseLine,o=n.points,s=n.strokeWidth,u=o[0].x,l=o[o.length-1].x,f=a*Math.abs(u-l),c=T(o.map(function(h){return h.y||0}));return C(i)&&typeof i=="number"?c=Math.max(i,c):i&&Array.isArray(i)&&i.length&&(c=Math.max(T(i.map(function(h){return h.y||0})),c)),CLine truncated
|
||||
@@ -0,0 +1,3 @@
|
||||
import{i as V,r as a,a3 as ve,j as e,D as ae,a as re,a0 as ie,c as ne,d as oe,aW as Q,L as ce,X as Y,ac as fe,f as le,B as N,A as de,P as pe,b as ye,be as Ne,G as Se,y as Ae}from"./index-HuRw9UhJ.js";import{C as $,a as B}from"./card-B2Wqa0sK.js";import{I as F}from"./input-C9Xfv8um.js";import{T as E,a as q,b as _,c as d,d as K,e as p}from"./table-Du1vU-OM.js";import{x as xe,a as me}from"./xterm-DSqgeKvr.js";import{B as w}from"./badge-CeS-g-Od.js";import{m as Te,a as Le}from"./xterm-utils-slbfdUHf.js";import{M as we,a as Pe}from"./minimize-2-UErWMOt6.js";import{u as Z,q as ee,a as se,b as Oe}from"./unwrap-s5xDIyKq.js";import{u as X}from"./useMutation-ChnF9A9K.js";import{t as I,a as J,s as Ce,l as ke}from"./terminal-DvxWm4UP.js";import{S as z}from"./search-CcKEpJIn.js";import{R as W}from"./refresh-cw-CSycAyA2.js";import{P as _e}from"./play-BXdOitsb.js";import{D as he}from"./download-CjFatm64.js";const De=[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],He=V("octagon-x",De);const Me=[["path",{d:"M10 2h4",key:"n1abiw"}],["path",{d:"M4.6 11a8 8 0 0 0 1.7 8.7 8 8 0 0 0 8.7 1.7",key:"10he05"}],["path",{d:"M7.4 7.4a8 8 0 0 1 10.3 1 8 8 0 0 1 .9 10.2",key:"15f7sh"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M12 12v-2",key:"fwoke6"}]],Re=V("timer-off",Me);const ze=[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]],Ie=V("timer",ze);function Fe({open:s,onOpenChange:r,sessionId:i,sessionInfo:c}){const n=a.useRef(null),x=a.useRef(null),g=a.useRef(null),j=a.useRef(null),[v,l]=a.useState(!1),[u,f]=a.useState(""),[t,h]=a.useState(c||null),[y,T]=a.useState(!1);a.useEffect(()=>{s||(l(!1),f(""),T(!1))},[s]),a.useEffect(()=>{if(!s||!i)return;l(!1),f("");const b=new xe.Terminal({cursorBlink:!1,fontSize:13,fontFamily:'Menlo, Monaco, "Courier New", monospace',disableStdin:!0,allowProposedApi:!0,scrollback:5e3,theme:{background:"#0a0e14",foreground:"#d6d6d6",cursor:"#d6d6d6",selectionBackground:"rgba(255,255,255,0.2)"}}),m=new me.FitAddon;b.loadAddon(m),x.current=b,g.current=m;const S=ve.getState().token||localStorage.getItem("token")||(()=>{try{return JSON.parse(localStorage.getItem("user-storage")||"{}")?.state?.token||""}catch{return""}})(),H=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws/audit/${i}?token=${encodeURIComponent(S)}`,L=new WebSocket(H);j.current=L;let A=!1;L.onopen=()=>{A=!0,l(!0),f(""),Te(b,m,()=>n.current),b.writeln("\x1B[36m[审计监控] 已连接到会话...\x1B[0m")},L.onmessage=M=>{try{const C=JSON.parse(M.data);switch(C.type){case"session_info":h(C.payload),b.writeln(`\x1B[36m用户: ${C.payload.username} 服务器: ${C.payload.server_name} (${C.payload.server_ip})\x1B[0m`);break;case"history":C.data&&b.write(C.data);break;case"output":C.data&&b.write(C.data);break}}catch{}},L.onerror=()=>f("WebSocket 连接失败"),L.onclose=M=>{A||f(`连接失败 (code=${M.code}): ${M.reason||"认证失败或网络问题"}`),l(!1),b.writeln(`\r
|
||||
\x1B[33m[审计监控] 连接已断开\x1B[0m`)};const P=setTimeout(()=>{A||(f("连接超时 — 请确认已登录且有活跃会话"),L.close())},5e3);return()=>{clearTimeout(P),L.close(),b.dispose(),x.current=null,g.current=null,j.current=null,l(!1)}},[s,i]),a.useEffect(()=>{if(!s)return;let b,m=0;const S=()=>{const D=n.current,H=g.current,L=x.current;if(!D||!H||!L){m++<30&&requestAnimationFrame(S);return}b=Le(D,H,L)};return S(),()=>b?.()},[s,i,y]);const O=b=>b?new Date(b).toLocaleString():"--";return e.jsx(ae,{"code-path":"src/components/system/LiveMonitorDialog.tsx:180:5",open:s,onOpenChange:r,children:e.jsxs(re,{"code-path":"src/components/system/LiveMonitorDialog.tsx:181:7",showCloseButton:!1,showOverlay:!1,className:ie("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",y?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:y?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"960px",width:"92vw"},children:[e.jsx(ne,{"code-path":"src/components/system/LiveMonitorDialog.tsx:197:9",className:"sr-only",children:"终端实时监控"}),e.jsx(oe,{"code-path":"src/components/system/LiveMonitorDialog.tsx:198:9",className:"sr-only",children:"审计在线 WebSSH 会话"}),e.jsxs("div",{"code-path":"src/components/system/LiveMonitorDialog.tsx:201:9",className:"flex items-center justify-between px-4 py-2 border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/system/LiveMonitorDialog.tsx:202:11",className:"flex items-center gap-2 text-sm min-w-0 flex-wrap",children:[e.jsx(Q,{"code-path":"src/components/system/LiveMonitorDialog.tsx:203:13",className:"h-4 w-4 text-emerald-400 shrink-0"}),e.jsx("span",{"code-path":"src/components/system/LiveMonitorDialog.tsx:204:13",className:"text-[var(--dg-text-primary)] font-medium",children:"终端实时监控"}),t&&e.jsxs("span",{"code-path":"src/components/system/LiveMonitorDialog.tsx:206:15",className:"text-[var(--dg-text-muted)] truncate",children:[t.username," · ",t.server_name," (",t.server_ip,") · ",O(t.start_time)]}),v&&e.jsx(w,{"code-path":"src/components/system/LiveMonitorDialog.tsx:211:15",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10 text-xs",children:"● 在线"}),!v&&!u&&e.jsxs(w,{"code-path":"src/components/system/LiveMonitorDialog.tsx:216:15",variant:"outline",className:"border-yellow-500/30 text-yellow-400 bg-yellow-500/10 text-xs",children:[e.jsx(ce,{"code-path":"src/components/system/LiveMonitorDialog.tsx:217:17",className:"h-3 w-3 animate-spin mr-1"}),"连接中"]}),u&&e.jsx(w,{"code-path":"src/components/system/LiveMonitorDialog.tsx:222:15",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10 text-xs",children:"连接失败"})]}),e.jsxs("div",{"code-path":"src/components/system/LiveMonitorDialog.tsx:227:11",className:"flex items-center gap-1 shrink-0",children:[e.jsx("button",{"code-path":"src/components/system/LiveMonitorDialog.tsx:228:13",type:"button",onClick:()=>T(!y),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",title:y?"退出全屏":"全屏",children:y?e.jsx(we,{"code-path":"src/components/system/LiveMonitorDialog.tsx:234:29",className:"h-4 w-4"}):e.jsx(Pe,{"code-path":"src/components/system/LiveMonitorDialog.tsx:234:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/system/LiveMonitorDialog.tsx:236:13",type:"button",onClick:()=>r(!1),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:e.jsx(Y,{"code-path":"src/components/system/LiveMonitorDialog.tsx:241:15",className:"h-4 w-4"})})]})]}),u&&e.jsx("p",{"code-path":"src/components/system/LiveMonitorDialog.tsx:247:11",className:"text-sm text-red-400 px-4 py-2 border-b border-[var(--dg-border)]",children:u}),e.jsx("div",{"code-path":"src/components/system/LiveMonitorDialog.tsx:250:9",ref:n,className:"xterm-terminal-host",style:{height:y?"calc(100vh - 49px)":"520px"}})]})})}function ue(s={page:1,page_size:100}){return Z({queryKey:ee.terminalSessions(s),queryFn:async()=>{const r=await I.list(s);return se(r)}})}function $e(){const s=fe(),r=()=>s.invalidateQueries({queryKey:["terminal-sessions"]}),i=X({mutationFn:x=>I.kill(x),onSuccess:r}),c=X({mutationFn:x=>I.delete(x),onSuccess:r}),n=X({mutationFn:x=>I.batchDelete(x),onSuccess:r});return{killMutation:i,deleteMutation:c,batchDeleteMutation:n,invalidate:r}}function Be(s={page:1,page_size:50}){return Z({queryKey:ee.auditLogs(s),queryFn:async()=>{const r=await J.getLogs(s);return{list:se(r),total:Oe(r)}},staleTime:2e4})}function Ee(s={page:1,page_size:200}){return Z({queryKey:ee.sessionCommands(s),queryFn:async()=>{const r=await Ce.list(s);return se(r)}})}function ge(s){if(!s||s<0)return"--";if(s<60)return`${s}秒`;const r=Math.floor(s/60),i=s%60;if(r<60)return`${r}分${i>0?`${i}秒`:""}`;const c=Math.floor(r/60),n=r%60;return`${c}时${n>0?`${n}分`:""}`}fun
Line truncated
|
||||
`).filter(A=>A.trim()),m=[];for(const A of b)try{const P=JSON.parse(A);Array.isArray(P)&&P.length>=3&&m.push({time:P[0],eventType:P[1],data:P[2]})}catch{}if(m.length===0){t.write(O),f(100),j(!1);return}j(!1);const S=m[m.length-1].time;let D=0,H=0;const L=()=>{if(y||D>=m.length){f(100);return}const A=m[D],P=(A.time-H)*1e3;H=A.time,D++;const M=Math.min(P,2e3);x.current=setTimeout(()=>{y||(t.write(A.data),f(Math.round(A.time/S*100)),L())},M)};L()}).catch(T=>{y||(console.error("[Replay] Load failed:",T),l("Failed to load recording data"),j(!1))}),()=>{y=!0,x.current&&clearTimeout(x.current);try{t.dispose()}catch{}n.current=null}},[s,i]),e.jsx(ae,{"code-path":"src/components/system/ReplayDialog.tsx:153:5",open:s,onOpenChange:r,children:e.jsxs(re,{"code-path":"src/components/system/ReplayDialog.tsx:154:7",showOverlay:!1,className:"bg-slate-900 border-slate-800 p-0 gap-0",style:{maxWidth:"900px",width:"90vw"},children:[e.jsxs(ye,{"code-path":"src/components/system/ReplayDialog.tsx:155:9",className:"px-4 py-3 border-b border-slate-800",children:[e.jsxs(ne,{"code-path":"src/components/system/ReplayDialog.tsx:156:11",className:"text-slate-100 text-base flex items-center gap-2",children:["Terminal Replay #",i??"",u>0&&u<100&&e.jsxs("span",{"code-path":"src/components/system/ReplayDialog.tsx:159:15",className:"text-xs text-slate-500 font-normal ml-2",children:[u,"%"]})]}),e.jsx(oe,{"code-path":"src/components/system/ReplayDialog.tsx:162:11",className:"text-slate-500 sr-only",children:"Replay recorded terminal output"})]}),e.jsxs("div",{"code-path":"src/components/system/ReplayDialog.tsx:164:9",className:"relative bg-[#0a0e14]",style:{height:"460px"},children:[g&&e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:166:13",className:"absolute inset-0 z-10 flex items-center justify-center bg-black/40",children:e.jsx(ce,{"code-path":"src/components/system/ReplayDialog.tsx:167:15",className:"h-6 w-6 animate-spin text-blue-400"})}),v&&e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:171:13",className:"absolute inset-0 z-10 flex items-center justify-center bg-black/40",children:e.jsx("p",{"code-path":"src/components/system/ReplayDialog.tsx:172:15",className:"text-red-400 text-sm",children:v})}),u>0&&u<100&&e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:176:13",className:"absolute bottom-0 left-0 right-0 h-0.5 bg-slate-800 z-10",children:e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:177:15",className:"h-full bg-blue-500 transition-all duration-300",style:{width:`${u}%`}})}),e.jsx("div",{"code-path":"src/components/system/ReplayDialog.tsx:183:11",ref:c,className:"absolute inset-0 p-1"})]})]})})}function Qe(){const{data:s=[],isLoading:r,refetch:i}=ue({page:1,page_size:100,status:"closed"}),[c,n]=a.useState(""),[x,g]=a.useState(null),[j,v]=a.useState(!1),l=s.filter(t=>{const h=c.toLowerCase();return!h||(t.username||"").toLowerCase().includes(h)||(t.server_name||"").toLowerCase().includes(h)||(t.server_ip||"").toLowerCase().includes(h)}),u=t=>{g(t),v(!0)},f=async t=>{try{await I.download(t)}catch{}};return e.jsxs(e.Fragment,{children:[e.jsxs("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:57:7",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:58:9",className:"relative w-64",children:[e.jsx(z,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:59:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(F,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:60:11",placeholder:"搜索用户/服务器/IP...",value:c,onChange:t=>n(t.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500"})]}),e.jsxs(N,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:67:9",variant:"outline",className:"border-slate-700 text-slate-300 hover:text-slate-100 hover:bg-slate-800",onClick:()=>i(),children:[e.jsx(W,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:72:11",className:"h-4 w-4 mr-2"}),"刷新"]})]}),e.jsx($,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:77:7",className:"bg-slate-900 border-slate-800",children:e.jsx(B,{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:78:9",className:"p-0",children:e.jsx("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:79:11",className:"border-t border-slate-800",children:r?e.jsx("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:81:15",className:"flex items-center justify-center py-16",children:e.jsx("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:82:17",className:"w-8 h-8 border-2 border-blue-500 border-t-transparent rounded-full animate-spin"})}):l.length===0?e.jsxs("div",{"code-path":"src/pages/terminal-audit/HistorySessionsPanel.tsx:85:15",className:"flex flex-col items-center justify-center py-16 text-slate-500",chil
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{g as a,B as i,X as s,Y as t,f as e}from"./generateCategoricalChart-DrSMejeS.js";var x=a({chartName:"BarChart",GraphicalChild:i,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:s},{axisType:"yAxis",AxisComp:t}],formatAxisMap:e});export{x as B};
|
||||
@@ -0,0 +1 @@
|
||||
import{k as E,m as D,r as c,j as e,n as k,o as j,K as H,B as P,p as N}from"./index-HuRw9UhJ.js";import{C as L,a as M}from"./card-B2Wqa0sK.js";import{B as z}from"./badge-CeS-g-Od.js";import{S as f,a as v,b as S,c as w,d as x}from"./select-KDzbUQs3.js";import{T as U,a as F,b as d,c as r,d as I,e as n}from"./table-Du1vU-OM.js";import{k as p}from"./index-GZwpRmKU.js";import{R as K}from"./refresh-cw-CSycAyA2.js";import{D as G}from"./download-CjFatm64.js";import{H as _}from"./hard-drive-laLCm9TI.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";function ce(){const{clusterCode:$}=E(),h=D(),[l,u]=c.useState(!1),[b,g]=c.useState([]),[q,T]=c.useState([]),[A,R]=c.useState([]),[o,V]=c.useState("all"),[a,C]=c.useState($||"");c.useEffect(()=>{p.getClusters().then(s=>{const t=s?.list||[];if(T(t),!a&&t.length>0){const y=t[0].code||String(t[0].id);C(y),h(`/kubernetes/${y}/capacity`,{replace:!0})}}).catch(()=>{})},[]),c.useEffect(()=>{a&&p.getNamespaces(a).then(s=>{R(Array.isArray(s)?s:s?.list||s?.data||[])}).catch(()=>{})},[a]);const i=c.useCallback(async()=>{if(a){u(!0);try{const s=o==="all"?void 0:o,t=await p.getCapacity(a,s);g(Array.isArray(t)?t:t?.list||[])}catch{g([])}finally{u(!1)}}},[a,o]);c.useEffect(()=>{i()},[i]);const m=c.useMemo(()=>b.flatMap(s=>(s.containers||[]).map(t=>({namespace:s.namespace,deployment:s.name,replicas:s.replicas,container:t.name,cpu_req:t.cpu_request||"-",cpu_lim:t.cpu_limit||"-",mem_req:t.mem_request||"-",mem_lim:t.mem_limit||"-"}))),[b]),B=()=>p.exportAsCSV(`capacity-${a}.csv`,m);return e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:73:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:74:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(k,{"code-path":"src/components/kubernetes/CapacityPage.tsx:75:9",to:"/kubernetes",className:"hover:text-slate-300",children:"集群"}),a&&e.jsxs(e.Fragment,{children:[e.jsx(j,{"code-path":"src/components/kubernetes/CapacityPage.tsx:76:29",className:"h-3 w-3"}),e.jsx(k,{"code-path":"src/components/kubernetes/CapacityPage.tsx:76:65",to:`/kubernetes/${a}`,className:"hover:text-slate-300",children:a})]}),e.jsx(j,{"code-path":"src/components/kubernetes/CapacityPage.tsx:77:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/CapacityPage.tsx:77:45",className:"text-slate-300",children:"容量分析"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:80:7",className:"flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("h2",{"code-path":"src/components/kubernetes/CapacityPage.tsx:81:9",className:"text-lg font-semibold text-slate-100 flex items-center gap-2",children:[e.jsx(H,{"code-path":"src/components/kubernetes/CapacityPage.tsx:81:86",className:"h-5 w-5 text-purple-400"}),"资源容量分析"]}),e.jsxs("div",{"code-path":"src/components/kubernetes/CapacityPage.tsx:82:9",className:"flex items-center gap-2",children:[e.jsxs(f,{"code-path":"src/components/kubernetes/CapacityPage.tsx:83:11",value:a,onValueChange:s=>{C(s),h(`/kubernetes/${s}/capacity`)},children:[e.jsx(v,{"code-path":"src/components/kubernetes/CapacityPage.tsx:84:13",className:"w-40 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(S,{"code-path":"src/components/kubernetes/CapacityPage.tsx:84:87"})}),e.jsx(w,{"code-path":"src/components/kubernetes/CapacityPage.tsx:85:13",className:"bg-slate-800 border-slate-700",children:q.map(s=>e.jsx(x,{"code-path":"src/components/kubernetes/CapacityPage.tsx:86:42",value:s.code||String(s.id),className:"text-xs",children:s.name||s.code},s.id))})]}),e.jsxs(f,{"code-path":"src/components/kubernetes/CapacityPage.tsx:89:11",value:o,onValueChange:V,children:[e.jsx(v,{"code-path":"src/components/kubernetes/CapacityPage.tsx:90:13",className:"w-32 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(S,{"code-path":"src/components/kubernetes/CapacityPage.tsx:90:87",placeholder:"所有命名空间"})}),e.jsxs(w,{"code-path":"src/components/kubernetes/CapacityPage.tsx:91:13",className:"bg-slate-800 border-slate-700",children:[e.jsx(x,{"code-path":"src/components/kubernetes/CapacityPage.tsx:92:15",value:"all",className:"text-xs",children:"所有命名空间"}),A.map(s=>e.jsx(x,{"code-path":"src/components/kubernetes/CapacityPage.tsx:93:36",value:s,className:"text-xs",children:s},s))]})]}),e.jsxs(P,{"code-path":"src/components/kubernetes/CapacityPage.tsx:96:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 text-xs",onClick:i,disabled:l,children:[e.jsx(K,{"code-path":"src/components/kubernetes/CapacityPage.tsx:97:13",className:`h-3 w-3 mr-1 ${l?"animate-spin":""}`}),"刷新"]}),e.jsxs(P,{"code-path":"src/components/kubernetes/CapacityPage.tsx:99:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 text-xs",onClick:B,children:[e.jsx(G,{"code-path":"src/components/kubernetes/CapacityPage.tsx:100:13",className:"h-3 w-3 mr-1"}),"CSV"]}Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{j as e,r as a,B as d,Z as _,D as R,a as W,b as Q,c as V,s as Z,d as $,e as G,L as X}from"./index-HuRw9UhJ.js";import{I as h}from"./input-C9Xfv8um.js";import{L as u}from"./label-DvRDtaMA.js";import{C as N,a as y}from"./card-B2Wqa0sK.js";import{B as A}from"./badge-CeS-g-Od.js";import{c as v}from"./cloud-sEaHmpLm.js";import{R as F}from"./refresh-cw-CSycAyA2.js";import{P as S}from"./plus-BVwIGPvl.js";import{S as q}from"./search-CcKEpJIn.js";import{C as J}from"./circle-check-C5nUiTvE.js";import{C as U}from"./circle-x-BVvXVx7p.js";import{P as k}from"./pencil-BZ7zX3m0.js";import{T as Y}from"./trash-2-Cf9-88KL.js";const L={aws:{viewBox:"0 0 24 24",color:"#FF9900",path:"M6.763 10.036c0 .296.032.535.088.71.064.176.144.368.256.576.04.063.056.127.056.183 0 .08-.048.16-.152.24l-.503.335a.383.383 0 0 1-.208.072c-.08 0-.16-.04-.24-.112a2.47 2.47 0 0 1-.288-.375 6.18 6.18 0 0 1-.248-.471c-.622.734-1.405 1.101-2.347 1.101-.671 0-1.205-.191-1.596-.574-.391-.384-.59-.894-.59-1.533 0-.678.239-1.23.726-1.644.487-.415 1.133-.623 1.955-.623.272 0 .551.024.846.064.296.04.6.104.918.176v-.583c0-.607-.127-1.03-.375-1.277-.255-.248-.686-.367-1.3-.367-.28 0-.568.031-.863.103-.295.072-.583.16-.862.272a2.287 2.287 0 0 1-.28.104.488.488 0 0 1-.127.023c-.112 0-.168-.08-.168-.247v-.391c0-.128.016-.224.056-.28a.597.597 0 0 1 .224-.167c.279-.144.614-.264 1.005-.36a4.84 4.84 0 0 1 1.246-.151c.95 0 1.644.216 2.091.647.439.43.662 1.085.662 1.963v2.586zm-3.24 1.21c.265 0 .538-.048.822-.144.283-.096.535-.271.742-.51.128-.152.224-.32.264-.512.04-.191.072-.423.072-.694v-.335a6.66 6.66 0 0 0-.735-.136 6.02 6.02 0 0 0-.75-.048c-.535 0-.926.104-1.19.32-.263.215-.39.518-.39.917 0 .375.095.654.295.846.191.2.47.296.838.296zm3.89.527c-.073 0-.12-.016-.152-.048-.032-.024-.064-.08-.088-.152L6.155 5.563a.715.715 0 0 1-.032-.16c0-.128.064-.2.192.2h.703c.08 0 .136.016.168.048.032.024.064.08.088.152l1.348 5.298 1.252-5.298c.024-.08.056-.128.088-.152a.355.355 0 0 1 .176-.048h.575c.08 0 .136.016.176.048.032.024.072.08.088.152l1.268 5.362 1.39-5.362c.024-.08.056-.128.088-.152a.344.344 0 0 1 .168-.048h.67c.128 0 .2.072.2.2 0 .04-.008.072-.016.112 0 0-.04.128-.088.152l-1.916 6.15c-.032.08-.064.128-.096.152a.355.355 0 0 1-.176.048h-.622c-.08 0-.136-.016-.176-.048-.032-.024-.064-.08-.088-.152l-1.26-5.186-1.252 5.178c-.024.08-.056.128-.088.152a.355.355 0 0 1-.176.048h-.623zm9.166.215c-.367 0-.734-.04-1.094-.127-.359-.088-.638-.184-.822-.296-.112-.064-.191-.136-.223-.2a.498.498 0 0 1-.032-.128v-.399c0-.167.064-.247.183-.247a.45.45 0 0 1 .144.024c.048.016.12.048.2.08.271.12.566.215.878.279.319.064.63.096.95.096.502 0 .893-.088 1.164-.264a.86.86 0 0 0 .415-.758.777.777 0 0 0-.215-.55c-.144-.151-.423-.287-.83-.415l-1.188-.367c-.598-.192-1.044-.471-1.316-.838a1.95 1.95 0 0 1-.415-1.205c0-.351.072-.662.215-.918.144-.255.335-.479.575-.654.24-.184.51-.319.822-.415.311-.096.638-.136.982-.136.176 0 .36.008.535.032.184.024.351.056.518.088.152.04.303.08.439.127.136.048.24.096.311.144a.66.66 0 0 1 .176.144.298.298 0 0 1 .048.184v.359c0 .168-.064.256-.183.256a.83.83 0 0 1-.304-.096 3.68 3.68 0 0 0-1.548-.311c-.463 0-.83.072-1.085.231-.255.16-.39.4-.39.743 0 .351.128.59.383.758.255.168.702.335 1.331.48.583.135 1.005.311 1.268.518.263.207.39.495.39.862 0 .367-.128.662-.375.902-.247.247-.67.375-1.26.375zm2.004 1.332c-2.637 1.948-6.488 2.984-9.793 2.984-4.635 0-8.81-1.715-11.966-4.566-.255-.224-.024-.335.271-.144 3.41 1.987 7.622 3.183 11.966 3.183 2.936 0 6.158-.61 9.119-1.876.44-.207.815.287.383.615zm1.078-1.23c-.336-.431-2.223-.2-3.073-.103-.255.024-.295-.192-.064-.351 1.5-1.053 3.962-.75 4.246-.4.287.359-.08 2.824-1.484 4.004-.215.184-.423.088-.319-.151.311-.774 1.005-2.51.662-2.956v-.443z"},azure:{viewBox:"0 0 24 24",color:"#0078D4",path:"M5.483 21.3H24L14.025 4.013l-3.022 5.915 5.99 9.357H8.787l-3.304 6.015zM8.7 3.197L0 21.3h6.395l4.49-8.51L8.7 3.196z"},gcp:{viewBox:"0 0 24 24",color:"#4285F4",path:"M12.19 2.38a9.344 9.344 0 0 0-9.234 6.893c.053-.02-.055.013 0 0-3.875 2.551-3.922 8.11-.247 10.941l.006-.007-.007.03a6.717 6.717 0 0 0 4.077 1.356h5.173l.03.03h5.192c6.687.053 9.376-8.605 3.835-12.35a9.365 9.365 0 0 0-2.821-4.552l-.043.043.006-.05A9.344 9.344 0 0 0 12.19 2.38zm-.358 4.146c1.244-.04 2.518.368 3.486 1.15a5.186 5.186 0 0 1 1.862 4.078v.518c3.53-.07 3.53 5.262 0 5.193h-5.193l-.008.009v-.04H6.785a2.59 2.59 0 0 1-1.067-.23h.001a2.597 2.597 0 1 1 3.437-3.437l3.013-3.012A6.747 6.747 0 0 0 8.11 8.24c.018-.01.04-.026.054-.023a5.186 5.186 0 0 1 3.67-1.69z"},aliyun:{viewBox:"0 0 24 24",color:"#FF6A00",path:"M3.996 4.517h5.291L8.01 6.324 4.153 7.506a1.668 1.668 0 0 0-1.165 1.601v5.786a1.668 1.668 0 0 0 1.165 1.6l3.857 1.183 1.277 1.807H3.996A3.996 3.996 0 0 1 0 15.487V8.513a3.996 3.996 0 0 1 3.996-3.996m16.008 0h-5.291l1.277 1.807 3.857 1.182c.715.227 1.17.889 1.165 1.601v5.786a1.668 1.668 0 0 1-1.165 1.6l-3.857 1.183-1.277 1.807h5.291A3.996 3.996 0 0 0 24 15.487V8.513a3.996 3.996 0 0 0-3.996-3.996m-4.007 8.345H8.002v-1.804h7.995Z"},tencent:{viewBox:"220 60 620 430",color:"#Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as ve,j as e,r as c,D as X,a as Y,b as Z,c as ee,d as se,e as le,B as m,L as R,t as p,f as Ne,J as H}from"./index-HuRw9UhJ.js";import{I as j}from"./input-C9Xfv8um.js";import{L as r}from"./label-DvRDtaMA.js";import{C as T,a as V}from"./card-B2Wqa0sK.js";import{B as fe}from"./badge-CeS-g-Od.js";import{S as oe}from"./switch--ZaqVsRJ.js";import{S as w,a as S,b as k,c as _,d as x}from"./select-KDzbUQs3.js";import{b as h}from"./cloud-sEaHmpLm.js";import{S as be}from"./stat-strip-CVviXwc6.js";import{R as q}from"./refresh-cw-CSycAyA2.js";import{P as J}from"./plus-BVwIGPvl.js";import{P as G}from"./pencil-BZ7zX3m0.js";import{T as K}from"./trash-2-Cf9-88KL.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const De=[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]],ye=ve("wallet",De),v={aliyun:"阿里云",tencent:"腾讯云",aws:"AWS",huawei:"华为云",azure:"Azure"},O={aliyun:"bg-orange-500",tencent:"bg-blue-500",aws:"bg-amber-500",huawei:"bg-red-500",azure:"bg-sky-500"};function g(d){return`¥${d.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function Re({data:d}){if(d.length===0)return e.jsx("p",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:54:12",className:"text-sm text-slate-500 py-8 text-center",children:"暂无数据"});const n=Math.max(...d.map(a=>a.cost),1),t=d.slice(-30);return e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:60:5",children:[e.jsx("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:61:7",className:"flex items-end gap-0.5 h-40",children:t.map((a,o)=>{const i=Math.max(a.cost/n*100,2);return e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:65:13",className:"flex-1 group relative",style:{height:"100%"},children:[e.jsx("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:70:15",className:"absolute bottom-0 w-full rounded-t-sm bg-gradient-to-t from-blue-600/60 to-blue-400/80 group-hover:from-blue-500 group-hover:to-blue-300 transition-colors",style:{height:`${i}%`}}),e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:74:15",className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 hidden group-hover:block whitespace-nowrap text-xs bg-slate-800 text-slate-200 px-2 py-1 rounded border border-slate-700 z-10",children:[a.date,": ",g(a.cost)]})]},o)})}),e.jsxs("div",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:81:7",className:"flex justify-between mt-2 text-xs text-slate-500",children:[e.jsx("span",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:82:9",children:t[0]?.date}),e.jsx("span",{"code-path":"src/components/cloud/CloudBillingHelpers.tsx:83:9",children:t[t.length-1]?.date})]})]})}const Q={provider:"aliyun",billing_date:"",cost:"",service:"",region:"",account_name:"",description:""};function we({open:d,onOpenChange:n,editingRecord:t,onSuccess:a}){const[o,i]=c.useState(Q),[B,C]=c.useState(!1);c.useEffect(()=>{d&&i(t?{provider:t.provider,billing_date:t.billing_date,cost:t.cost,service:t.service||"",region:t.region||"",account_name:t.account_name||"",description:t.description||""}:{...Q,billing_date:new Date().toISOString().slice(0,10)})},[d,t]);const y=async()=>{if(!o.provider||!o.billing_date||!o.cost){p.error("请填写必填字段");return}C(!0);try{const l={...o,cost:parseFloat(o.cost)};t?(await h.remove(t.id),await h.create(l)):await h.create(l),n(!1),a(),p("保存成功")}catch(l){p.error("保存失败",{description:l.message})}finally{C(!1)}};return e.jsx(X,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:90:5",open:d,onOpenChange:n,children:e.jsxs(Y,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:91:7",className:"max-w-md",children:[e.jsxs(Z,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:92:9",children:[e.jsx(ee,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:93:11",children:t?"编辑成本记录":"记录成本"}),e.jsx(se,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:94:11",children:"记录一条每日云资源成本"})]}),e.jsxs("div",{"code-path":"src/components/cloud/BillingRecordDialog.tsx:96:9",className:"space-y-3",children:[e.jsxs("div",{"code-path":"src/components/cloud/BillingRecordDialog.tsx:97:11",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/cloud/BillingRecordDialog.tsx:98:13",children:[e.jsx(r,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:99:15",className:"text-sm text-slate-300",children:"厂商 *"}),e.jsxs(w,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:100:15",value:o.provider,onValueChange:l=>i({...o,provider:l}),children:[e.jsx(S,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:101:17",className:"mt-1",children:e.jsx(k,{"code-path":"src/components/cloud/BillingRecordDialog.tsx:101:49"})}),e.jsx(_,{"codLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{k as F,m as K,r as c,j as e,n as w,o as C,B as G,L as A,p as k,q as R,S as T,s as H,A as q,v as z,w as D}from"./index-HuRw9UhJ.js";import{C as i,a as u}from"./card-B2Wqa0sK.js";import{B as M}from"./badge-CeS-g-Od.js";import{T as J,a as Q,b as x,c as n,d as V,e as a}from"./table-Du1vU-OM.js";import{k as j}from"./index-GZwpRmKU.js";import{u as W}from"./use-toast-B25j_Fg3.js";import{R as X}from"./refresh-cw-CSycAyA2.js";const Y={"kube-system":T,"kube-public":z,"kube-node-lease":q,default:H};function ne(){const{clusterCode:r}=F(),B=K(),{toast:E}=W(),[,P]=c.useState([]),[m,O]=c.useState([]),[N,f]=c.useState([]),[d,I]=c.useState(null),[p,y]=c.useState(!1),_=c.useCallback(async()=>{try{const t=(await j.getClusters())?.list||[];P(t);const o=t.find(l=>(l.code||String(l.id))===r);I(o||null),!o&&t.length>0&&r&&E({title:"集群未找到",description:`找不到集群 ${r}`,variant:"destructive"})}catch{P([])}},[r]),v=c.useCallback(async()=>{if(r){y(!0);try{const[s,t]=await Promise.all([j.getNodes(r).catch(()=>[]),j.getNamespaces(r).catch(()=>[])]);O(Array.isArray(s)?s:s?.list||s?.data||[]);const o=Array.isArray(t)?t:t?.list||t?.data||[];f(o)}catch{O([]),f([])}finally{y(!1)}}},[r]);c.useEffect(()=>{_()},[_]),c.useEffect(()=>{v()},[v]);const L=s=>s?.role==="master"||s?.role==="control-plane"?"bg-blue-500/20 text-blue-400 border-blue-500/30":"bg-slate-500/20 text-slate-400 border-slate-500/30";return e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:81:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:83:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(w,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:84:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),e.jsx(C,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:85:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:86:9",className:"text-slate-300",children:r})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:90:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:91:9",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:92:11",className:"text-2xl font-bold text-slate-100",children:r}),e.jsxs("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:93:11",className:"text-sm text-slate-500 mt-1",children:["集群概览",d?.version?` — Kubernetes ${d.version}`:""]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:98:9",className:"flex items-center gap-2",children:e.jsx(G,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:99:11",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",onClick:v,disabled:p,children:p?e.jsx(A,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:101:24",className:"h-4 w-4 animate-spin"}):e.jsx(X,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:101:71",className:"h-4 w-4"})})})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:107:7",className:"grid grid-cols-3 md:grid-cols-3 gap-4",children:[e.jsx(i,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:108:9",className:"bg-slate-900 border-slate-800",children:e.jsx(u,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:109:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:110:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:111:15",children:[e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:111:20",className:"text-sm text-slate-500",children:"节点"}),e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:111:64",className:"text-2xl font-bold text-blue-400",children:m.length})]}),e.jsx(k,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:112:15",className:"h-8 w-8 opacity-30 text-blue-400"})]})})}),e.jsx(i,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:116:9",className:"bg-slate-900 border-slate-800",children:e.jsx(u,{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:117:11",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:118:13",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:119:15",children:[e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:119:20",className:"text-sm text-slate-500",children:"命名空间"}),e.jsx("p",{"code-path":"src/components/kubernetes/ClusterOverviewPage.tsx:119:66",className:"text-2xl font-bold text-emerald-400",children:N.length})]}),e.jsx(RLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{f as st,r as a,t as h,j as e,B as b,v as qe,G as rt,E as nt,s as ot,w as ct,S as dt,Z as V,C as lt,D as ze,a as Be,b as Ge,c as Ue,d as pt,e as $e,T as it,_ as Ye,P as Qe,$ as xt}from"./index-HuRw9UhJ.js";import{I as p}from"./input-C9Xfv8um.js";import{L as l}from"./label-DvRDtaMA.js";import{B as S}from"./badge-CeS-g-Od.js";import{S as Ke,a as Ae,b as De,c as Pe,d as _}from"./select-KDzbUQs3.js";import{c as I}from"./credential-snjgV65G.js";import{R as mt}from"./refresh-cw-CSycAyA2.js";import{P as Re}from"./plus-BVwIGPvl.js";import{S as gt}from"./search-CcKEpJIn.js";import{Z as ht}from"./zap-CS68N0Jd.js";import{F as yt}from"./file-text-BqORyhNh.js";import{P as vt}from"./pencil-BZ7zX3m0.js";import{C as Ze}from"./circle-x-BVvXVx7p.js";import{C as We}from"./circle-check-C5nUiTvE.js";import{T as Ct}from"./trash-2-Cf9-88KL.js";import{C as Ve}from"./copy-Ci4WwJkK.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const O={ssh:{label:"SSH 密钥",icon:dt,color:"text-amber-400",desc:"SSH 私钥/公钥/密码"},docker:{label:"Docker 凭证",icon:ct,color:"text-cyan-400",desc:"Docker Registry 登录凭据"},tls:{label:"TLS 证书",icon:qe,color:"text-green-400",desc:"TLS/SSL 证书与私钥"},aksk:{label:"AKSK 密钥",icon:ot,color:"text-purple-400",desc:"云服务 AccessKey/SecretKey"},database:{label:"数据库凭证",icon:nt,color:"text-blue-400",desc:"数据库连接信息"},api:{label:"API 密钥",icon:rt,color:"text-orange-400",desc:"API Token/Key + 端点"},generic:{label:"通用凭证",icon:yt,color:"text-gray-400",desc:"自定义 Key/Value 键值对"}},Xe={ssh:"bg-amber-500/20 text-amber-400 border-amber-500/30",docker:"bg-cyan-500/20 text-cyan-400 border-cyan-500/30",tls:"bg-green-500/20 text-green-400 border-green-500/30",aksk:"bg-purple-500/20 text-purple-400 border-purple-500/30",database:"bg-blue-500/20 text-blue-400 border-blue-500/30",api:"bg-orange-500/20 text-orange-400 border-orange-500/30",generic:"bg-gray-500/20 text-gray-400 border-gray-500/30"};function ut({open:j,onClose:M,credId:k}){const[n,g]=a.useState(null),[T,y]=a.useState(!1),[E,w]=a.useState({});if(a.useEffect(()=>{!k||!j||(y(!0),I.get(k).then(d=>{g(d)}).catch(()=>h.error("加载详情失败")).finally(()=>y(!1)))},[k,j]),!j||!k)return null;const c=d=>w(i=>({...i,[d]:!i[d]})),K=d=>{navigator.clipboard.writeText(d),h.success("已复制")},x=n?.secret_type,v=O[x],r=n?.content||{},o=({label:d,value:i,sensitive:m,fieldKey:A})=>{if(i==null||i==="")return null;const L=typeof i=="string"&&i.length>80,D=A?E[A]:!1;return e.jsxs("div",{"code-path":"src/components/deploy/CredentialManager.tsx:107:7",className:"mb-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/CredentialManager.tsx:108:9",className:"flex items-center gap-2 text-xs text-[var(--dg-text-muted)] mb-1",children:[e.jsx(xt,{"code-path":"src/components/deploy/CredentialManager.tsx:109:11",className:"h-3 w-3"}),d]}),e.jsxs("div",{"code-path":"src/components/deploy/CredentialManager.tsx:111:9",className:"flex gap-1",children:[L?e.jsx("textarea",{"code-path":"src/components/deploy/CredentialManager.tsx:113:13",readOnly:!0,value:m&&!D?"••••••••":i,className:"flex-1 rounded-md bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] text-[var(--dg-text-primary)] p-2 text-xs font-mono resize-none",rows:4}):e.jsx(p,{"code-path":"src/components/deploy/CredentialManager.tsx:117:13",readOnly:!0,value:m&&!D?"••••••••":String(i),className:"flex-1 bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] font-mono text-xs"}),e.jsxs("div",{"code-path":"src/components/deploy/CredentialManager.tsx:120:11",className:"flex flex-col gap-0.5 shrink-0",children:[m&&e.jsx(b,{"code-path":"src/components/deploy/CredentialManager.tsx:122:15",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>c(A),children:D?e.jsx(Ye,{"code-path":"src/components/deploy/CredentialManager.tsx:123:25",className:"h-3 w-3"}):e.jsx(Qe,{"code-path":"src/components/deploy/CredentialManager.tsx:123:58",className:"h-3 w-3"})}),e.jsx(b,{"code-path":"src/components/deploy/CredentialManager.tsx:126:13",variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>K(String(i)),children:e.jsx(Ve,{"code-path":"src/components/deploy/CredentialManager.tsx:127:15",className:"h-3 w-3"})})]})]})]})};return e.jsx(ze,{"code-path":"src/components/deploy/CredentialManager.tsx:136:5",open:j,onOpenChange:M,children:e.jsxs(Be,{"code-path":"src/components/deploy/CredentialManager.tsx:137:7",className:"sm:max-w-[680px] max-h-[85vh] overflow-y-auto bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:[e.jsx(Ge,{"code-path":"src/components/deploy/CredentialManager.tsx:138:9",children:e.jsxs(Ue,{"code-path":"src/components/deploy/CredentialManager.tsx:139:11",className:"text-[var(--dg-text-primary)] flex items-center gap-2",children:[v?e.jsx(v.icon,{"code-path":"src/components/deploy/CredentialManager.tsx:140:20",className:`h-5 w-5 ${v.color}`}):e.jsx(VLine truncated
|
||||
@@ -0,0 +1,2 @@
|
||||
import{j as t,L as k,Q as lt,r as n,D as X,a as G,b as K,c as U,d as W,e as mt,B as p,t as l,H as Y,f as dt,C as xt,F as pt}from"./index-HuRw9UhJ.js";import{C as ht,a as gt}from"./card-B2Wqa0sK.js";import{S as ut}from"./stat-strip-CVviXwc6.js";import{I as P}from"./input-C9Xfv8um.js";import{B as C}from"./badge-CeS-g-Od.js";import{C as I}from"./checkbox-B7nWBaO4.js";import{s as $,c as y,t as bt}from"./automation-B8G9u7Xj.js";import{C as vt}from"./circle-x-BVvXVx7p.js";import{S as B,a as z,b as O,c as R,d as J}from"./select-KDzbUQs3.js";import{T as A}from"./textarea-Bzol9o6k.js";import{L as N}from"./label-DvRDtaMA.js";import{T as yt,a as Ct,b as L,c as w,d as jt,e as f}from"./table-Du1vU-OM.js";import{H as Z}from"./history-CLAzTAyT.js";import{R as Jt}from"./refresh-cw-CSycAyA2.js";import{P as Nt}from"./plus-BVwIGPvl.js";import{S as ft}from"./search-CcKEpJIn.js";import{T as Q}from"./trash-2-Cf9-88KL.js";import{P as Dt}from"./package-open-DtPFmjqV.js";import{P as V}from"./play-BXdOitsb.js";import{P as Ft}from"./pause-R-v_3hMV.js";import{S as Mt}from"./square-pen-DoCLytAo.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";function tt(i){switch(i){case"success":return t.jsxs(C,{"code-path":"src/components/automation/cronJobHelpers.tsx:9:9",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[t.jsx(lt,{"code-path":"src/components/automation/cronJobHelpers.tsx:10:11",className:"h-3 w-3 mr-1"}),"成功"]});case"failed":return t.jsxs(C,{"code-path":"src/components/automation/cronJobHelpers.tsx:16:9",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:[t.jsx(vt,{"code-path":"src/components/automation/cronJobHelpers.tsx:17:11",className:"h-3 w-3 mr-1"}),"失败"]});case"running":return t.jsxs(C,{"code-path":"src/components/automation/cronJobHelpers.tsx:23:9",variant:"outline",className:"border-blue-500/30 text-blue-400 bg-blue-500/10 animate-pulse",children:[t.jsx(k,{"code-path":"src/components/automation/cronJobHelpers.tsx:24:11",className:"h-3 w-3 mr-1 animate-spin"}),"执行中"]});default:return t.jsx(C,{"code-path":"src/components/automation/cronJobHelpers.tsx:30:9",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-muted)]",children:"从未执行"})}}function wt(i){return{"0 2 * * *":"每天 02:00","0 3 * * 0":"每周日 03:00","*/5 * * * *":"每 5 分钟","0 * * * *":"每小时","0 9 * * 1":"每周一 09:00"}[i]||i}const q=[{value:"shell",label:"Shell 脚本",desc:"关联脚本库中的 Shell 脚本"},{value:"python",label:"Python 脚本",desc:"关联脚本库中的 Python 脚本"},{value:"command",label:"自定义命令",desc:"手动输入命令或脚本路径"}];function St({open:i,onOpenChange:g,editJob:s,onSuccess:D}){const[a,m]=n.useState({name:"",description:"",cron_expr:"",type:"shell",content:"",script_id:null}),[h,v]=n.useState([]),[r,d]=n.useState(null),[S,F]=n.useState(!1);n.useEffect(()=>{i&&($.getScripts({page_size:200}).then(e=>{v(e?.list||[])}).catch(()=>v([])),s?(m({name:s.name||"",description:s.description||"",cron_expr:s.cron_expr||"",type:s.type||"shell",content:s.content||"",script_id:s.script_id||null}),s.script_id?$.getScript(s.script_id).then(e=>{d(e)}).catch(()=>d(null)):d(null)):(m({name:"",description:"",cron_expr:"",type:"shell",content:"",script_id:null}),d(null)))},[i,s]);const M=a.type==="shell"||a.type==="python"?h.filter(e=>e.type===a.type):[],E=e=>{const x=h.find(j=>String(j.id)===e);x&&(d(x),m(j=>({...j,script_id:x.id,content:x.content})))},T=e=>{m(x=>({...x,type:e,script_id:null,content:e==="command"?x.content:""})),d(null)},H=async()=>{if(!a.name||!a.cron_expr){l.error("请填写任务名称和 Cron 表达式");return}if((a.type==="shell"||a.type==="python")&&!a.script_id){l.error("请选择关联的脚本");return}try{F(!0);const e={name:a.name,description:a.description,cron_expr:a.cron_expr,type:a.type,content:a.content,script_id:a.script_id};s?(await y.updateJob(s.id,e),l.success("任务更新成功")):(await y.createJob(e),l.success("任务创建成功")),g(!1),D()}catch(e){console.error("Failed to save cron job:",e),l.error(s?"更新失败":"创建失败")}finally{F(!1)}};return t.jsx(X,{"code-path":"src/components/automation/CronJobFormDialog.tsx:149:5",open:i,onOpenChange:g,children:t.jsxs(G,{"code-path":"src/components/automation/CronJobFormDialog.tsx:150:7",className:"max-w-2xl bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[t.jsxs(K,{"code-path":"src/components/automation/CronJobFormDialog.tsx:151:9",children:[t.jsx(U,{"code-path":"src/components/automation/CronJobFormDialog.tsx:152:11",children:s?"编辑定时任务":"新建定时任务"}),t.jsx(W,{"code-path":"src/components/automation/CronJobFormDialog.tsx:153:11",className:"text-[var(--dg-text-secondary)]",children:"配置 Cron 定时任务"})]}),t.jsxs("div",{"code-path":"src/components/automation/CronJobFormDialog.tsx:155:9",className:"space-y-4 py-4 max-Line truncated
|
||||
`).length," 行"]})]}),t.jsx("pre",{"code-path":"src/components/automation/CronJobFormDialog.tsx:275:19",className:"max-h-48 overflow-auto rounded-md bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] p-3 text-xs font-mono text-[var(--dg-text-secondary)] whitespace-pre-wrap break-all",children:r.content||"(空脚本)"})]})]}):t.jsxs("div",{"code-path":"src/components/automation/CronJobFormDialog.tsx:282:13",children:[t.jsx(N,{"code-path":"src/components/automation/CronJobFormDialog.tsx:283:15",className:"text-[var(--dg-text-primary)]",children:"执行命令"}),t.jsx(A,{"code-path":"src/components/automation/CronJobFormDialog.tsx:284:15",value:a.content,onChange:e=>m({...a,content:e.target.value}),placeholder:"/scripts/backup.sh arg1 arg2",rows:4,className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] mt-1 font-mono"})]})]}),t.jsxs(mt,{"code-path":"src/components/automation/CronJobFormDialog.tsx:294:9",children:[t.jsx(p,{"code-path":"src/components/automation/CronJobFormDialog.tsx:295:11",variant:"outline",onClick:()=>g(!1),className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)]",children:"取消"}),t.jsx(p,{"code-path":"src/components/automation/CronJobFormDialog.tsx:298:11",className:"bg-blue-600 hover:bg-blue-700",onClick:H,disabled:S,children:S?"保存中...":s?"保存修改":"创建任务"})]})]})})}function Et({open:i,onOpenChange:g}){const[s,D]=n.useState([]),[a,m]=n.useState(!1),[h,v]=n.useState(null);return n.useEffect(()=>{if(!i)return;(async()=>{try{m(!0);const d=await bt.getExecutions({task_type:"cron",page_size:50});D(d.list||[])}catch(d){console.error("Failed to load executions:",d)}finally{m(!1)}})()},[i]),t.jsx(X,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:51:5",open:i,onOpenChange:g,children:t.jsxs(G,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:52:7",className:"max-w-4xl bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] max-h-[85vh] overflow-y-auto",children:[t.jsxs(K,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:53:9",children:[t.jsx(U,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:54:11",children:"执行历史"}),t.jsx(W,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:55:11",className:"text-[var(--dg-text-secondary)]",children:"定时任务执行记录与输出日志"})]}),t.jsx("div",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:57:9",className:"mt-4",children:a?t.jsx("div",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:59:13",className:"flex items-center justify-center py-8",children:t.jsx(k,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:60:15",className:"h-6 w-6 text-[var(--dg-text-secondary)] animate-spin"})}):s.length===0?t.jsxs("div",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:63:13",className:"flex flex-col items-center justify-center py-12 text-[var(--dg-text-secondary)]",children:[t.jsx(Z,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:64:15",className:"h-10 w-10 mb-3 opacity-40"}),t.jsx("p",{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:65:15",className:"text-sm",children:"暂无执行记录"})]}):t.jsxs(yt,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:68:13",children:[t.jsx(Ct,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:69:15",children:t.jsxs(L,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:70:17",className:"border-[var(--dg-border)]",children:[t.jsx(w,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:71:19",className:"text-[var(--dg-text-secondary)]",children:"任务"}),t.jsx(w,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:72:19",className:"text-[var(--dg-text-secondary)]",children:"状态"}),t.jsx(w,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:73:19",className:"text-[var(--dg-text-secondary)]",children:"耗时"}),t.jsx(w,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:74:19",className:"text-[var(--dg-text-secondary)]",children:"执行时间"}),t.jsx(w,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:75:19",className:"text-[var(--dg-text-secondary)]",children:"输出"})]})}),t.jsx(jt,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:78:15",children:s.map(r=>t.jsxs(n.Fragment,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:80:19",children:[t.jsxs(L,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:81:21",className:"border-[var(--dg-border)] cursor-pointer hover:bg-[var(--dg-bg-hover)]/50",onClick:()=>v(h===r.id?null:r.id),children:[t.jsx(f,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:82:23",className:"text-[var(--dg-text-primary)]",children:r.task_name}),t.jsx(f,{"code-path":"src/components/automation/ExecutionHistoryDialog.tsx:83:
Line truncated
|
||||
@@ -0,0 +1,4 @@
|
||||
import{ag as B,af as m,bc as tt,r as A,j as s,p as at,A as Dt,a0 as u,E as Nt,m as ie,B as se,a5 as st,T as rt,v as $e,au as Fe,S as ot,s as Me,C as Ct}from"./index-HuRw9UhJ.js";import{d as he}from"./dashboard-H9WVvG1k.js";import{s as kt}from"./server-BQNr9a-x.js";import{k as Rt}from"./index-GZwpRmKU.js";import{S as At}from"./stat-strip-CVviXwc6.js";import{C as K,b as U,c as z,d as V,a as W}from"./card-B2Wqa0sK.js";import{B as L}from"./badge-CeS-g-Od.js";import{H as wt}from"./hard-drive-laLCm9TI.js";import{b as C,r as nt,s as St,t as ct,v as Ot,n as X,w as Ee,x as I,L as T,y as dt,z as Te,E as it,D as Pt,c as _t,e as ae,o as J,S as Et,A as Tt,F as Lt,d as Be,j as It,i as Q,l as $t,u as Ft,G as Mt,H as me,I as Bt,a as lt,J as Kt,K as pe,M as Ke,g as Ut,N as zt,R as Re,C as ht,X as pt,Y as mt,T as Ae,B as Vt}from"./generateCategoricalChart-DrSMejeS.js";import{A as Wt,a as Ne}from"./AreaChart-CTVvt9LZ.js";import{B as qt}from"./BarChart-DrZfTE9F.js";import{M as Ht}from"./memory-stick-CLkdveMl.js";import{A as le}from"./arrow-right-C1YbOgFu.js";import{C as Gt}from"./circle-DV2nF4ie.js";var Zt=["points","className","baseLinePoints","connectNulls"];function ee(){return ee=Object.assign?Object.assign.bind():function(t){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},ee.apply(this,arguments)}function Xt(t,a){if(t==null)return{};var r=Yt(t,a),e,o;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o<n.length;o++)e=n[o],!(a.indexOf(e)>=0)&&Object.prototype.propertyIsEnumerable.call(t,e)&&(r[e]=t[e])}return r}function Yt(t,a){if(t==null)return{};var r={};for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)){if(a.indexOf(e)>=0)continue;r[e]=t[e]}return r}function Ue(t){return ta(t)||ea(t)||Qt(t)||Jt()}function Jt(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Qt(t,a){if(t){if(typeof t=="string")return we(t,a);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return we(t,a)}}function ea(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function ta(t){if(Array.isArray(t))return we(t)}function we(t,a){(a==null||a>t.length)&&(a=t.length);for(var r=0,e=new Array(a);r<a;r++)e[r]=t[r];return e}var ze=function(a){return a&&a.x===+a.x&&a.y===+a.y},aa=function(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=[[]];return a.forEach(function(e){ze(e)?r[r.length-1].push(e):r[r.length-1].length>0&&r.push([])}),ze(a[0])&&r[r.length-1].push(a[0]),r[r.length-1].length<=0&&(r=r.slice(0,-1)),r},ce=function(a,r){var e=aa(a);r&&(e=[e.reduce(function(n,c){return[].concat(Ue(n),Ue(c))},[])]);var o=e.map(function(n){return n.reduce(function(c,d,l){return"".concat(c).concat(l===0?"M":"L").concat(d.x,",").concat(d.y)},"")}).join("");return e.length===1?"".concat(o,"Z"):o},sa=function(a,r,e){var o=ce(a,e);return"".concat(o.slice(-1)==="Z"?o.slice(0,-1):o,"L").concat(ce(r.reverse(),e).slice(1))},ra=function(a){var r=a.points,e=a.className,o=a.baseLinePoints,n=a.connectNulls,c=Xt(a,Zt);if(!r||!r.length)return null;var d=B("recharts-polygon",e);if(o&&o.length){var l=c.stroke&&c.stroke!=="none",i=sa(r,o,n);return m.createElement("g",{className:d},m.createElement("path",ee({},C(c,!0),{fill:i.slice(-1)==="Z"?c.fill:"none",stroke:"none",d:i})),l?m.createElement("path",ee({},C(c,!0),{fill:"none",d:ce(r,n)})):null,l?m.createElement("path",ee({},C(c,!0),{fill:"none",d:ce(o,n)})):null)}var p=ce(r,n);return m.createElement("path",ee({},C(c,!0),{fill:p.slice(-1)==="Z"?c.fill:"none",className:d,d:p}))},Ce,Ve;function oa(){if(Ve)return Ce;Ve=1;var t=nt(),a=St(),r=ct();function e(o,n){return o&&o.length?t(o,r(n,2),a):void 0}return Ce=e,Ce}var na=oa();const ca=tt(na);var ke,We;function da(){if(We)return ke;We=1;var t=nt(),a=ct(),r=Ot();function e(o,n){return o&&o.length?t(o,a(n,2),r):void 0}return ke=e,ke}var ia=da();const la=tt(ia);var ha=["cx","cy","angle","ticks","axisLine"],pa=["ticks","tick","angle","tickFormatter","stroke"];function re(t){"@babel/helpers - typeof";return re=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},re(t)}function de(){return de=Object.assign?Object.assign.bind():function(t){for(var a=1;a<arguments.length;a++){var r=arguments[a];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},de.apply(this,arguments)}function qe(t,a){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);a&&(e=e.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,e)}return r}function G(t){for(var a=1;a<arguments.length;a++){var r=arguments[a]!=null?arguments[a]:{};a%2?qe(Object(r),!0).forEach(function(e){ve(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):qe(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function He(t,a){if(t==null)return{};var r=ma(t,a),e,o;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(o=0;o<n.length;o++)e=n[o],!(a.indexOf(e)>=0)&&Object.prototype.propertyIsEnumerable.call(t,e)&&(r[e]=t[e])}return r}function ma(t,a){if(t==null)return{};var r={};for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)){if(a.indexOf(e)>=0)continue;r[e]=t[e]}return r}function ua(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}function Ge(t,a){for(var r=0;r<a.length;r++){var e=a[r];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,xt(e.key),e)}}function xa(t,a,r){return a&&Ge(t.prototype,a),r&&Ge(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function ba(t,a,r){return a=be(a),fa(t,ut()?Reflect.construct(a,r||[],be(t).constructor):a.apply(t,r))}function fa(t,a){if(a&&(re(a)==="object"||typeof a=="function"))return a;if(a!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ga(t)}function ga(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function ut(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ut=function(){return!!t})()}function be(t){return be=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},be(t)}function va(t,a){if(typeof a!="function"&&a!==null)throw new TypeError("Supe
Line truncated
|
||||
the props "valueKey" will be deprecated in 1.1.0`),y="value"):ae(i)&&(Ke(!1,`Use "dataKey" to specify the value of pie,
|
||||
the props "valueKey" will be deprecated in 1.1.0`),y=x);var j=o.filter(function(D){return J(D,y,0)!==0}).length,k=(v>=360?j:j-1)*l,S=v-j*N-k,w=o.reduce(function(D,M){var O=J(M,y,0);return D+(Q(O)?O:0)},0),_;if(w>0){var F;_=o.map(function(D,M){var O=J(D,y,0),q=J(D,p,M),H=(Q(O)?O:0)/w,E;M?E=F.endAngle+me(h)*l*(O!==0?1:0):E=c;var R=E+me(h)*((O!==0?N:0)+H*S),Le=(E+R)/2,Ie=(f.innerRadius+f.outerRadius)/2,yt=[{name:q,value:O,payload:D,dataKey:y,type:b}],jt=I(f.cx,f.cy,Ie,Le);return F=g(g(g({percent:H,cornerRadius:n,name:q,tooltipPayload:yt,midAngle:Le,middleRadius:Ie,tooltipPosition:jt},D),f),{},{value:J(D,y),startAngle:E,endAngle:R,payload:D,paddingAngle:me(h)*l}),F})}return g(g({},f),{},{sectors:_,data:o})});var Ia=Ut({chartName:"PieChart",GraphicalChild:$,validateTooltipEventTypes:["item"],defaultTooltipEventType:"item",legendContent:"children",axisComponents:[{axisType:"angleAxis",AxisComp:De},{axisType:"radiusAxis",AxisComp:ye}],formatAxisMap:zt,defaultProps:{layout:"centric",startAngle:0,endAngle:360,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"}});const $a={阿里云:"#ff6a00",aliyun:"#ff6a00",AWS:"#ff9900",aws:"#ff9900",腾讯云:"#006eff",tencent:"#006eff",华为云:"#ff0000",huawei:"#ff0000",Azure:"#0078d4",azure:"#0078d4"},et=["#ff6a00","#ff9900","#006eff","#ff0000","#0078d4","#10b981","#a855f7","#ec4899"];function Fa(t){if(!t||t.length<2)return{pct:0,label:"暂无数据",direction:"neutral"};const a=Number(t[t.length-1].cost??0),r=Number(t[t.length-2].cost??0);if(r===0)return{pct:0,label:a>0?"新增费用":"持平",direction:"neutral"};const e=(a-r)/r*100,o=e>.05?"up":e<-.05?"down":"neutral",n=`${e>0?"+":""}${e.toFixed(1)}% 较上月`;return{pct:e,label:n,direction:o}}function Ma(t,a,r,e=24){const o=[];for(let n=e-1;n>=0;n--){const c=new Date(Date.now()-n*60*60*1e3);o.push({time:`${c.getHours().toString().padStart(2,"0")}:00`,cpu:Number(Math.max(0,Math.min(100,t+(Math.random()-.5)*15)).toFixed(1)),memory:Number(Math.max(0,Math.min(100,a+(Math.random()-.5)*10)).toFixed(1)),disk:Number(Math.max(0,Math.min(100,r+(Math.random()-.5)*5)).toFixed(1))})}return o}function Ba(t,a){if(!t||t.length===0)return[];const r={};for(const e of t){const o=e.timestamp;if(!o)continue;const c=`${new Date(o).getHours().toString().padStart(2,"0")}:00`;r[c]||(r[c]={}),e.name==="cpu"&&(r[c].cpu=Number(e.value)||0),e.name==="memory"&&(r[c].memory=Number(e.value)||0)}return Object.entries(r).sort((e,o)=>e[0].localeCompare(o[0])).map(([e,o])=>({time:e,cpu:Number((o.cpu??0).toFixed(1)),memory:Number((o.memory??0).toFixed(1)),disk:Number(a.toFixed(1))}))}function _e({active:t,payload:a,label:r}){return!t||!a?null:s.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:94:5",className:"chart-tooltip px-3 py-2",children:[s.jsx("p",{"code-path":"src/components/dashboard/DashboardCharts.tsx:95:7",className:"text-xs font-medium mb-1.5",style:{color:"var(--dg-text-secondary)"},children:r}),a.map((e,o)=>s.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:97:9",className:"flex items-center gap-2 text-xs",children:[s.jsx("span",{"code-path":"src/components/dashboard/DashboardCharts.tsx:98:11",className:"w-2 h-2 rounded-full",style:{backgroundColor:e.color}}),s.jsxs("span",{"code-path":"src/components/dashboard/DashboardCharts.tsx:99:11",style:{color:"var(--dg-text-muted)"},children:[e.name,":"]}),s.jsx("span",{"code-path":"src/components/dashboard/DashboardCharts.tsx:100:11",className:"font-medium",style:{color:"var(--dg-text-primary)"},children:typeof e.value=="number"?`${e.value}%`:e.value})]},o))]})}function Ka({costStats:t}){const a=t?.cloud_costs??[],r=t?.month_trend??[],e=a.map((d,l)=>({name:d.cloud,value:d.cost,color:$a[d.cloud]||et[l%et.length]})),o=r.map(d=>({month:d.month,cost:d.cost})),n=t?.total_cost??e.reduce((d,l)=>d+l.value,0),c=Fa(r);return s.jsxs(K,{"code-path":"src/components/dashboard/DashboardCharts.tsx:123:5",className:"dg-card dg-card-hover",children:[s.jsx(U,{"code-path":"src/components/dashboard/DashboardCharts.tsx:124:7",className:"pb-2",children:s.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:125:9",className:"flex items-center justify-between",children:[s.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:126:11",children:[s.jsx(z,{"code-path":"src/components/dashboard/DashboardCharts.tsx:127:13",className:"text-[var(--dg-text-primary)]",children:"云成本概览"}),s.jsx(V,{"code-path":"src/components/dashboard/DashboardCharts.tsx:128:13",className:"text-[var(--dg-text-muted)]",children:"本月各云平台费用支出"})]}),s.jsxs("div",{"code-path":"src/components/dashboard/DashboardCharts.tsx:130:11",className:"text-right",children:[s.jsxs("p",{"code-path":"src/components/dashboard/DashboardCharts.tsx:131:13",className:"text-2xl font-bold text-[var(--dg-text-primary)] tracking-tight",children:["¥",Number(n).toLocaleString()]}),s.jsx("p",{"code-path":"src/components/dashboard/DashboardCharts.tsx:134:13",className:u("text-xs
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as Ze,f as he,r,t as o,j as e,B as i,E as L,Z as Ce,D as le,a as xe,b as pe,c as ge,d as be,G as De,v as je,W as F,X as ke,T as Se,C as te,z as ve,Q as Te,e as Me}from"./index-HuRw9UhJ.js";import{T as Ae,a as ze,b as de,c as me}from"./tabs-XYsjnHzX.js";import{I as u}from"./input-C9Xfv8um.js";import{B as v}from"./badge-CeS-g-Od.js";import{C as re,b as Le,c as Fe,a as oe}from"./card-B2Wqa0sK.js";import{L as c}from"./label-DvRDtaMA.js";import{S as l}from"./switch--ZaqVsRJ.js";import{S as Y,a as ee,b as ae,c as se,d as A}from"./select-KDzbUQs3.js";import{p as k,z}from"./datasource-CLdSbgtw.js";import{R as ce}from"./refresh-cw-CSycAyA2.js";import{P as H}from"./plus-BVwIGPvl.js";import{S as B}from"./star-CJEUXmIA.js";import{S as Ne}from"./square-pen-DoCLytAo.js";import{T as fe}from"./trash-2-Cf9-88KL.js";import{C as I}from"./chevron-up-GXrRy2ul.js";import{W as Ie}from"./wrench-BNS3BrjG.js";import{C as _e}from"./circle-x-BVvXVx7p.js";import{C as qe}from"./circle-check-C5nUiTvE.js";import"./index-DwvHXNyF.js";const Ee=[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]],ne=Ze("plug",Ee),ie={name:"",url:"",access:"server",http_method:"POST",basic_auth:!1,basic_auth_user:"",basic_auth_pass:"",with_credentials:!1,tls_client_auth:!1,with_ca_cert:!1,ca_cert:"",skip_tls_verify:!1,custom_headers_json:"",enable_alerting:!0,alertmanager_ds:"",scrape_interval:15,query_timeout:60,disable_metrics_lookup:!1,custom_query_params:"",is_default:!1};function Oe(){const x=he(),[h,p]=r.useState([]),[V,$]=r.useState(!0),[U,g]=r.useState(!1),[b,q]=r.useState(null),[s,_]=r.useState({...ie}),[P,D]=r.useState([]),[y,E]=r.useState(!1),[,O]=r.useState(!1),[S,R]=r.useState(!1),[T,w]=r.useState(!1),[M,N]=r.useState(!1),[j,Z]=r.useState(null),m=r.useCallback(async()=>{try{const a=await k.list();p(a?.data||a||[])}catch{o.error("获取数据源列表失败")}finally{$(!1)}},[]);r.useEffect(()=>{m()},[m]);const G=()=>{q(null),_({...ie}),D([]),Z(null),E(!1),O(!1),R(!1),w(!1),g(!0)},W=a=>{q(a.id),_({name:a.name,url:a.url,access:a.access||"server",http_method:a.http_method||"POST",basic_auth:a.basic_auth||!1,basic_auth_user:a.basic_auth_user||"",basic_auth_pass:a.basic_auth_pass||"",with_credentials:a.with_credentials||!1,tls_client_auth:a.tls_client_auth||!1,with_ca_cert:a.with_ca_cert||!1,ca_cert:a.ca_cert||"",skip_tls_verify:a.skip_tls_verify||!1,custom_headers_json:a.custom_headers||"",enable_alerting:a.enable_alerting!==!1,alertmanager_ds:a.alertmanager_ds||"",scrape_interval:a.scrape_interval||15,query_timeout:a.query_timeout||60,disable_metrics_lookup:a.disable_metrics_lookup||!1,custom_query_params:a.custom_query_params||"",is_default:a.is_default||!1});try{const d=JSON.parse(a.custom_headers||"[]");D(Array.isArray(d)?d:[])}catch{D([])}Z(null),g(!0)},n=(a,d)=>{_(f=>({...f,[a]:d}))},Q=()=>{D(a=>[...a,{header:"",value:""}])},t=a=>{D(d=>d.filter((f,X)=>X!==a))},C=(a,d,f)=>{D(X=>{const K=[...X];return K[a]={...K[a],[d]:f},K})},J=async()=>{if(!s.name.trim()){o.error("请输入数据源名称");return}if(!s.url.trim()){o.error("请输入 Prometheus URL");return}const a={name:s.name.trim(),url:s.url.trim(),access:s.access,http_method:s.http_method,basic_auth:s.basic_auth,basic_auth_user:s.basic_auth_user,basic_auth_pass:s.basic_auth_pass,with_credentials:s.with_credentials,tls_client_auth:s.tls_client_auth,with_ca_cert:s.with_ca_cert,ca_cert:s.ca_cert,skip_tls_verify:s.skip_tls_verify,custom_headers:JSON.stringify(P),enable_alerting:s.enable_alerting,alertmanager_ds:s.alertmanager_ds,scrape_interval:s.scrape_interval,query_timeout:s.query_timeout,disable_metrics_lookup:s.disable_metrics_lookup,custom_query_params:s.custom_query_params,is_default:s.is_default};try{b?(await k.update(b,a),o.success("数据源更新成功")):(await k.create(a),o.success("数据源创建成功")),g(!1),m()}catch(d){o.error(d?.message||"操作失败")}},Pe=async a=>{if(await x({title:"删除数据源",description:`确定删除数据源「${a.name}」吗?此操作不可撤销。`,variant:"destructive"}))try{await k.delete(a.id),o.success("已删除"),m()}catch{o.error("删除失败")}},ye=async a=>{try{await k.setDefault(a.id),o.success(`已将「${a.name}」设为默认数据源`),m()}catch{o.error("设置失败")}},we=async()=>{if(!s.url.trim()){o.error("请先输入 URL");return}N(!0),Z(null);try{const a=await k.testConnection({url:s.url.trim(),basic_auth:s.basic_auth,basic_auth_user:s.basic_auth_user,basic_auth_pass:s.basic_auth_pass,skip_tls_verify:s.skip_tls_verify}),d=a?.data||a;Z(d)}catch(a){Z({success:!1,message:a?.message||"测试失败"})}finally{N(!1)}};return V?e.jsx("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:298:7",className:"flex items-center justify-center h-96",children:e.jsx(ce,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as te,r as o,j as e,D as A,a as H,b as M,c as W,G as J,w as Y,Z as oe,e as ae,B as d,t as r,L as F,Q as ne,C as le,W as ce,d as de,f as re,V as pe}from"./index-HuRw9UhJ.js";import{I as z}from"./input-C9Xfv8um.js";import{B as w}from"./badge-CeS-g-Od.js";import{T as ie,a as xe,b as O,c as B}from"./tabs-XYsjnHzX.js";import{L as _}from"./label-DvRDtaMA.js";import{S as K,a as Q,b as X,c as Z,d as E}from"./select-KDzbUQs3.js";import{d as i}from"./config-J-uY34Cv.js";import{c as me}from"./credential-snjgV65G.js";import{P as G}from"./plus-BVwIGPvl.js";import{R as ee}from"./refresh-cw-CSycAyA2.js";import{C as ye}from"./circle-x-BVvXVx7p.js";import{D as I}from"./download-CjFatm64.js";import{W as he}from"./wrench-BNS3BrjG.js";import{P}from"./pencil-BZ7zX3m0.js";import{T as U}from"./trash-2-Cf9-88KL.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const ge=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],Ce=te("settings-2",ge);function be({open:S,onOpenChange:b,type:L,editId:n,repos:h,registries:j,onSave:m}){const c=L==="repo",[g,u]=o.useState(""),[C,f]=o.useState(""),[p,v]=o.useState(""),[y,N]=o.useState(""),[D,T]=o.useState(""),[s,l]=o.useState([]),[x,V]=o.useState(!1),t=s.filter(a=>c?!0:a.secret_type==="docker"),k=async()=>{try{const a=await me.list({page_size:100});l(a?.list||[])}catch{}};o.useEffect(()=>{if(k(),n)if(c){const a=h.find(R=>R.id===n);a&&(u(a.name),f(""),v(a.url),T(a.credential_id||""))}else{const a=j.find(R=>R.id===n);a&&(u(a.name),f(""),v(a.registry_url),N(a.namespace||""),T(a.credential_id||""))}else u(""),f(""),v(""),N(""),T("")},[n,S,c]);const $=async()=>{if(!g.trim()||!p.trim()){r.error("请填写名称和地址");return}V(!0);try{const a=D?Number(D):null,R=c?{name:g.trim(),description:C.trim(),url:p.trim(),credential_id:a}:{name:g.trim(),description:C.trim(),registry_url:p.trim(),namespace:y.trim(),credential_id:a};n?(c?await i.updateRepo(n,R):await i.updateRegistry(n,R),r.success("已更新")):(c?await i.createRepo(R):await i.createRegistry(R),r.success("已创建")),b(!1),m()}catch{r.error("保存失败")}finally{V(!1)}},se=c?J:Y;return e.jsx(A,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:96:5",open:S,onOpenChange:b,children:e.jsxs(H,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:97:7",className:"sm:max-w-[480px] bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:[e.jsx(M,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:98:9",children:e.jsxs(W,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:99:11",className:"text-[var(--dg-text-primary)] flex items-center gap-2",children:[e.jsx(se,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:100:13",className:"h-5 w-5 text-[var(--dg-blue)]"}),n?"编辑":"新增",c?" Git 仓库":" 镜像仓库"]})}),e.jsxs("div",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:104:9",className:"space-y-4 py-2",children:[e.jsxs("div",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:105:11",className:"space-y-1",children:[e.jsx(_,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:105:38",children:"名称 *"}),e.jsx(z,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:106:13",value:g,onChange:a=>u(a.target.value),placeholder:c?"如:GitLab CE":"如:Harbor",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]"})]}),e.jsxs("div",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:107:11",className:"space-y-1",children:[e.jsx(_,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:107:38",children:c?"仓库 URL *":"Registry URL *"}),e.jsx(z,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:108:13",value:p,onChange:a=>v(a.target.value),placeholder:c?"http://10.10.10.72:9000/group/repo.git":"http://10.10.10.72",className:"font-mono text-sm bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]"})]}),!c&&e.jsxs("div",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:109:23",className:"space-y-1",children:[e.jsx(_,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:109:50",children:"默认命名空间"}),e.jsx(z,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:110:13",value:y,onChange:a=>N(a.target.value),placeholder:"如:aiops",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]"})]}),e.jsxs("div",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:113:11",className:"space-y-1",children:[e.jsxs(_,{"code-path":"src/components/deploy/CredentialFormDialog.tsx:114:13",children:["关联凭证 ",e.jsx("span",{"code-path":"src/components/deploy/CredentialFormDialog.tsx:114:25",className:"text-xs text-[var(--dg-text-secondary)] opacity-70",children:"(认证由凭据管理统一配置)"})]}),e.jsxs(K,{"code-path":"src/components/deploy/CredentialLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as Ne,r as o,f as ve,j as e,L as M,v as ae,B as a,V as D,O as fe,X as pe,Y as we,u as be,t as c}from"./index-HuRw9UhJ.js";import{C as g,a as N}from"./card-B2Wqa0sK.js";import{I as h}from"./input-C9Xfv8um.js";import{B as x}from"./badge-CeS-g-Od.js";import{S as v,a as f,b as w,c as b,d as r}from"./select-KDzbUQs3.js";import{L as i}from"./label-DvRDtaMA.js";import{p as Se}from"./pipeline-CRmSOJEC.js";import{d as m}from"./config-J-uY34Cv.js";import{P as le}from"./plus-BVwIGPvl.js";import{S as ne}from"./save-PutEGGnz.js";import{T as ke}from"./trash-2-Cf9-88KL.js";import{U as de}from"./user-plus-DK2M0PwG.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const Ie=[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]],re=Ne("regex",Ie);function Oe(){const[l,me]=o.useState([]),[xe,T]=o.useState(!0),[S,A]=o.useState(!1),[y,ie]=o.useState([]),[n,k]=o.useState(null),[F,ye]=o.useState([]),[I,_]=o.useState([]),[p,he]=o.useState(""),[j,q]=o.useState(""),[G,H]=o.useState(!1),[J,z]=o.useState(!1),[P,O]=o.useState(""),[E,X]=o.useState(""),[C,Y]=o.useState(""),[K,Q]=o.useState("editor"),[W,Z]=o.useState(""),[Ce,U]=o.useState(null),[L,ee]=o.useState(""),[se,te]=o.useState(""),Re=ve(),R=async()=>{T(!0);try{const[s,t,d]=await Promise.all([m.getItemRoles(),Se.getPipelines({page_size:200}),be.getUsers({page_size:500})]);me(Array.isArray(s)?s:s?.list||s?.data||[]),ie(Array.isArray(t)?t:t?.list||t?.data||[]);const u=Array.isArray(d)?d:d?.list||d?.data||[];ye(u)}catch{}finally{T(!1)}};o.useEffect(()=>{R()},[]);const $=async()=>{if(!p){_([]);return}try{const s=await m.getUserItemRoles(Number(p));_(Array.isArray(s)?s:s?.data||s?.list||[])}catch{_([])}};o.useEffect(()=>{$()},[p]);const B=o.useMemo(()=>{const s={};return l.forEach(t=>{try{const d=new RegExp(t.pattern);s[t.id]=y.filter(u=>d.test(u.code)).map(u=>u.code)}catch{s[t.id]=[]}}),s},[l,y]),oe=(n?l.find(s=>s.id===n):null)?B[n]||[]:[],ue=async()=>{if(!P.trim()||!E.trim()||!C.trim()){c.error("名称、代码、正则表达式不能为空");return}A(!0);try{await m.createItemRole({name:P.trim(),code:E.trim(),pattern:C.trim(),role:K,description:W}),c.success("已创建"),z(!1),O(""),X(""),Y(""),Q("editor"),Z(""),R()}catch(s){c.error(s?.message||"创建失败")}finally{A(!1)}},Ae=async s=>{if(!L.trim()){c.error("正则不能为空");return}A(!0);try{await m.updateItemRole(s,{pattern:L,role:se}),c.success("已更新"),U(null),R()}catch(t){c.error(t?.message||"更新失败")}finally{A(!1)}},je=async s=>{if(await Re({title:"删除角色",description:`确定删除「${s.name}」?匹配 ${B[s.id]?.length||0} 条流水线`,variant:"destructive"}))try{await m.deleteItemRole(s.id),c.success("已删除"),R()}catch{c.error("删除失败")}},Be=async s=>{try{await m.updateItemRole(s.id,{status:s.status?0:1}),c.success(s.status?"已禁用":"已启用"),R()}catch{c.error("操作失败")}},De=async()=>{if(!p||!j){c.error("请选择用户和角色");return}H(!0);try{await m.assignItemRole(Number(p),{user_id:Number(p),item_role_id:Number(j)}),c.success("已分配"),q(""),$()}catch(s){c.error(s?.message||"分配失败")}finally{H(!1)}},ge=async s=>{try{await m.removeItemRole(Number(p),s),c.success("已撤销"),$()}catch{c.error("撤销失败")}},ce=s=>s==="owner"?"bg-amber-500/20 text-amber-400 border-amber-500/30":s==="editor"?"bg-blue-500/20 text-blue-400 border-blue-500/30":"bg-slate-500/20 text-slate-400 border-slate-500/30",V=F.find(s=>String(s.id)===p);return xe?e.jsx("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:167:23",className:"flex items-center justify-center py-20",children:e.jsx(M,{"code-path":"src/components/deploy/DeployRBAC.tsx:167:79",className:"w-6 h-6 animate-spin"})}):e.jsxs("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:170:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:172:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/deploy/DeployRBAC.tsx:173:9",children:[e.jsxs("h1",{"code-path":"src/components/deploy/DeployRBAC.tsx:174:11",className:"text-xl font-bold flex items-center gap-2 text-[var(--dg-text-primary)]",children:[e.jsx(ae,{"code-path":"src/components/deploy/DeployRBAC.tsx:175:13",className:"w-5 h-5 text-purple-500"}),"发布权限"]}),e.jsx("p",{"code-path":"src/components/deploy/DeployRBAC.tsx:177:11",className:"text-sm text-[var(--dg-text-secondary)] mt-1",children:"Jenkins-style Role Strategy — 按流水线 code 正则匹配分配角色"})]}),e.jsxs(a,{"code-path":"src/components/deploy/DeployRBAC.tsx:181:9",onClick:()=>z(!0),disabled:J,children:[e.jsx(le,{"code-path":"src/components/deploy/DeployRBAC.tsx:182:11",className:"w-4 h-4 mr-1"}),"新建角色"]})]}),e.jsx(g,{"code-path":"src/components/deploy/DeployRBAC.tsx:187:7",className:"bg-[var(-Line truncated
|
||||
@@ -0,0 +1,20 @@
|
||||
import{i as Le,f as st,r as x,w as nt,N as we,A as Kt,j as e,B as h,L as he,W as Xt,o as Zt,H as Qt,C as es,R as ys,p as ks,v as ts,$ as ss,E as Qe,S as gt,G as gs,M as vs,z as bt,Q as yt,V as it,m as ns,bd as js,T as Ot,au as Ns,X as os,a3 as vt,k as Ds}from"./index-HuRw9UhJ.js";import{C as F,a as Y,b as ie,c as pe}from"./card-B2Wqa0sK.js";import{I as b}from"./input-C9Xfv8um.js";import{L as P}from"./label-DvRDtaMA.js";import{B as te}from"./badge-CeS-g-Od.js";import{k as ee}from"./index-GZwpRmKU.js";import{u as Ce}from"./use-toast-B25j_Fg3.js";import{S as fe,f as Fe,e as fs,b as Ss,s as pt,Y as It,P as Es,a as ws}from"./PodFileBrowser-DmjH49sm.js";import{T as Be,a as Oe,b as ge,c as K,d as Ie,e as X}from"./table-Du1vU-OM.js";import{P as ce}from"./plus-BVwIGPvl.js";import{H as Cs}from"./history-CLAzTAyT.js";import{M as jt}from"./minus-BLAorVC4.js";import{F as Nt}from"./file-text-BqORyhNh.js";import{H as as}from"./hard-drive-laLCm9TI.js";import{E as kt}from"./external-link-JBfQbjOd.js";import{T as et}from"./textarea-Bzol9o6k.js";import{S as $e,a as _e,b as tt,c as Ge,d as ye}from"./select-KDzbUQs3.js";import{S as Dt}from"./switch--ZaqVsRJ.js";import{T as be}from"./trash-2-Cf9-88KL.js";import{Z as cs}from"./zap-CS68N0Jd.js";import{F as Ps}from"./folder-open-BKJ-_5eY.js";import{R as rs}from"./rotate-cw-Dt34Qj6N.js";import{P as ls}from"./play-BXdOitsb.js";import{S as ot}from"./save-PutEGGnz.js";import{D as As}from"./disc-DI2GsPrr.js";import{a as Vs,F as mt}from"./folder-CyecCkCR.js";import{R as at}from"./refresh-cw-CSycAyA2.js";import{C as Ws}from"./circle-x-BVvXVx7p.js";import{A as Ts}from"./arrow-left-J2A6V6Vq.js";import{P as Ht}from"./pause-R-v_3hMV.js";import"./copy-Ci4WwJkK.js";import"./sparkles-DEwze8TU.js";import"./xterm-DSqgeKvr.js";import"./box-DPoVh2_c.js";import"./minimize-2-UErWMOt6.js";import"./upload-oCjAhX91.js";import"./download-CjFatm64.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const Rs=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],Bs=Le("hash",Rs);const Os=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]],Is=Le("heart",Os);const Hs=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],zs=Le("image",Hs);const Ms=[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]],$s=Le("key-round",Ms);const _s=[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]],zt=Le("tags",_s);function ds(t){const s=t.conditions||t.pod_conditions||[],o=n=>s.find(r=>(r.type||r.Type)===n),a=n=>n?.lastTransitionTime||n?.LastTransitionTime||n?.last_transition_time;return{scheduled:a(o("PodScheduled")||{}),initialized:a(o("Initialized")||{}),containersReady:a(o("ContainersReady")||{}),ready:a(o("Ready")||{}),startTime:t.start_time||t.startTime}}function Gs(t){const{clusterCode:s,namespace:o,deployment:a,pods:n,revisions:r,onRefresh:d}=t,{toast:m}=Ce(),V=st(),[i,N]=x.useState("pods"),[D,B]=x.useState(null),[g,E]=x.useState(null),[f,w]=x.useState(a?.replicas||0),[z,O]=x.useState(!1),[ne,U]=x.useState([]),[I,L]=x.useState([]),[q,M]=x.useState([]),[Q,oe]=x.useState(""),[c,u]=x.useState([]),[j,R]=x.useState([]),p=a?.ready_replicas??a?.readyReplicas??0,C=a?.replicas??0,H=p===C&&C>0;x.useEffect(()=>{i==="services"&&(oe("services"),Promise.all([ee.getNamespaceServices(s,o).catch(()=>[]),ee.getNamespaceIngresses(s,o).catch(()=>[])]).then(([y,_])=>{const G=W=>Array.isArray(W)?W:W?.list||W?.items||W?.data||[],$=G(y),ue=G(_),Z=a?.spec?.selector?.matchLabels||a?.spec?.template?.metadata?.labels||{},me=$.filter(W=>{const ae=W.spec?.selector||W.selector||{};return Object.keys(ae).length===0?!1:Object.entries(ae).every(([ve,je])=>Z[ve]===je)}).map(W=>({name:W.name||W.metadata?.name,type:W.spec?.type||W.type||"ClusterIP",clusterIP:W.spec?.clusterIP||W.cluster_ip||"<none>",ports:(W.spec?.ports||W.ports||[]).map(ae=>`${ae.port}${ae.targetPort?":"+ae.targetPort:""}/${ae.protocol||"TCP"}`),selector:W.spec?.selector||W.selector||{},age:W.age||""})),Se=new Set(me.map(W=>W.name)),re=ue.filter(W=>(W.spec?.rules||W.rules||[]).some(ve=>(ve.http?.paths||ve.paths||[]).some(je=>{const v=je.backend?.service?.nLine truncated
|
||||
`):n.exec?.command||"",initialDelaySeconds:n.initialDelaySeconds,periodSeconds:n.periodSeconds,timeoutSeconds:n.timeoutSeconds,successThreshold:n.successThreshold,failureThreshold:n.failureThreshold}},o=n=>{if(!n)return{type:"none"};let r="none";return n.exec?r="exec":n.httpGet?r="httpGet":n.tcpSocket&&(r="tcpSocket"),{type:r,execCommand:Array.isArray(n.exec?.command)?n.exec.command.join(`
|
||||
`):"",httpPath:n.httpGet?.path||"",httpPort:n.httpGet?.port??"",tcpPort:n.tcpSocket?.port??""}},a=t.securityContext;return{name:t.name||"",image:t.image||"",imagePullPolicy:t.imagePullPolicy||"",command:Array.isArray(t.command)?t.command:[],args:Array.isArray(t.args)?t.args:[],workingDir:t.workingDir||"",env:(Array.isArray(t.env)?t.env:[]).map(n=>({name:n.name||"",value:n.value??""})),ports:(Array.isArray(t.ports)?t.ports:[]).map(n=>({name:n.name||"",containerPort:n.containerPort??"",protocol:n.protocol||"TCP"})),resources:{requests:t.resources?.requests||{},limits:t.resources?.limits||{}},livenessProbe:s(t.livenessProbe),readinessProbe:s(t.readinessProbe),startupProbe:s(t.startupProbe),lifecycle:t.lifecycle?{postStart:t.lifecycle.postStart?o(t.lifecycle.postStart):void 0,preStop:t.lifecycle.preStop?o(t.lifecycle.preStop):void 0}:null,securityContext:a?{runAsUser:a.runAsUser,runAsGroup:a.runAsGroup,runAsNonRoot:a.runAsNonRoot,privileged:a.privileged,readOnlyRootFilesystem:a.readOnlyRootFilesystem,allowPrivilegeEscalation:a.allowPrivilegeEscalation,capabilitiesAdd:a.capabilities?.add||[],capabilitiesDrop:a.capabilities?.drop||[]}:null,volumeMounts:(Array.isArray(t.volumeMounts)?t.volumeMounts:[]).map(n=>({name:n.name||"",mountPath:n.mountPath||"",subPath:n.subPath||"",readOnly:n.readOnly||!1}))}}function $t(t=""){return{name:t,image:"",imagePullPolicy:"IfNotPresent",command:[],args:[],workingDir:"",env:[],ports:[],resources:{},livenessProbe:null,readinessProbe:null,startupProbe:null,lifecycle:null,securityContext:null,volumeMounts:[]}}function xt(t){if(!t||t.type==="none"||!t.type)return;const s={};if(t.type==="httpGet")s.httpGet={},t.httpPath&&(s.httpGet.path=t.httpPath),t.httpPort!==""&&t.httpPort!=null&&(s.httpGet.port=typeof t.httpPort=="number"?t.httpPort:Number(t.httpPort)),t.httpHost&&(s.httpGet.host=t.httpHost);else if(t.type==="tcpSocket")s.tcpSocket={},t.tcpPort!==""&&t.tcpPort!=null&&(s.tcpSocket.port=typeof t.tcpPort=="number"?t.tcpPort:Number(t.tcpPort));else if(t.type==="exec"){const o=(t.execCommand||"").split(`
|
||||
`).map(a=>a.trim()).filter(Boolean);o.length&&(s.exec={command:o})}return t.initialDelaySeconds!=null&&(s.initialDelaySeconds=t.initialDelaySeconds),t.periodSeconds!=null&&(s.periodSeconds=t.periodSeconds),t.timeoutSeconds!=null&&(s.timeoutSeconds=t.timeoutSeconds),t.successThreshold!=null&&(s.successThreshold=t.successThreshold),t.failureThreshold!=null&&(s.failureThreshold=t.failureThreshold),Object.keys(s).length>0?s:void 0}function _t(t){if(!(!t||t.type==="none"||!t.type)){if(t.type==="exec"){const s=(t.execCommand||"").split(`
|
||||
`).map(o=>o.trim()).filter(Boolean);return s.length?{exec:{command:s}}:void 0}if(t.type==="httpGet"){const s={httpGet:{}};return t.httpPath&&(s.httpGet.path=t.httpPath),t.httpPort!==""&&t.httpPort!=null&&(s.httpGet.port=Number(t.httpPort)),s}if(t.type==="tcpSocket"){const s={tcpSocket:{}};return t.tcpPort!==""&&t.tcpPort!=null&&(s.tcpSocket.port=Number(t.tcpPort)),s}}}function Gt(t){const s={name:t.name};t.image&&(s.image=t.image),t.imagePullPolicy&&(s.imagePullPolicy=t.imagePullPolicy),t.workingDir&&(s.workingDir=t.workingDir),t.command.length>0&&(s.command=t.command),t.args.length>0&&(s.args=t.args),t.env.length>0&&(s.env=t.env.filter(i=>i.name.trim()).map(i=>{const N={name:i.name};return i.value!=null&&(N.value=i.value),N})),t.ports.length>0&&(s.ports=t.ports.filter(i=>i.containerPort!=="").map(i=>{const N={containerPort:typeof i.containerPort=="number"?i.containerPort:Number(i.containerPort)};return i.name&&(N.name=i.name),i.protocol&&(N.protocol=i.protocol),N}));const o=t.resources.requests,a=t.resources.limits,n=o&&Object.values(o).some(i=>i&&i.trim()),r=a&&Object.values(a).some(i=>i&&i.trim());(n||r)&&(s.resources={},n&&(s.resources.requests={},o.cpu?.trim()&&(s.resources.requests.cpu=o.cpu),o.memory?.trim()&&(s.resources.requests.memory=o.memory)),r&&(s.resources.limits={},a.cpu?.trim()&&(s.resources.limits.cpu=a.cpu),a.memory?.trim()&&(s.resources.limits.memory=a.memory)));const d=xt(t.livenessProbe);d&&(s.livenessProbe=d);const m=xt(t.readinessProbe);m&&(s.readinessProbe=m);const V=xt(t.startupProbe);if(V&&(s.startupProbe=V),t.lifecycle){const i={},N=_t(t.lifecycle.postStart);N&&(i.postStart=N);const D=_t(t.lifecycle.preStop);D&&(i.preStop=D),Object.keys(i).length>0&&(s.lifecycle=i)}if(t.securityContext){const i=t.securityContext,N={};i.runAsUser!==""&&i.runAsUser!=null&&(N.runAsUser=Number(i.runAsUser)),i.runAsGroup!==""&&i.runAsGroup!=null&&(N.runAsGroup=Number(i.runAsGroup)),i.runAsNonRoot!=null&&(N.runAsNonRoot=i.runAsNonRoot),i.privileged!=null&&(N.privileged=i.privileged),i.readOnlyRootFilesystem!=null&&(N.readOnlyRootFilesystem=i.readOnlyRootFilesystem),i.allowPrivilegeEscalation!=null&&(N.allowPrivilegeEscalation=i.allowPrivilegeEscalation);const D=(i.capabilitiesAdd||[]).filter(Boolean),B=(i.capabilitiesDrop||[]).filter(Boolean);(D.length||B.length)&&(N.capabilities={},D.length&&(N.capabilities.add=D),B.length&&(N.capabilities.drop=B)),Object.keys(N).length>0&&(s.securityContext=N)}return t.volumeMounts.length>0&&(s.volumeMounts=t.volumeMounts.filter(i=>i.name.trim()&&i.mountPath.trim()).map(i=>{const N={name:i.name,mountPath:i.mountPath};return i.subPath&&(N.subPath=i.subPath),i.readOnly&&(N.readOnly=!0),N})),s}function Lt(t){return t.join(`
|
||||
`)}function Ft(t){return t.split(`
|
||||
`).map(s=>s.trim()).filter(Boolean)}function Us({container:t,onUpdate:s}){const o=t,a="flex items-center gap-1.5 text-xs font-semibold text-slate-300 mb-2";return e.jsxs(e.Fragment,{children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:36:7",className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:37:9",children:[e.jsx(P,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:38:11",className:"text-slate-400 text-xs",children:"容器名称"}),e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:39:11",value:o.name,onChange:n=>s({name:n.target.value}),placeholder:"my-app",className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:43:9",children:[e.jsx(P,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:44:11",className:"text-slate-400 text-xs",children:"容器镜像"}),e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:45:11",value:o.image,onChange:n=>s({image:n.target.value}),placeholder:"nginx:1.25",className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:49:9",children:[e.jsx(P,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:50:11",className:"text-slate-400 text-xs",children:"镜像拉取策略"}),e.jsxs($e,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:51:11",value:o.imagePullPolicy||"__none",onValueChange:n=>s({imagePullPolicy:n==="__none"?"":n}),children:[e.jsx(_e,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:52:13",className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 text-xs h-8",children:e.jsx(tt,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:53:15"})}),e.jsxs(Ge,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:55:13",className:"bg-slate-900 border-slate-700",children:[e.jsx(ye,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:56:15",value:"__none",className:"text-slate-400",children:"不设置(默认 IfNotPresent)"}),e.jsx(ye,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:57:15",value:"Always",className:"text-slate-200",children:"Always"}),e.jsx(ye,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:58:15",value:"IfNotPresent",className:"text-slate-200",children:"IfNotPresent"}),e.jsx(ye,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:59:15",value:"Never",className:"text-slate-200",children:"Never"})]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:63:9",children:[e.jsx(P,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:64:11",className:"text-slate-400 text-xs",children:"工作目录 (workingDir)"}),e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:65:11",value:o.workingDir||"",onChange:n=>s({workingDir:n.target.value}),placeholder:"/app",className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:72:7",className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:73:9",children:[e.jsx(P,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:74:11",className:"text-slate-400 text-xs",children:"启动命令 (command) — 每行一个"}),e.jsx(et,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:75:11",value:Lt(o.command),placeholder:`/bin/sh
|
||||
-c`,onChange:n=>s({command:Ft(n.target.value)}),className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs min-h-[60px]"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:79:9",children:[e.jsx(P,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:80:11",className:"text-slate-400 text-xs",children:"启动参数 (args) — 每行一个"}),e.jsx(et,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:81:11",value:Lt(o.args),placeholder:`--config=/etc/app.yaml
|
||||
--debug`,onChange:n=>s({args:Ft(n.target.value)}),className:"mt-1 bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs min-h-[60px]"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:88:7",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:89:9",className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:90:11",className:a,children:[e.jsx(Qt,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:90:39",className:"h-3.5 w-3.5 text-cyan-400"})," 环境变量"]}),e.jsxs(h,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:91:11",size:"sm",variant:"outline",className:"h-6 border-slate-700 text-slate-300 text-[11px]",onClick:()=>s({env:[...o.env,{name:"",value:""}]}),children:[e.jsx(ce,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:93:13",className:"h-3 w-3 mr-1"}),"新增"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:96:9",className:"space-y-1.5",children:[o.env.map((n,r)=>e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:98:13",className:"grid grid-cols-[1fr_1.4fr_auto] gap-2",children:[e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:99:15",value:n.name,placeholder:"KEY",onChange:d=>{const m=[...o.env];m[r]={...n,name:d.target.value},s({env:m})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:102:15",value:n.value||"",placeholder:"value",onChange:d=>{const m=[...o.env];m[r]={...n,value:d.target.value},s({env:m})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsx(h,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:105:15",variant:"ghost",size:"icon",className:"h-8 w-8 text-red-400",onClick:()=>s({env:o.env.filter((d,m)=>m!==r)}),children:e.jsx(be,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:107:17",className:"h-3.5 w-3.5"})})]},r)),o.env.length===0&&e.jsx("p",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:111:34",className:"text-[11px] text-slate-600",children:"无环境变量"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:116:7",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:117:9",className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:118:11",className:a,children:[e.jsx(we,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:118:39",className:"h-3.5 w-3.5 text-indigo-400"})," 端口"]}),e.jsxs(h,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:119:11",size:"sm",variant:"outline",className:"h-6 border-slate-700 text-slate-300 text-[11px]",onClick:()=>s({ports:[...o.ports,{name:"",containerPort:"",protocol:"TCP"}]}),children:[e.jsx(ce,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:121:13",className:"h-3 w-3 mr-1"}),"新增"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:124:9",className:"space-y-1.5",children:[o.ports.map((n,r)=>e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:126:13",className:"grid grid-cols-[1fr_1fr_100px_auto] gap-2",children:[e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:127:15",value:n.name||"",placeholder:"http",onChange:d=>{const m=[...o.ports];m[r]={...n,name:d.target.value},s({ports:m})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:130:15",type:"number",value:n.containerPort,placeholder:"8080",onChange:d=>{const m=[...o.ports];m[r]={...n,containerPort:d.target.value},s({ports:m})},className:"bg-slate-800 border-slate-700 text-slate-200 font-mono text-xs h-8"}),e.jsxs($e,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:133:15",value:n.protocol||"TCP",onValueChange:d=>{const m=[...o.ports];m[r]={...n,protocol:d},s({ports:m})},children:[e.jsx(_e,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:134:17",className:"bg-slate-800 border-slate-700 text-slate-200 text-xs h-8",children:e.jsx(tt,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:135:19"})}),e.jsxs(Ge,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.tsx:137:17",className:"bg-slate-900 border-slate-700",children:[e.jsx(ye,{"code-path":"src/components/kubernetes/deployment-edit/ContainerEditor.ts
Line truncated
|
||||
114.114.114.114`,rows:3,className:"w-full mt-1 bg-slate-800 border border-slate-700 rounded text-xs text-slate-300 font-mono p-2 resize-y"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:74:13",children:[e.jsx(P,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:75:15",className:"text-slate-500 text-xs",children:"searches(搜索域,每行一个)"}),e.jsx("textarea",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:76:15",value:o,onChange:E=>a(E.target.value),placeholder:`svc.cluster.local
|
||||
cluster.local`,rows:3,className:"w-full mt-1 bg-slate-800 border border-slate-700 rounded text-xs text-slate-300 font-mono p-2 resize-y"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:85:11",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:86:13",className:"flex items-center justify-between mb-1",children:[e.jsx(P,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:87:15",className:"text-slate-400 text-xs",children:"options(DNS 选项)"}),e.jsxs(h,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:88:15",size:"sm",variant:"ghost",className:"h-6 text-xs text-slate-400",onClick:V,children:[e.jsx(ce,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:89:17",className:"h-3 w-3 mr-1"}),"添加"]})]}),n.length===0?e.jsx("p",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:93:15",className:"text-xs text-slate-600 italic",children:"未配置"}):n.map((E,f)=>e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:96:17",className:"flex items-center gap-2 mb-1.5",children:[e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:97:19",value:E.name,onChange:w=>i(f,{name:w.target.value}),placeholder:"ndots",className:"flex-1 h-7 bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx("span",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:103:19",className:"text-slate-600",children:":"}),e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:104:19",value:E.value,onChange:w=>i(f,{value:w.target.value}),placeholder:"5(可留空)",className:"flex-1 h-7 bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx(h,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:110:19",size:"icon",variant:"ghost",className:"h-6 w-6 text-red-400",onClick:()=>N(f),children:e.jsx(be,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:111:21",className:"h-3 w-3"})})]},f))]})]})]}),e.jsxs(F,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:120:7",className:"bg-slate-900 border-slate-800",children:[e.jsx(ie,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:121:9",className:"pb-3",children:e.jsxs(pe,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:122:11",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(vs,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:123:13",className:"h-4 w-4 text-amber-400"}),"主机别名 (hostAliases)"]})}),e.jsxs(Y,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:126:9",className:"pt-0 space-y-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:127:11",className:"flex items-center justify-between mb-1",children:[e.jsx(P,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:128:13",className:"text-slate-400 text-xs",children:"IP → 主机名映射(注入 Pod 的 /etc/hosts)"}),e.jsxs(h,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:129:13",size:"sm",variant:"ghost",className:"h-6 text-xs text-slate-400",onClick:D,children:[e.jsx(ce,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:130:15",className:"h-3 w-3 mr-1"}),"添加"]})]}),d.length===0?e.jsx("p",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:134:13",className:"text-xs text-slate-600 italic",children:"未配置"}):d.map((E,f)=>e.jsxs("div",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:137:15",className:"flex items-center gap-2",children:[e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:138:17",value:E.ip,onChange:w=>B(f,{ip:w.target.value}),placeholder:"10.10.10.72",className:"w-40 h-7 bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx("span",{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:144:17",className:"text-slate-600",children:"→"}),e.jsx(b,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:145:17",value:E.hostnames,onChange:w=>B(f,{hostnames:w.target.value}),placeholder:"gitlab.local, registry.local",className:"flex-1 h-7 bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx(h,{"code-path":"src/components/kubernetes/deployment-edit-advanced/DnsHostSection.tsx:151:17",size:"icon",variant:"ghost",className:"h-6 w-6 text-red-400",onClick:()=>g(f),children:e.jsx(be,{"code-path":"src/compone
Line truncated
|
||||
`):""),Wt(Array.isArray(T.searches)?T.searches.join(`
|
||||
`):"");const xe=Array.isArray(T.options)?T.options:[];Rt(xe.map(le=>({name:le.name||"",value:le.value||""}))),N(!1)},[a]);const ps=()=>C(S=>[...S,{key:"",value:""}]),ms=S=>C(A=>A.filter((se,ke)=>ke!==S)),xs=(S,A)=>C(se=>se.map((ke,Ae)=>Ae===S?{...ke,...A}:ke)),hs=async()=>{V(!0);try{const S=JSON.parse(JSON.stringify(D));S.spec=S.spec||{},S.spec.template=S.spec.template||{},S.spec.template.spec=S.spec.template.spec||{};const A=S.spec.template.spec;if(S.spec.strategy={type:g},g==="RollingUpdate"&&(S.spec.strategy.rollingUpdate={maxSurge:f,maxUnavailable:z}),ne&&(S.spec.revisionHistoryLimit=Number(ne)),I&&(S.spec.progressDeadlineSeconds=Number(I)),q==="nodeName"&&Q.trim())A.nodeName=Q.trim(),delete A.nodeSelector,A.affinity&&delete A.affinity.nodeAffinity;else if(q==="nodeSelector"){const T={};for(const{key:xe,value:le}of p){const ze=xe.trim();ze&&(T[ze]=le)}Object.keys(T).length>0?A.nodeSelector=T:delete A.nodeSelector,A.nodeName&&delete A.nodeName,A.affinity&&delete A.affinity.nodeAffinity}else if(q==="nodeAffinity"){const T=p.filter(xe=>xe.key.trim()).map(xe=>({key:xe.key.trim(),operator:"In",values:[xe.value]}));T.length>0?(A.affinity=A.affinity||{},A.affinity.nodeAffinity={requiredDuringSchedulingIgnoredDuringExecution:{nodeSelectorTerms:[{matchExpressions:T}]}}):A.affinity&&delete A.affinity.nodeAffinity,delete A.nodeSelector,A.nodeName&&delete A.nodeName}const se=l.filter(T=>T.key||T.operator==="Exists").map(T=>{const xe={};return T.key&&(xe.key=T.key),T.operator&&(xe.operator=T.operator),T.value&&T.operator!=="Exists"&&(xe.value=T.value),T.effect&&(xe.effect=T.effect),T.tolerationSeconds&&T.effect==="NoExecute"&&(xe.tolerationSeconds=Number(T.tolerationSeconds)),xe});se.length>0?A.tolerations=se:delete A.tolerations,y&&(A.dnsPolicy=y),G&&(A.restartPolicy=G),ue&&(A.schedulerName=ue),me&&(A.terminationGracePeriodSeconds=Number(me)),re&&(A.serviceAccountName=re);const ke={};ae&&(ke.fsGroup=Number(ae)),je&&(ke.runAsUser=Number(je)),de&&(ke.runAsGroup=Number(de)),Ne&&(ke.runAsNonRoot=!0),Object.keys(ke).length>0?A.securityContext=ke:delete A.securityContext,ct?A.hostNetwork=!0:delete A.hostNetwork,rt?A.hostIPC=!0:delete A.hostIPC,Ee?A.hostPID=!0:delete A.hostPID,St?A.shareProcessNamespace=!0:delete A.shareProcessNamespace;const Ae=wt.filter(T=>T.ip.trim()).map(T=>({ip:T.ip.trim(),hostnames:T.hostnames.split(/[,\s]+/).map(xe=>xe.trim()).filter(Boolean)})).filter(T=>T.hostnames.length>0);Ae.length>0?A.hostAliases=Ae:delete A.hostAliases;const Ve={},He=Pt.split(`
|
||||
`).map(T=>T.trim()).filter(Boolean);He.length>0&&(Ve.nameservers=He);const qe=Vt.split(`
|
||||
`).map(T=>T.trim()).filter(Boolean);qe.length>0&&(Ve.searches=qe);const De=Tt.filter(T=>T.name.trim()).map(T=>{const xe={name:T.name.trim()};return T.value.trim()&&(xe.value=T.value.trim()),xe});De.length>0&&(Ve.options=De),Object.keys(Ve).length>0?A.dnsConfig=Ve:delete A.dnsConfig;const lt=JSON.stringify(S,null,2);await ee.updateResourceYaml(t,s,"deployments",o,lt),d({title:"高级设置已保存",description:`${o} 更新已提交`}),n()}catch(S){d({title:"保存失败",description:S?.message||String(S),variant:"destructive"})}finally{V(!1)}};return i?e.jsx(F,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:322:7",className:"bg-slate-900 border-slate-800",children:e.jsxs(Y,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:323:9",className:"p-12 text-center",children:[e.jsx(he,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:324:11",className:"h-6 w-6 animate-spin mx-auto text-slate-500"}),e.jsx("p",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:325:11",className:"text-slate-500 mt-3 text-sm",children:"加载中..."})]})}):a?e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:342:5",className:"space-y-4",children:[e.jsxs(F,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:344:7",className:"bg-slate-900 border-slate-800",children:[e.jsx(ie,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:345:9",className:"pb-3",children:e.jsxs(pe,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:346:11",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(at,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:347:13",className:"h-4 w-4 text-blue-400"}),"更新策略 (Strategy)"]})}),e.jsxs(Y,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:350:9",className:"pt-0 space-y-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:351:11",className:"flex items-center gap-4",children:[e.jsxs("label",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:352:13",className:"flex items-center gap-1.5 text-xs text-slate-300 cursor-pointer",children:[e.jsx("input",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:353:15",type:"radio",checked:g==="RollingUpdate",onChange:()=>E("RollingUpdate"),className:"accent-blue-500"}),"RollingUpdate(滚动更新)"]}),e.jsxs("label",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:357:13",className:"flex items-center gap-1.5 text-xs text-slate-300 cursor-pointer",children:[e.jsx("input",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:358:15",type:"radio",checked:g==="Recreate",onChange:()=>E("Recreate"),className:"accent-blue-500"}),"Recreate(重建)"]})]}),g==="RollingUpdate"&&e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:364:13",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:365:15",children:[e.jsx(P,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:366:17",className:"text-slate-500 text-xs",children:"maxSurge(整数或百分比,超出期望副本数)"}),e.jsx(b,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:367:17",value:f,onChange:S=>w(S.target.value),placeholder:"25%",className:"h-8 mt-1 bg-slate-800 border-slate-700 text-slate-200 text-sm font-mono"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:370:15",children:[e.jsx(P,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:371:17",className:"text-slate-500 text-xs",children:"maxUnavailable(整数或百分比,不可用上限)"}),e.jsx(b,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:372:17",value:z,onChange:S=>O(S.target.value),placeholder:"25%",className:"h-8 mt-1 bg-slate-800 border-slate-700 text-slate-200 text-sm font-mono"})]})]})]})]}),e.jsxs(F,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:381:7",className:"bg-slate-900 border-slate-800",children:[e.jsx(ie,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:382:9",className:"pb-3",children:e.jsxs(pe,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:383:11",className:"text-sm text-slate-200 flex items-center gap-2",children:[e.jsx(es,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:384:13",className:"h-4 w-4 text-amber-400"}),"历史版本 & 进度"]})}),e.jsxs(Y,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:387:9",className:"pt-0 grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:388:11",children:[e.jsx(P,{"code-path":"src/components/kubernetes/DeploymentEditAdvanced.tsx:389:13",className:"text-slate-500 text-xs",children:"revisionHistoryLimit(保留 RS 历史)"}),e.jsx(b,{"code-path":"src/c
Line truncated
|
||||
bg-slate-800 border border-slate-700 text-slate-300 hover:border-blue-500/50 hover:text-blue-300 transition-colors`,children:[e.jsx(cs,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:422:23",className:"h-2.5 w-2.5"}),l.label,e.jsxs("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:424:23",className:"text-slate-500 text-[9px]",children:[l.protocol," ",l.port,":",l.targetPort]})]},l.name))})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:431:15",className:"space-y-2",children:[e.jsxs(P,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:432:17",className:"text-slate-500 text-[11px]",children:["端口配置 ",e.jsxs("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:433:24",className:"text-slate-600",children:["(",U.ports.length," 个端口)"]})]}),U.ports.map((l,k)=>e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:436:19",className:"flex items-center gap-1.5 p-2 rounded bg-slate-800/50 border border-slate-700/50",children:[e.jsx(b,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:438:21",value:l.name,onChange:y=>Q(k,"name",y.target.value),placeholder:"http",className:"h-7 w-[72px] bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsxs("select",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:442:21",value:l.protocol,onChange:y=>Q(k,"protocol",y.target.value),className:"h-7 bg-slate-800 border border-slate-700 rounded text-xs text-slate-300 px-1.5 w-16",children:[e.jsx("option",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:444:23",value:"TCP",children:"TCP"}),e.jsx("option",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:445:23",value:"UDP",children:"UDP"})]}),e.jsx(b,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:448:21",value:l.port,onChange:y=>Q(k,"port",y.target.value),type:"number",placeholder:"port",className:"h-7 w-[72px] bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:451:21",className:"text-slate-600 text-[10px]",children:"→"}),e.jsx(b,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:452:21",value:l.targetPort,onChange:y=>Q(k,"targetPort",y.target.value),type:"number",placeholder:"targetPort",className:"h-7 w-[72px] bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),U.type==="NodePort"&&e.jsx(b,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:457:23",value:l.nodePort,onChange:y=>Q(k,"nodePort",y.target.value),type:"number",placeholder:"30000-32767",className:"h-7 w-[80px] bg-slate-800 border-slate-700 text-slate-300 text-xs font-mono"}),e.jsx(h,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:462:21",size:"icon",variant:"ghost",className:"h-6 w-6 text-slate-500 hover:text-red-400",onClick:()=>oe(k),disabled:U.ports.length<=1,children:e.jsx(jt,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:464:23",className:"h-3 w-3"})})]},k)),e.jsxs(h,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:469:17",size:"sm",variant:"outline",className:"h-7 w-full border-dashed border-slate-700 text-slate-400 text-xs",onClick:()=>M(),children:[e.jsx(ce,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:471:19",className:"h-3 w-3 mr-1"}),"添加自定义端口"]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:476:15",className:"text-[10px] text-slate-500 border-t border-slate-700/50 pt-2",children:[e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:477:17",className:"text-slate-600",children:"selector (自动检测): "}),Object.keys(E).length>0?Object.entries(E).map(([l,k])=>e.jsxs("code",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:480:21",className:"bg-slate-800 px-1 py-0.5 rounded text-slate-400 ml-1",children:[l,"=",k]},l)):e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:483:19",className:"text-slate-600 italic",children:"未检测到"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:487:15",className:"flex justify-end gap-2 pt-1",children:[e.jsx(h,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:488:17",size:"sm",variant:"ghost",className:"h-7 text-xs text-slate-400",onClick:()=>ne(null),children:"取消"}),e.jsx(h,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:489:17",size:"sm",className:"h-7 bg-blue-600 hover:bg-blue-700 text-xs",onClick:C,children:"创建"})]})]})]})]}),e.jsxs(F,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:497:7",className:"bg-slate-900 border-slate-800",children:[e.jsxs(ie,{"code-path":"src/components/kubernetes/DeploymentEditService.tsx:498:9",className:"pb-3",children:[e.jsxs("div",{"code-path":"src/components/kub
Line truncated
|
||||
${N?"border-blue-500 text-blue-400":i.available?"border-transparent text-slate-400 hover:text-slate-200":"border-transparent text-slate-600 cursor-not-allowed"}`,children:[e.jsx(D,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:596:15",className:"h-3.5 w-3.5"}),i.label,i.badge&&e.jsx("span",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:599:17",className:`text-[9px] px-1 py-0.5 rounded ${N?"bg-blue-500/20 text-blue-300":"bg-slate-800 text-slate-600"}`,children:i.badge})]},i.key)})}),d==="basic"?e.jsx(Zs,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:610:9",clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:r}):d==="containers"?e.jsx(Xs,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:620:9",clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:r}):d==="storage"?e.jsx(tn,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:630:9",clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:r}):d==="advanced"?e.jsx(an,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:640:9",clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:r}):d==="service"?e.jsx(rn,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:650:9",clusterCode:t,namespace:s,deploymentName:o,manifest:a,onSaved:n,onCancel:r}):null]})}function pn({clusterCode:t,namespace:s,deploymentName:o}){const{toast:a}=Ce(),n=vt(V=>V.token)||localStorage.getItem("token")||"",r=`${window.location.origin}/api/v1/clusters/${t}/namespaces/${s}/deployments/${o}/update-image`,d=`curl -X POST '${r}' \\
|
||||
-H 'Authorization: Bearer ${n?n.substring(0,16)+"...":"YOUR_TOKEN"}' \\
|
||||
-H 'Content-Type: application/json' \\
|
||||
-d '{"image": "harbor.example.com/app:v1.0", "container": "your-container-name"}'`,m=V=>{navigator.clipboard.writeText(V).then(()=>a({title:"已复制"})).catch(()=>{})};return e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:678:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:679:7",children:[e.jsx(P,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:680:9",className:"text-slate-400 text-sm",children:"Webhook URL"}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:681:9",className:"flex items-center gap-2 mt-1",children:[e.jsx("code",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:682:11",className:"flex-1 text-xs text-slate-300 bg-slate-800 rounded px-3 py-2 break-all font-mono",children:r}),e.jsx(h,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:683:11",variant:"outline",size:"sm",className:"border-slate-700 text-slate-400 shrink-0",onClick:()=>m(r),children:"复制"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:686:7",children:[e.jsx(P,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:687:9",className:"text-slate-400 text-sm",children:"curl 示例"}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:688:9",className:"relative mt-1",children:[e.jsx("pre",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:689:11",className:"text-xs text-slate-300 bg-slate-800 rounded p-3 overflow-x-auto font-mono whitespace-pre-wrap",children:d}),e.jsx(h,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:690:11",variant:"outline",size:"sm",className:"absolute top-2 right-2 border-slate-700 text-slate-400",onClick:()=>m(d),children:"复制"})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:693:7",className:"text-xs text-slate-500 space-y-1",children:[e.jsx("p",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:694:9",children:"• 使用 Bearer Token 认证(JWT 登录令牌)"}),e.jsxs("p",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:695:9",children:["• ",e.jsx("code",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:695:14",className:"text-slate-400",children:"image"})," 必填,指定新镜像地址"]}),e.jsxs("p",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:696:9",children:["• ",e.jsx("code",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:696:14",className:"text-slate-400",children:"container"})," 可选,不填则更新第一个容器"]})]})]})}function Ze({title:t,children:s,onClose:o}){return e.jsx("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:705:5",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:o,children:e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:706:7",className:"bg-slate-900 border border-slate-700 rounded-xl p-6 w-[460px] max-w-[90vw] shadow-2xl",onClick:a=>a.stopPropagation(),children:[e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:707:9",className:"flex items-center justify-between mb-4",children:[e.jsx("h2",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:708:11",className:"text-base font-bold text-slate-100",children:t}),e.jsx(h,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:709:11",variant:"ghost",size:"icon",className:"h-7 w-7 text-slate-400",onClick:o,children:e.jsx(os,{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:709:100",className:"h-4 w-4"})})]}),s]})})}function mn({clusterCode:t,namespace:s,podName:o,containers:a,onClose:n}){const{toast:r}=Ce(),[d,m]=x.useState(""),[V,i]=x.useState(200),[N,D]=x.useState(a[0]||""),[B,g]=x.useState(!1),[E,f]=x.useState(!1),w=async()=>{g(!0);try{const O=await ee.getPodLogs(t,s,o,V,N||void 0);m(O?.data?.logs||O?.logs||O||"无日志")}catch{m("获取日志失败")}finally{g(!1)}};x.useEffect(()=>{w()},[N,V]);const z=async()=>{f(!0);const O=vt.getState().token||"",ne="",U=N?`&container=${encodeURIComponent(N)}`:"",I=`${ne}/api/v1/kubernetes/${t}/namespace/${s}/pods/${o}/logs?tail=${V}&stream=true${U}`;try{const q=(await fetch(I,{headers:{Authorization:`Bearer ${O}`}})).body?.getReader();if(!q)return;const M=new TextDecoder;let Q="";for(;;){const{done:oe,value:c}=await q.read();if(oe)break;Q+=M.decode(c,{stream:!0}),m(Q)}}catch{r({title:"流式日志连接中断",variant:"destructive"})}finally{f(!1)}};return e.jsx("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:764:5",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:n,children:e.jsxs("div",{"code-path":"src/components/kubernetes/DeploymentWorkload.tsx:765:7",className:"bg-slate-900 border border-slate-700 rounded-xl w-[90vw] max-w-4xl max-h-[80vh] flex flex-col",onClick:O=>O.stopPropagation(),children:[e.jsxs("div",{"code-path"
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{r as n,j as e,B as m,G as E,C as U,D as A,a as H,b as X,c as q,d as J,e as K,L as V}from"./index-HuRw9UhJ.js";import{I as l}from"./input-C9Xfv8um.js";import{L as d}from"./label-DvRDtaMA.js";import{C as j,a as M}from"./card-B2Wqa0sK.js";import{B as h}from"./badge-CeS-g-Od.js";import{c as u}from"./cloud-sEaHmpLm.js";import{R as L}from"./refresh-cw-CSycAyA2.js";import{P as k}from"./plus-BVwIGPvl.js";import{S as W}from"./search-CcKEpJIn.js";import{C as P}from"./circle-check-C5nUiTvE.js";import{C as Y}from"./circle-x-BVvXVx7p.js";import{P as O}from"./pen-C8XHRV1-.js";import{T as Z}from"./trash-2-Cf9-88KL.js";function xe(){const[i,b]=n.useState([]),[N,v]=n.useState(!0),[g,B]=n.useState(""),[D,F]=n.useState("all"),[I,p]=n.useState(!1),[f,_]=n.useState(!1),[r,y]=n.useState(null),[a,t]=n.useState({name:"",registrar:"",status:"active",expire_date:"",dns_provider:"",record_count:"",ssl_enabled:!1,ssl_expire_date:""}),T=()=>{y(null),t({name:"",registrar:"",status:"active",expire_date:"",dns_provider:"",record_count:"",ssl_enabled:!1,ssl_expire_date:""})},R=()=>{T(),p(!0)},$=s=>{y(s);const o=c=>c?c.substring(0,10):"";t({name:s.name||"",registrar:s.registrar||"",status:s.status||"active",expire_date:o(s.expire_date||""),dns_provider:s.dns_provider||s.dnsProvider||"",record_count:String(s.record_count??s.recordCount??""),ssl_enabled:s.ssl_enabled??s.sslEnabled??!1,ssl_expire_date:o(s.ssl_expire_date||"")}),p(!0)},z=async()=>{if(a.name.trim())try{_(!0);const s={name:a.name.trim(),registrar:a.registrar.trim(),status:a.status,expire_date:a.expire_date,dns_provider:a.dns_provider.trim(),record_count:Number(a.record_count)||0,ssl_enabled:a.ssl_enabled,ssl_expire_date:a.ssl_expire_date};r?await u.updateDomain(r.id,s):await u.createDomain(s),p(!1),x()}catch(s){console.error(r?"更新域名失败:":"创建域名失败:",s)}finally{_(!1)}},x=async()=>{try{v(!0);const s=await u.getDomains();b(s?.list||[])}catch(s){console.error("加载域名列表失败:",s),b([])}finally{v(!1)}};n.useEffect(()=>{x()},[]);const G=async s=>{try{await u.deleteDomain(s),x()}catch(o){console.error("删除域名失败:",o)}},C=i.filter(s=>{const o=(s.name||"").toLowerCase().includes(g.toLowerCase())||(s.registrar||"").toLowerCase().includes(g.toLowerCase()),c=D==="all"||s.status===D;return o&&c});i.length,i.filter(s=>s.status==="active").length,i.filter(s=>s.status==="expired").length,i.filter(s=>s.status==="pending").length,i.filter(s=>s.ssl_enabled||s.sslEnabled).length;const Q=s=>s?Math.ceil((new Date(s).getTime()-Date.now())/(1e3*60*60*24)):1/0;return e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:162:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:164:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:165:9",children:[e.jsx("h1",{"code-path":"src/components/cloud/DomainManager.tsx:166:11",className:"text-2xl font-bold text-slate-100",children:"域名管理"}),e.jsx("p",{"code-path":"src/components/cloud/DomainManager.tsx:167:11",className:"text-slate-400 mt-1",children:"管理域名注册信息和DNS解析记录"})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:169:9",className:"flex items-center gap-2",children:[e.jsxs(m,{"code-path":"src/components/cloud/DomainManager.tsx:170:11",variant:"outline",onClick:x,className:"border-slate-700 text-slate-300",children:[e.jsx(L,{"code-path":"src/components/cloud/DomainManager.tsx:171:13",className:`h-4 w-4 mr-2 ${N?"animate-spin":""}`}),"刷新"]}),e.jsxs(m,{"code-path":"src/components/cloud/DomainManager.tsx:174:11",className:"bg-blue-600 hover:bg-blue-700",onClick:R,children:[e.jsx(k,{"code-path":"src/components/cloud/DomainManager.tsx:175:13",className:"h-4 w-4 mr-2"}),"添加域名"]})]})]}),e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:182:7",className:"flex items-center gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/DomainManager.tsx:183:9",className:"relative flex-1 max-w-md",children:[e.jsx(W,{"code-path":"src/components/cloud/DomainManager.tsx:184:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400"}),e.jsx(l,{"code-path":"src/components/cloud/DomainManager.tsx:185:11",placeholder:"搜索域名...",value:g,onChange:s=>B(s.target.value),className:"pl-10 bg-slate-800 border-slate-700 text-slate-100"})]}),e.jsxs("select",{"code-path":"src/components/cloud/DomainManager.tsx:192:9",value:D,onChange:s=>F(s.target.value),className:"px-3 py-2 bg-slate-800 border border-slate-700 rounded-md text-slate-100 text-sm",children:[e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:197:11",value:"all",children:"全部状态"}),e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:198:11",value:"active",children:"正常"}),e.jsx("option",{"code-path":"src/components/cloud/DomainManager.tsx:199:11",value:"expired",children:"已过期"}),e.jsx("optioLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{k as he,m as ue,r as n,j as e,n as J,o as q,J as be,B as ge,A as ve,T as E,I as Q,S as ke}from"./index-HuRw9UhJ.js";import{C as x,a as p}from"./card-B2Wqa0sK.js";import{B as g}from"./badge-CeS-g-Od.js";import{S as N,a as f,b as y,c as w,d as o}from"./select-KDzbUQs3.js";import{T as Ee,a as je,b as L,c as h,d as Pe,e as d}from"./table-Du1vU-OM.js";import{k as S}from"./index-GZwpRmKU.js";import{R as Ne}from"./refresh-cw-CSycAyA2.js";import{L as Z}from"./layers-DZGQE4Gb.js";import{R as W,C as D,X as K,Y as M,T as V,B as I,a as ee}from"./generateCategoricalChart-DrSMejeS.js";import{B as O}from"./BarChart-DrZfTE9F.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const se=["#EF4444","#F59E0B","#3B82F6","#8B5CF6","#EC4899","#14B8A6","#F97316","#6366F1","#84CC16","#06B6D4"];function Fe(){const{clusterCode:te}=he(),H=ue(),[C,U]=n.useState(!1),[m,X]=n.useState([]),[ne,ae]=n.useState([]),[ce,re]=n.useState([]),[i,oe]=n.useState("all"),[j,le]=n.useState("all"),[T,xe]=n.useState("0"),[c,Y]=n.useState(te||""),[r,G]=n.useState(null),[u,B]=n.useState(""),[b,R]=n.useState(""),[pe,de]=n.useState(null);n.useEffect(()=>{S.getClusters().then(s=>{const t=s?.list||[];if(ae(t),!c&&t.length>0){const a=t[0].code||String(t[0].id);Y(a),H(`/kubernetes/${a}/events`,{replace:!0})}}).catch(()=>{})},[]),n.useEffect(()=>{c&&S.getNamespaces(c).then(s=>{re(Array.isArray(s)?s:s?.list||s?.data||[])}).catch(()=>{})},[c]);const _=n.useCallback(async()=>{if(c){U(!0);try{const s=i==="all"?void 0:i,t=j==="all"?void 0:j,a=await S.getEvents(c,s,t);X(Array.isArray(a)?a:a?.list||[])}catch{X([])}finally{U(!1)}}},[c,i,j]),A=n.useCallback(async()=>{if(c)try{const s=i==="all"?void 0:i,t=parseInt(T)||void 0,a=await S.getEventsSummary(c,s,t);G(a||null)}catch{G(null)}},[c,i,T]);n.useEffect(()=>{_()},[_]),n.useEffect(()=>{A()},[A]);const v=n.useMemo(()=>{let s=m;return u&&(s=s.filter(t=>t.reason===u)),b&&(s=s.filter(t=>(t.object||"").startsWith(b+"/"))),s},[m,u,b]),me=n.useMemo(()=>m.filter(s=>s.type==="Warning").length,[m]),ie=n.useMemo(()=>m.filter(s=>s.type==="Normal").length,[m]),k=n.useMemo(()=>(r?.by_reason||[]).map(t=>({name:t.reason||"Unknown",count:t.count})),[r]),z=n.useMemo(()=>(r?.by_namespace||[]).map(t=>({name:t.namespace||"<cluster>",count:t.count})),[r]),$=n.useMemo(()=>(r?.by_kind||[]).map(t=>({name:t.kind||"Unknown",count:t.count})),[r]),F=s=>s?s.replace("T"," ").substring(0,19):"-",P=s=>{if(!s)return"";const t=Date.now()-new Date(s).getTime();if(t<0)return"";const a=Math.floor(t/6e4);if(a<1)return"刚刚";if(a<60)return`${a}分钟前`;const l=Math.floor(a/60);return l<24?`${l}小时前`:`${Math.floor(l/24)}天前`};return e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:134:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:136:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(J,{"code-path":"src/components/kubernetes/EventsPage.tsx:137:9",to:"/kubernetes",className:"hover:text-slate-300",children:"集群"}),c&&e.jsxs(e.Fragment,{children:[e.jsx(q,{"code-path":"src/components/kubernetes/EventsPage.tsx:138:29",className:"h-3 w-3"}),e.jsx(J,{"code-path":"src/components/kubernetes/EventsPage.tsx:138:65",to:`/kubernetes/${c}`,className:"hover:text-slate-300",children:c})]}),e.jsx(q,{"code-path":"src/components/kubernetes/EventsPage.tsx:139:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/EventsPage.tsx:139:45",className:"text-slate-300",children:"事件"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:143:7",className:"flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("h2",{"code-path":"src/components/kubernetes/EventsPage.tsx:144:9",className:"text-lg font-semibold text-slate-100 flex items-center gap-2",children:[e.jsx(be,{"code-path":"src/components/kubernetes/EventsPage.tsx:145:11",className:"h-5 w-5 text-yellow-400"}),"事件中心"]}),e.jsxs("div",{"code-path":"src/components/kubernetes/EventsPage.tsx:147:9",className:"flex items-center gap-2 flex-wrap",children:[e.jsxs(N,{"code-path":"src/components/kubernetes/EventsPage.tsx:148:11",value:c,onValueChange:s=>{Y(s),H(`/kubernetes/${s}/events`)},children:[e.jsx(f,{"code-path":"src/components/kubernetes/EventsPage.tsx:149:13",className:"w-40 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(y,{"code-path":"src/components/kubernetes/EventsPage.tsx:149:87"})}),e.jsx(w,{"code-path":"src/components/kubernetes/EventsPage.tsx:150:13",className:"bg-slate-800 border-slate-700",children:ne.map(s=>e.jsx(o,{"code-path":"src/components/kubernetes/EventsPage.tsx:151:42",value:s.code||String(s.id),className:"text-xs",children:s.name||s.code},s.id))})]}),e.jsxs(N,{"code-path":"src/components/kubernetes/EventsPage.tsx:154:11",value:i,onValueChange:s=>{oe(s),B(""),R("")},children:[e.jsx(f,{"code-path":"src/components/kubernetes/EventsPage.tsx:155:13",className:"w-36 h-8 text-xs bg-slate-800 border-slate-700",chLine truncated
|
||||
@@ -0,0 +1,3 @@
|
||||
import{i as Ya,j as a,r as o,A as J,B as D,L as aa,T as Na,S as Q,w as Qa,p as za,a3 as ka,D as oa,a as ra,b as na,c as da,d as Wa,H as xa,O as Xa,v as as,z as ss,t as u,aW as _a,f as es,m as ts,au as os,I as rs,e as va,K as $a,E as Za}from"./index-HuRw9UhJ.js";import{I as X}from"./input-C9Xfv8um.js";import{B}from"./badge-CeS-g-Od.js";import{C as U,b as ya,c as Ga,a as H}from"./card-B2Wqa0sK.js";import{S as pa,a as ba,b as ua,c as ga,d as I}from"./select-KDzbUQs3.js";import{L}from"./label-DvRDtaMA.js";import{s as Ta}from"./server-BQNr9a-x.js";import{d as fa}from"./grafana-DTc3taUi.js";import{z as ns,p as ds}from"./datasource-CLdSbgtw.js";import{a as ja}from"./agent-CTqsAA8l.js";import{T as cs}from"./trending-up-C97I6AeO.js";import{z as hs,p as Pa}from"./metrics-Q051aLdz.js";import{R as ca}from"./refresh-cw-CSycAyA2.js";import{W as Fa}from"./wifi-DF9mrE-Q.js";import{A as Ma}from"./arrow-up-down-C2LsDqn8.js";import{A as Ia,a as Ba}from"./arrow-up-CmLz9pAr.js";import{S as Oa}from"./stat-strip-CVviXwc6.js";import{T as Ea,a as Ua,b as R,c as K}from"./tabs-XYsjnHzX.js";import{Z as ta}from"./zap-CS68N0Jd.js";import{C as ms}from"./copy-Ci4WwJkK.js";import{D as is}from"./download-CjFatm64.js";import{P as ls}from"./play-BXdOitsb.js";import{C as Da}from"./checkbox-B7nWBaO4.js";import{M as xs,a as ps}from"./minimize-2-UErWMOt6.js";import{P as Aa}from"./package-open-DtPFmjqV.js";import{T as bs}from"./trash-2-Cf9-88KL.js";import{E as Ha}from"./external-link-JBfQbjOd.js";import{P as Sa}from"./plus-BVwIGPvl.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const us=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],gs=Ya("wifi-off",us);function fs(s){const e=[];for(let c=0;c<24;c++)e.push({time:new Date(Date.now()-(24-c)*36e5).toLocaleTimeString(),value:Math.random()*100});return e}function js({panel:s}){const r=fs();switch(s.type){case"stat":return a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:24:9",className:"flex flex-col items-center justify-center h-full",children:[a.jsx("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:25:11",className:"text-4xl font-bold text-blue-500",children:Math.floor(Math.random()*1e3)}),a.jsx("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:26:11",className:"text-sm text-muted-foreground mt-2",children:s.options?.unit||"requests/s"}),a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:27:11",className:"flex items-center gap-1 mt-2 text-green-500 text-sm",children:[a.jsx(cs,{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:28:13",className:"w-4 h-4"}),a.jsx("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:29:13",children:"+12.5%"})]})]});case"gauge":return a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:35:9",className:"flex flex-col items-center justify-center h-full",children:[a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:36:11",className:"relative w-24 h-24",children:[a.jsxs("svg",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:37:13",className:"w-full h-full",viewBox:"0 0 100 100",children:[a.jsx("circle",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:38:15",cx:"50",cy:"50",r:"40",fill:"none",stroke:"#e5e7eb",strokeWidth:"10"}),a.jsx("circle",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:39:15",cx:"50",cy:"50",r:"40",fill:"none",stroke:"#3b82f6",strokeWidth:"10",strokeDasharray:`${Math.random()*251} 251`,transform:"rotate(-90 50 50)"})]}),a.jsx("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:50:13",className:"absolute inset-0 flex items-center justify-center",children:a.jsxs("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:51:15",className:"text-xl font-bold",children:[Math.floor(Math.random()*100),"%"]})})]}),a.jsx("span",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:54:11",className:"text-sm text-muted-foreground mt-2",children:"CPU使用率"})]});default:return a.jsxs("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:60:9",className:"h-full flex flex-col",children:[a.jsx("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:61:11",className:"flex-1 flex items-end gap-1 px-2",children:r.map((e,c)=>a.jsx("div",{"code-path":"src/components/monitor/dashboard/GrafanaPanelContent.tsx:63:15",className:"flex-1 bg-blue-500 rounded-t",style:{height:`${e.value}%`,opacity:.3+c/r.length*.7}},c))}),a.jsxs("div",{"codLine truncated
|
||||
...
|
||||
-----END OPENSSH PRIVATE KEY-----`,rows:3,className:"w-full mt-1 bg-slate-900 border border-slate-700 text-slate-200 font-mono text-xs p-2 rounded-md resize-none"})]})]}),a.jsx("p",{"code-path":"src/components/agent/AgentWizard.tsx:342:17",className:"text-sm text-slate-400 mb-4",children:"通过 SSH 远程连接到目标主机,自动下载并安装 Agent,完成后立即启动运行。"}),a.jsx(D,{"code-path":"src/components/agent/AgentWizard.tsx:345:17",onClick:M,disabled:y,className:"w-full bg-blue-600 hover:bg-blue-700 text-white",children:y?a.jsxs(a.Fragment,{children:[a.jsx(aa,{"code-path":"src/components/agent/AgentWizard.tsx:352:23",className:"h-4 w-4 mr-2 animate-spin"}),"SSH 连接中,正在安装..."]}):a.jsxs(a.Fragment,{children:[a.jsx(ta,{"code-path":"src/components/agent/AgentWizard.tsx:357:23",className:"h-4 w-4 mr-2"}),n?"连接并安装 Agent(凭据将自动保存)":"一键安装 Agent"]})})]}),a.jsxs("div",{"code-path":"src/components/agent/AgentWizard.tsx:363:15",className:"flex items-start gap-2 text-xs text-slate-500",children:[a.jsx(xa,{"code-path":"src/components/agent/AgentWizard.tsx:364:17",className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),a.jsxs("span",{"code-path":"src/components/agent/AgentWizard.tsx:365:17",children:["系统将通过 SSH 连接 ",e.ip,",执行安装脚本。请确保服务器 SSH 凭据已正确配置(编辑服务器可修改密码/密钥)。"]})]})]}),a.jsxs(K,{"code-path":"src/components/agent/AgentWizard.tsx:373:11",value:"manual",className:"mt-4 space-y-4",children:[a.jsx("div",{"code-path":"src/components/agent/AgentWizard.tsx:374:13",className:"max-h-[420px] overflow-y-auto space-y-3 pr-1",children:ha.map(d=>a.jsxs("div",{"code-path":"src/components/agent/AgentWizard.tsx:376:17",className:"rounded-lg bg-slate-950 border border-slate-800 overflow-hidden",children:[a.jsxs("div",{"code-path":"src/components/agent/AgentWizard.tsx:377:19",className:"flex items-center gap-2 px-4 py-2.5 bg-slate-800/50",children:[a.jsx(d.icon,{"code-path":"src/components/agent/AgentWizard.tsx:378:21",className:"h-4 w-4 text-blue-400"}),a.jsx("span",{"code-path":"src/components/agent/AgentWizard.tsx:379:21",className:"text-sm font-medium text-slate-200",children:d.title})]}),a.jsx("div",{"code-path":"src/components/agent/AgentWizard.tsx:381:19",className:"p-3 space-y-1",children:d.commands.map((_,sa)=>a.jsxs("div",{"code-path":"src/components/agent/AgentWizard.tsx:383:23",className:"flex items-start gap-2",children:[a.jsx("span",{"code-path":"src/components/agent/AgentWizard.tsx:384:25",className:"text-slate-600 font-mono text-xs select-none mt-0.5",children:"$"}),a.jsx("code",{"code-path":"src/components/agent/AgentWizard.tsx:385:25",className:"text-xs text-slate-300 font-mono whitespace-pre-wrap break-all flex-1",children:_})]},sa))})]},d.title))}),a.jsx("p",{"code-path":"src/components/agent/AgentWizard.tsx:394:13",className:"text-xs text-slate-500",children:"完成上述步骤后,Agent 将作为 systemd 服务运行并自动上报指标。"})]})]})]})})}const Ws=[{id:"agent",label:"Agent 主机",icon:a.jsx(Q,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:51:43",className:"w-3.5 h-3.5"})},{id:"zabbix",label:"Zabbix",icon:a.jsx(J,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:52:42",className:"w-3.5 h-3.5"})},{id:"prometheus",label:"Prometheus",icon:a.jsx(J,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:53:50",className:"w-3.5 h-3.5"})},{id:"dashboard",label:"自定义",icon:a.jsx(_a,{"code-path":"src/components/monitor/dashboard/GrafanaDashboard.tsx:54:42",className:"w-3.5 h-3.5"})}],_s=()=>{const s=es(),r=ts(),[e,c]=o.useState([]),[i,x]=o.useState(!0),[b,g]=o.useState("cpu_usage"),[N,w]=o.useState("desc"),[m,P]=o.useState(1),[y,z]=o.useState(10),[v,h]=o.useState(new Set),[A,W]=o.useState(!1),[Z,T]=o.useState(null),[F,$]=o.useState(!1),[p,f]=o.useState("install"),[n,l]=o.useState(!1),[S,j]=o.useState(!1),[ha,M]=o.useState(new Set),[d,_]=o.useState(!1),sa=async()=>{if(await s({title:"批量卸载 Agent",description:`确定卸载选中的 ${ea.length} 台主机的 AIOps Agent?卸载将在后台异步执行。`,confirmText:"卸载",variant:"destructive"})){_(!0),M(new Set(ea));try{await ja.batchUninstall(ea),u.success(`已提交:批量卸载 ${ea.length} 台主机的 Agent,后台执行中,30秒后自动刷新`),h(new Set),setTimeout(()=>{q(),M(new Set)},3e4)}catch{u.error("提交失败"),M(new Set)}finally{_(!1)}}},wa=Math.max(1,Math.ceil(e.length/y)),q=async()=>{try{c(Cs(await ja.getLatest()))}catch{}finally{x(!1)}};o.useEffect(()=>{q();const t=setInterval(q,3e4);return()=>clearInterval(t)},[]);const La=t=>{b===t?w(C=>C==="asc"?"desc":"asc"):(g(t),w("desc"))},Ra=[...e].sort((t,C)=>{let G=t[b]??"",k=C[b]??"";return b==="agent_status"&&(G=t.agent_status||"",k=C.agent_status||""),typeof G=="number"?N==="asc"?G-k:k-G:N==="asc"?String(G).localeCompare(String(k)):String(k).localeCompare(String(G))}).slice(
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as St,j as t,N as st,f as qt,ac as wt,r as H,B as L,Q as Kt,C as ot,D as Pt,a as Ct,b as kt,c as Dt,d as Tt,e as Lt,t as Ot,A as Ft,bb as Rt,L as zt,S as Q,aW as Gt,I as Wt,p as Ut}from"./index-HuRw9UhJ.js";import{a as E}from"./agent-CTqsAA8l.js";import{u as ct,q as K,a as pt}from"./unwrap-s5xDIyKq.js";import{C,a as k}from"./card-B2Wqa0sK.js";import{S as ft,a as yt,b as Nt,c as Ht,d as et}from"./select-KDzbUQs3.js";import{c as q,T as Qt,a as Vt,b as Xt}from"./tabs-XYsjnHzX.js";import{B as V}from"./badge-CeS-g-Od.js";import{R as mt,C as gt,X as ut,Y as bt,T as jt,q as $t}from"./generateCategoricalChart-DrSMejeS.js";import{A as vt,a as at}from"./AreaChart-CTVvt9LZ.js";import{R as At}from"./refresh-cw-CSycAyA2.js";import{P as Jt}from"./plus-BVwIGPvl.js";import{C as ht}from"./circle-x-BVvXVx7p.js";import{S as Yt}from"./square-pen-DoCLytAo.js";import{T as Zt}from"./trash-2-Cf9-88KL.js";import{H as G}from"./hard-drive-laLCm9TI.js";import{D as lt}from"./disc-DI2GsPrr.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const te=[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}],["path",{d:"M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"auskq0"}]],ee=St("heart-pulse",te);const se=[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]],_t=St("list",se);function oe(){return ct({queryKey:K.hostMonitor.hosts(),queryFn:async()=>{const e=await E.getLatest();return pt(e)},staleTime:3e4})}function ae(e,a){return ct({queryKey:K.hostMonitor.history(e,a),queryFn:async()=>{if(!e)return[];const i=await E.getHistory(e,a);return pt(i)},enabled:!!e,staleTime:3e4})}function re(e){return ct({queryKey:K.hostMonitor.probes(e),queryFn:async()=>{if(!e)return[];const a=await E.getHealthProbes({hostname:e});return pt(a)},enabled:!!e})}function ce(e){return ct({queryKey:K.hostMonitor.portPolicy(e),queryFn:async()=>{if(!e)return{port_filter_mode:"whitelist",port_whitelist:[]};const a=await E.getPortPolicy(e);return{port_filter_mode:a?.data?.port_filter_mode||"blacklist",port_whitelist:a?.data?.port_whitelist||[]}},enabled:!!e})}const xt=[{label:"1小时",hours:1,window:60,buckets:60},{label:"6小时",hours:6,window:300,buckets:72},{label:"12小时",hours:12,window:600,buckets:72},{label:"1天",hours:24,window:1800,buckets:96},{label:"3天",hours:72,window:3600,buckets:72},{label:"7天",hours:168,window:10800,buckets:56},{label:"14天",hours:336,window:21600,buckets:48}],Mt=(e="")=>({name:"",hostname:e,probe_type:"http_get",http_url:"",http_method:"GET",http_expect_code:200,http_expect_body:"",tcp_host:"localhost",tcp_port:3306,exec_command:"",timeout:10,interval:60,description:""});function j(e,a,i){if(!e||e.length===0)return[];const l=Math.max(1,Math.ceil(e.length/i)),p=[];for(let n=0;n<e.length;n+=l){const c=e.slice(n,n+l),d=a.slice(n,n+l),s=c.reduce((S,F)=>S+F,0)/c.length,x=Math.max(...c),N=Math.min(...c),D=d[Math.floor(d.length/2)]||0;p.push({time:new Date(D*1e3).toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"}),timestamp:D,avg:Number(s.toFixed(2)),max:Number(x.toFixed(2)),min:Number(N.toFixed(2)),count:c.length})}return p.slice(-i)}function v(e){if(!e)return{};if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return{}}}function rt(e){return e>=1024*1024*1024?`${(e/1024/1024/1024).toFixed(1)} GB/s`:e>=1024*1024?`${(e/1024/1024).toFixed(1)} MB/s`:e>=1024?`${(e/1024).toFixed(1)} KB/s`:`${e.toFixed(1)} B/s`}function ie(e,a){const i=[],l=[],p=[],n=[],c=[],d=[],m=[],s=[],x=[],N=[],D=[],S=[],F=[],o=[],B=[],X=[],W=[],$=[],J=[],w=[],g=[];for(const h of e){const it=h.report_time?new Date(h.report_time).getTime()/1e3:h.created_at?new Date(h.created_at).getTime()/1e3:0;g.push(it),i.push(h.cpu_usage||0),o.push(h.cpu_iowait||0),l.push(h.mem_usage||0),B.push(h.mem_available||0),p.push(h.load1||0),n.push(h.disk_usage||0);const O=v(h.disk_info);if(Array.isArray(O)&&O.length>0){const u=O.find(f=>f.mount==="/")||O[0];w.push(u?.inode_usage_pct||0)}else w.push(0);const _=v(h.net_info);c.push(_.tcp_established||0),d.push(_.tcp_time_wait||0),m.push(_.tcp_close_wait||0),W.push((_.tcp_established||0)+(_.tcp_time_wait||0)+(_.tcp_close_wait||0)),s.push(_.net_rx_bps||0),x.push(_.net_tx_bps||0),$.push(_.net_rx_errors||0),J.push(_.net_tx_errors||0);const U=v(h.disk_io_info);N.push(U.read_bps||0),D.push(U.write_bps||0),X.push(U.util||0);const P=v(h.swap_info);S.push(P?.usage_percent||0);const b=v(h.fd_info);F.push(b?.usage_pct||0)}return{cpu:j(i,g,a.buckets),mem:j(l,g,a.buckets),load1:j(p,g,a.buckets),disk:j(n,g,a.buckets),tcpEst:j(c,g,a.buckets),tcpTW:j(d,g,a.buckets),tcpCW:j(m,g,a.buckets),rx:j(s.map(h=>h/1024),g,a.buckets),tx:j(x.map(h=>h/1024),g,a.buckets),ioRead:j(N.map(h=>h/1024),g,a.buckets),ioWrite:j(D.map(h=>h/1024),g,a.Line truncated
|
||||
@@ -0,0 +1,10 @@
|
||||
import{r as n,j as e,s as ae,B as T,aq as ce,ao as _e,ak as Re,ah as oe,ar as Pe,aj as $,al as X,as as Te,am as H,ai as Ee,an as Ae,a0 as E,D as le,a as ue,b as Me,c as de,d as ie,e as Ie,t as I,a3 as Fe,H as Ge,L as Oe,X as Be,aQ as Le,aR as Ue,aS as ze,aT as $e,aU as Z,aV as F,P as We,z as Ve,w as qe,T as He,Q as Xe}from"./index-HuRw9UhJ.js";import{C as G,b as U,c as z,d as xe,a as O}from"./card-B2Wqa0sK.js";import{I as L}from"./input-C9Xfv8um.js";import{B as y}from"./badge-CeS-g-Od.js";import{k as w}from"./index-GZwpRmKU.js";import{T as Qe,a as Ye,b as A,c as M}from"./tabs-XYsjnHzX.js";import{C as pe}from"./circle-x-BVvXVx7p.js";import{R as Je,C as Ze,X as et,Y as tt,T as st}from"./generateCategoricalChart-DrSMejeS.js";import{A as rt,a as ee}from"./AreaChart-CTVvt9LZ.js";import{T as te}from"./textarea-Bzol9o6k.js";import{L as P}from"./label-DvRDtaMA.js";import{u as nt}from"./index-DwvHXNyF.js";import{C as at}from"./circle-DV2nF4ie.js";import{x as ct,a as ot}from"./xterm-DSqgeKvr.js";import{M as lt,a as ut}from"./minimize-2-UErWMOt6.js";import{R as q}from"./refresh-cw-CSycAyA2.js";import{P as dt}from"./plus-BVwIGPvl.js";import{S as it}from"./search-CcKEpJIn.js";import{E as xt}from"./ellipsis-DJJV1WjU.js";import{D as pt}from"./download-CjFatm64.js";import{T as mt}from"./trash-2-Cf9-88KL.js";function bt({cluster:a,onClose:x}){const[r,g]=n.useState([]),[s,u]=n.useState([]),[d,K]=n.useState([]),[k,C]=n.useState([]),[b,f]=n.useState([]),h=n.useMemo(()=>{if(!r||r.length===0)return{cpuPct:0,memPct:0};let t=0,i=0,m=0;for(const j of r){const D=j.cpu||0,o=j.cpu_usage_m?parseFloat(String(j.cpu_usage_m).replace("m","")):0,l=D>0?o/1e3/D*100:0,N=j.memory_mb||0,_=j.mem_usage_mi?parseFloat(String(j.mem_usage_mi).replace("Mi","").replace("Ki","")):0,V=j.mem_usage_mi?.includes?.("Ki")?_/1024:j.mem_usage_mi?.includes?.("Gi")?_*1024:_,B=N>0?V/N*100:0;(l>0||B>0)&&(t+=l,i+=B,m++)}return{cpuPct:m>0?t/m:0,memPct:m>0?i/m:0}},[r]),p=async t=>{try{const[i,m,j,D,o]=await Promise.all([w.getNodes(t).catch(()=>[]),w.getPods(t).catch(()=>[]),w.getDeployments(t).catch(()=>[]),w.getServices(t).catch(()=>[]),w.getIngresses(t).catch(()=>[])]),l=N=>Array.isArray(N)?N:N?.list||[];g(l(i)),u(l(m)),K(l(j)),C(l(D)),f(l(o))}catch(i){console.error("加载集群详情失败:",i)}};return n.useEffect(()=>{a?.id&&p(a.id)},[a?.id]),e.jsxs(G,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:81:5",className:"bg-slate-900 border-slate-800",children:[e.jsx(U,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:82:7",children:e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:83:9",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:84:11",className:"flex items-center gap-3",children:[e.jsx(ae,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:85:13",className:"h-6 w-6 text-blue-400"}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:86:13",children:[e.jsx(z,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:87:15",className:"text-slate-100",children:a.name}),e.jsxs(xe,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:88:15",className:"text-slate-500",children:[a.version," · ",a.node_count||0," 节点 · 创建于"," ",a.created_at?new Date(a.created_at).toLocaleDateString():"-"]})]})]}),e.jsxs(T,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:94:11",variant:"ghost",size:"sm",className:"text-slate-400 hover:text-slate-100",onClick:x,children:[e.jsx(pe,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:100:13",className:"h-4 w-4 mr-2"}),"关闭"]})]})}),e.jsx(O,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:105:7",children:e.jsxs(Qe,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:106:9",defaultValue:"overview",className:"w-full",children:[e.jsxs(Ye,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:107:11",className:"bg-slate-800 border border-slate-700 flex-wrap h-auto",children:[e.jsx(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:108:13",value:"overview",className:"data-[state=active]:bg-slate-700",children:"概览"}),e.jsxs(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:111:13",value:"nodes",className:"data-[state=active]:bg-slate-700",children:["节点 (",r.length,")"]}),e.jsxs(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:114:13",value:"pods",className:"data-[state=active]:bg-slate-700",children:["Pod (",s.length,")"]}),e.jsxs(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:117:13",value:"deployments",className:"data-[state=active]:bg-slate-700",children:["Deployment (",d.length,")"]}),e.jsxs(A,{"code-path":"src/components/kubernetes/KubernetesClusterDetail.tsx:120:13",value:"services",className:"data-[state=active]:bg-slate-700",children:Line truncated
|
||||
kind: Config
|
||||
clusters:
|
||||
- cluster:
|
||||
server: https://10.0.0.1:6443
|
||||
...`,rows:10,className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)] placeholder:text-[var(--dg-text-muted)] font-mono text-xs"}),!b&&e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:243:17",className:"text-xs text-[var(--dg-text-muted)]",children:"粘贴 kubeconfig 内容后将自动解析 API Server 地址"})]})]}),e.jsxs(Ie,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:250:9",children:[e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:251:11",variant:"outline",onClick:()=>{x(!1)},className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] hover:bg-[var(--dg-bg-hover)]",children:"取消"}),e.jsx(T,{"code-path":"src/components/kubernetes/KubernetesClusterDialog.tsx:258:11",onClick:j,disabled:D,className:"bg-[var(--dg-blue)] hover:opacity-90 text-white",children:d?"保存中...":r?"保存":"添加"})]})]})})}function Rt({open:a,onOpenChange:x,clusterId:r,clusterName:g}){const s=n.useRef(null),u=n.useRef(null),d=n.useRef(null),K=n.useRef(null),[k,C]=n.useState(!1),[b,f]=n.useState(!1),[h,p]=n.useState("");return n.useEffect(()=>{a||f(!1)},[a]),n.useEffect(()=>{if(!a||!r)return;const t=new ct.Terminal({cursorBlink:!0,fontSize:14,fontFamily:'Menlo, Monaco, "Courier New", monospace',allowProposedApi:!0,theme:{background:"#0f172a",foreground:"#e2e8f0",cursor:"#38bdf8",selectionBackground:"#1e40af",black:"#1e293b",red:"#ef4444",green:"#10b981",yellow:"#f59e0b",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e2e8f0",brightBlack:"#475569",brightRed:"#f87171",brightGreen:"#34d399",brightYellow:"#fbbf24",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#f8fafc"}}),i=new ot.FitAddon;t.loadAddon(i),u.current=t,K.current=i;const j=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}`,D=Fe.getState().token||"",o=`${j.replace(/^http/,"ws").replace("/api/v1","")}/ws/kubectl?token=${encodeURIComponent(D)}&id=${r}`,l=new WebSocket(o);return d.current=l,t.onData(N=>{l.readyState===WebSocket.OPEN&&l.send(JSON.stringify({status:0,data:N}))}),l.onmessage=N=>{try{const _=JSON.parse(N.data);_.status===0&&typeof _.data=="string"&&t.write(_.data)}catch{typeof N.data=="string"&&t.write(N.data)}},l.onopen=()=>{C(!0),p(""),s.current&&(t.open(s.current),requestAnimationFrame(()=>{try{i.fit()}catch{}}),setTimeout(()=>{try{t.focus()}catch{}},150))},l.onclose=()=>{C(!1),t.write(`\r
|
||||
\x1B[31m[连接已断开]\x1B[0m\r
|
||||
`)},l.onerror=()=>{p("WebSocket 连接失败"),t.write(`\r
|
||||
\x1B[31m[连接发生错误]\x1B[0m\r
|
||||
`)},()=>{try{(l.readyState===WebSocket.OPEN||l.readyState===WebSocket.CONNECTING)&&l.close(),t.dispose()}catch{}u.current=null,d.current=null,C(!1)}},[a,r]),n.useEffect(()=>{if(!a)return;const t=s.current;if(!t)return;let i;const m=new ResizeObserver(()=>{clearTimeout(i),i=setTimeout(()=>{if(K.current&&u.current&&d.current)try{K.current.fit(),u.current.focus();const{cols:j,rows:D}=u.current;d.current.readyState===WebSocket.OPEN&&d.current.send(JSON.stringify({status:1,cols:j,rows:D}))}catch{}},60)});return m.observe(t),()=>{clearTimeout(i),m.disconnect()}},[a]),e.jsx(le,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:161:5",open:a,onOpenChange:x,children:e.jsxs(ue,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:162:7",showCloseButton:!1,onOpenAutoFocus:t=>t.preventDefault(),className:E("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",b?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:b?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"900px",width:"90vw"},children:[e.jsxs(de,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:174:9",className:"sr-only",children:["kubectl — ",g]}),e.jsx(ie,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:175:9",className:"sr-only",children:"Kubernetes 集群命令行终端"}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:178:9",className:"flex items-center justify-between px-4 py-2 border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:179:11",className:"flex items-center gap-2 text-sm",children:[e.jsx("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:180:13",className:E("w-2 h-2 rounded-full",k?"bg-emerald-400":h?"bg-red-400":"bg-yellow-400")}),e.jsx(Ge,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:181:13",className:"h-4 w-4 text-blue-400"}),e.jsxs("span",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:182:13",className:"text-[var(--dg-text-primary)] font-medium",children:["kubectl — ",g]}),!k&&!h&&e.jsx(Oe,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:183:38",className:"h-3 w-3 animate-spin text-[var(--dg-text-muted)]"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:185:11",className:"flex items-center gap-1",children:[e.jsx("button",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:186:13",onClick:()=>f(!b),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:b?e.jsx(lt,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:190:29",className:"h-4 w-4"}):e.jsx(ut,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:190:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:192:13",onClick:()=>x(!1),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:e.jsx(Be,{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:196:15",className:"h-4 w-4"})})]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/KubectlTerminal.tsx:202:9",ref:s,className:"bg-[#0f172a]",style:{height:b?"calc(100vh - 49px)":"480px"}})]})})}function Jt(){const[a,x]=n.useState([]),[r,g]=n.useState(!0),[s,u]=n.useState(null),[d,K]=n.useState(""),[k,C]=n.useState(!1),[b,f]=n.useState(null),[h,p]=n.useState(null),[t,i]=n.useState(!1),[m,j]=n.useState(null),[D,o]=n.useState(!1),l=async()=>{try{g(!0);const c=await w.getClusters();x(c?.list||[])}catch(c){console.error("加载集群列表失败:",c),x([])}finally{g(!1)}};n.useEffect(()=>{l()},[]);const[,N]=n.useState(null),_=()=>{l().then(()=>{b||setTimeout(async()=>{const v=(await w.getClusters())?.list||[];v.length>0&&B(v[v.length-1].id,!0)},500)})},V=async c=>{try{await w.deleteCluster(c),l()}catch(v){console.error("删除集群失败:",v)}},B=async(c,v)=>{try{v||I.info("正在同步集群资源...");const R=await w.syncCluster(c);v||I.success(R?.message||"同步完成"),l()}catch(R){v||I.error(R?.message||"同步失败")}},ye=async()=>{if(!m)return;const c=m.code||String(m.id);try{o(!0),I.info(`正在导出 ${m.name} 所有命名空间的资源...`),await w.exportAllResources(c),I.success("导出完成,已开始下载"),j(null)}catch(v){I.error(v?.message||"导出失败")}finally{o(!1)}},Y=a.filter(c=>(c.name||"").toLowerCase().includes(d.toLowerCase())||(c.version||"").includes(d)),we=c=>{switch(c){case"healthy":return e.jsxs(y,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:138:11",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[e.jsx(Xe,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:139:13",className:"h-3 w-3 mr-1"}),"健康"]});case"warning":return e.jsxs(y,{"code-path":"src/components/kubernetes/KubernetesClusters.tsx:145:11",variant:"outline",className:"border-amber-500/30 text-amb
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{r as t,j as e,B as F,L as w,S as I}from"./index-HuRw9UhJ.js";import{C as A,a as P}from"./card-B2Wqa0sK.js";import{I as V}from"./input-C9Xfv8um.js";import{B as l}from"./badge-CeS-g-Od.js";import{S as y,a as S,b as C,c as B,d as x}from"./select-KDzbUQs3.js";import{T as H,a as U,b as u,c as o,d as W,e as n}from"./table-Du1vU-OM.js";import{k as T}from"./index-GZwpRmKU.js";import{R as z}from"./refresh-cw-CSycAyA2.js";import{S as G}from"./search-CcKEpJIn.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";function ne(){const[$,h]=t.useState([]),[c,i]=t.useState(""),[R,N]=t.useState([]),[b,k]=t.useState(!1),[j,M]=t.useState(""),[p,L]=t.useState("all"),K=t.useCallback(async()=>{try{const r=(await T.getClusters())?.list||[];h(r),r.length>0&&!c&&i(String(r[0].id))}catch{h([])}},[]);t.useEffect(()=>{K()},[K]);const m=t.useCallback(async()=>{if(c){k(!0);try{const s=await T.getNodes(c);N(Array.isArray(s)?s:s?.list||[])}catch{N([])}finally{k(!1)}}},[c]);t.useEffect(()=>{m()},[m]);const g=R.filter(s=>(s.name||"").toLowerCase().includes(j.toLowerCase())&&(p==="all"||s.role===p)),_=s=>s==="master"?e.jsx(l,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:52:9",className:"bg-blue-500/20 text-blue-400 border-blue-500/30",children:"Master"}):e.jsx(l,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:53:9",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:"Worker"}),E=s=>s==="Ready"?e.jsx(l,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:57:9",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30",children:s}):e.jsx(l,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:58:9",variant:"destructive",children:s||"Unknown"});return e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:61:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:62:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:63:9",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:64:11",className:"text-2xl font-bold text-slate-100",children:"节点管理"}),e.jsx("p",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:65:11",className:"text-sm text-slate-500 mt-1",children:"Kubernetes 集群工作节点状态与资源"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:67:9",className:"flex items-center gap-2",children:[e.jsxs(y,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:68:11",value:c,onValueChange:i,children:[e.jsx(S,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:69:13",className:"w-48 h-9 bg-slate-800/50 border-slate-700 text-slate-200",children:e.jsx(C,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:70:15",placeholder:"选择集群"})}),e.jsx(B,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:72:13",className:"bg-slate-800 border-slate-700",children:$.map(s=>e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:74:17",value:String(s.id),children:s.name},s.id))})]}),e.jsx(F,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:78:11",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",onClick:m,disabled:b,children:b?e.jsx(w,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:79:24",className:"h-4 w-4 animate-spin"}):e.jsx(z,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:79:71",className:"h-4 w-4"})})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:84:7",className:"flex items-center gap-3",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:85:9",className:"relative w-56",children:[e.jsx(G,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:86:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(V,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:87:11",placeholder:"搜索节点...",value:j,onChange:s=>M(s.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700 text-slate-200"})]}),e.jsxs(y,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:89:9",value:p,onValueChange:L,children:[e.jsx(S,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:90:11",className:"w-32 h-9 bg-slate-800/50 border-slate-700 text-slate-200",children:e.jsx(C,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:91:13"})}),e.jsxs(B,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:93:11",className:"bg-slate-800 border-slate-700",children:[e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:94:13",value:"all",children:"全部角色"}),e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:95:13",value:"master",children:"Master"}),e.jsx(x,{"code-path":"src/components/kubernetes/KubernetesNodes.tsx:96:13",value:"worker",children:"Worker"})]})]})]}),e.jsx(A,{"code-path":"srLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{r as l,j as e,B as I,K as z,A as y,E as P,N as B,p as F}from"./index-HuRw9UhJ.js";import{C as u,a as b}from"./card-B2Wqa0sK.js";import{S as K,a as V,b as q,c as H,d as G}from"./select-KDzbUQs3.js";import{I as Q}from"./input-C9Xfv8um.js";import{m as M}from"./metrics-Q051aLdz.js";import{S as U}from"./search-CcKEpJIn.js";import{F as W}from"./funnel-D7YDgUpE.js";import{P as J}from"./plus-BVwIGPvl.js";import{H as v}from"./hard-drive-laLCm9TI.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const N={cpu:{label:"CPU",icon:e.jsx(F,{"code-path":"src/pages/MetricsExplorer.tsx:34:30",className:"h-4 w-4"})},memory:{label:"内存",icon:e.jsx(v,{"code-path":"src/pages/MetricsExplorer.tsx:35:32",className:"h-4 w-4"})},disk:{label:"磁盘",icon:e.jsx(v,{"code-path":"src/pages/MetricsExplorer.tsx:36:30",className:"h-4 w-4"})},network:{label:"网络",icon:e.jsx(B,{"code-path":"src/pages/MetricsExplorer.tsx:37:33",className:"h-4 w-4"})},middleware:{label:"中间件",icon:e.jsx(P,{"code-path":"src/pages/MetricsExplorer.tsx:38:37",className:"h-4 w-4"})},device:{label:"设备",icon:e.jsx(y,{"code-path":"src/pages/MetricsExplorer.tsx:39:32",className:"h-4 w-4"})}};function xe(){const[n,w]=l.useState([]),[j,S]=l.useState([]),[x,C]=l.useState(""),[o,E]=l.useState([]),[k,f]=l.useState([]),[T,O]=l.useState(!0),[m,_]=l.useState(""),A=l.useCallback(async()=>{try{const s=await M.getTargets({page_size:200});w(s?.list||[])}catch{}finally{O(!1)}},[]),L=l.useCallback(async()=>{try{const s=await M.getNames();S(s||[])}catch{}},[]);l.useEffect(()=>{A(),L()},[]),l.useEffect(()=>{if(!x||o.length===0||!n.find(c=>String(c.id)===x))return;const t=Math.floor(Date.now()/1e3),r=t-3600;Promise.all(o.map(c=>M.query({target_id:x,metric_name:c,from:String(r),to:String(t),limit:200}).then(a=>Array.isArray(a)?a:[]).catch(()=>[]))).then(c=>{f(c.flat())})},[x,o,n]);const R=m?j.filter(s=>s.toLowerCase().includes(m.toLowerCase())):j,g=n.find(s=>String(s.id)===x),$=R.reduce((s,t)=>{const r=t.split("_")[0]||"other";return s[r]||(s[r]=[]),s[r].push(t),s},{}),p={};k.forEach(s=>{p[s.timestamp]||(p[s.timestamp]={}),p[s.timestamp][s.metric_name]=s.value});const d=Object.keys(p).map(Number).sort((s,t)=>s-t),D=Math.max(1,...Object.values(p).flatMap(s=>Object.values(s))),h=["#3b82f6","#10b981","#f59e0b","#ef4444","#8b5cf6","#ec4899","#06b6d4","#f97316"];return e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:118:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:120:7",className:"flex items-center gap-4 flex-wrap",children:[e.jsxs(K,{"code-path":"src/pages/MetricsExplorer.tsx:121:9",value:x,onValueChange:C,children:[e.jsx(V,{"code-path":"src/pages/MetricsExplorer.tsx:122:11",className:"w-64 bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(q,{"code-path":"src/pages/MetricsExplorer.tsx:123:13",placeholder:T?"加载中...":"选择监控目标..."})}),e.jsx(H,{"code-path":"src/pages/MetricsExplorer.tsx:125:11",className:"bg-slate-800 border-slate-700 text-slate-200 max-h-80",children:n.map(s=>e.jsx(G,{"code-path":"src/pages/MetricsExplorer.tsx:127:15",value:String(s.id),children:e.jsxs("span",{"code-path":"src/pages/MetricsExplorer.tsx:128:17",className:"flex items-center gap-2",children:[e.jsx("span",{"code-path":"src/pages/MetricsExplorer.tsx:129:19",className:`inline-block w-1.5 h-1.5 rounded-full ${s.status==="online"?"bg-emerald-400":"bg-slate-500"}`}),s.name," (",s.ip||s.type,")"]})},s.id))})]}),e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:137:9",className:"relative flex-1 max-w-sm",children:[e.jsx(U,{"code-path":"src/pages/MetricsExplorer.tsx:138:11",className:"absolute left-2.5 top-2 h-4 w-4 text-slate-500"}),e.jsx(Q,{"code-path":"src/pages/MetricsExplorer.tsx:139:11",className:"pl-8 bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9",placeholder:"搜索指标...",value:m,onChange:s=>_(s.target.value)})]}),e.jsx(I,{"code-path":"src/pages/MetricsExplorer.tsx:146:9",variant:"ghost",size:"sm",onClick:()=>{E([]),f([])},children:"清除"})]}),x?e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:159:9",className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[e.jsx(u,{"code-path":"src/pages/MetricsExplorer.tsx:161:11",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] lg:col-span-1",children:e.jsxs(b,{"code-path":"src/pages/MetricsExplorer.tsx:162:13",className:"p-4",children:[e.jsxs("div",{"code-path":"src/pages/MetricsExplorer.tsx:163:15",className:"flex items-center gap-2 mb-3",children:[e.jsx(z,{"code-path":"src/pages/MetricsExplorer.tsx:164:17",className:"h-4 w-4 text-[var(--dg-text-muted)]"}),e.jsx("h3",{"code-path":"src/pages/MetricsExplorer.tsx:165:17",className:"text-sm font-medium text-[var(--dg-text-primary)]",children:"指标列表"}),e.jsxs("span",{"code-path":"src/pages/MetricsExplorer.tsx:166:17",className:"text-xs text-[var(--dg-text-muted)] ml-auto",children:[o.length," 已选"]})]}),e.jsx("div",{"code-path":"src/pages/MetrLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as X,r as i,j as e,L as O,A as R,E as A,S as K,D as W,x as Ne,B as w,a as Y,b as Z,c as J,d as ee,e as te,f as ve,G as L,C as je,t as C,p as be,a0 as Se}from"./index-HuRw9UhJ.js";import{HostMonitor as ye}from"./HostMonitor-CTNG5an2.js";import{C as h,a as M}from"./card-B2Wqa0sK.js";import{B as u}from"./badge-CeS-g-Od.js";import{m as fe,s as I}from"./metrics-Q051aLdz.js";import{C as we}from"./circle-DV2nF4ie.js";import{I as y}from"./input-C9Xfv8um.js";import{L as j}from"./label-DvRDtaMA.js";import{S as se,a as ae,b as re,c as oe,d as B}from"./select-KDzbUQs3.js";import{T as ce,a as de,b as H,c as l,d as ie,e as p}from"./table-Du1vU-OM.js";import{H as Pe}from"./hard-drive-laLCm9TI.js";import{P as ne}from"./plus-BVwIGPvl.js";import{T as xe}from"./trash-2-Cf9-88KL.js";import{S as Ce}from"./switch--ZaqVsRJ.js";import{s as q}from"./site-DAeTLSaK.js";import{A as _e}from"./arrow-up-down-C2LsDqn8.js";import{R as Te}from"./refresh-cw-CSycAyA2.js";import{C as ke}from"./circle-x-BVvXVx7p.js";import{C as De}from"./circle-check-C5nUiTvE.js";import"./agent-CTqsAA8l.js";import"./unwrap-s5xDIyKq.js";import"./tabs-XYsjnHzX.js";import"./generateCategoricalChart-DrSMejeS.js";import"./AreaChart-CTVvt9LZ.js";import"./square-pen-DoCLytAo.js";import"./disc-DI2GsPrr.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const Fe=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],le=X("radio",Fe);const qe=[["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",key:"w68u3i"}],["path",{d:"M6.01 18H6",key:"19vcac"}],["path",{d:"M10.01 18H10",key:"uamcmx"}],["path",{d:"M15 10v4",key:"qjz1xs"}],["path",{d:"M17.84 7.17a4 4 0 0 0-5.66 0",key:"1rif40"}],["path",{d:"M20.66 4.34a8 8 0 0 0-11.31 0",key:"6a5xfq"}]],E=X("router",qe);function Le(t){return t==null||t===0?"--":t>1e9?`${(t/1e9).toFixed(1)} GB`:t>1e6?`${(t/1e6).toFixed(1)} MB`:t>1e3?`${(t/1e3).toFixed(1)} KB`:`${t} B`}function U(t){return t==null||Number.isNaN(t)?"--":`${(t*100).toFixed(1)}%`}function D(t,n=0){return t==null||Number.isNaN(t)?"--":t.toFixed(n)}function Ie(t){switch(t){case"online":return"text-emerald-400";case"warning":return"text-amber-400";case"error":return"text-red-400";default:return"text-slate-500"}}function He(t){switch(t){case"online":return"bg-emerald-400";case"warning":return"bg-amber-400";case"error":return"bg-red-400";default:return"bg-slate-500"}}function $e(){const[t,n]=i.useState([]),[d,N]=i.useState(!0),[v,_]=i.useState(""),T=i.useCallback(async()=>{try{N(!0),_("");const r=await fe.getTargets({type:"middleware",page_size:200});n(r?.list||[])}catch(r){_(r.message||"加载失败"),n([])}finally{N(!1)}},[]);i.useEffect(()=>{T()},[]);const b=t.filter(r=>r.type==="redis"||r.name?.toLowerCase().includes("redis")),o=t.filter(r=>r.type==="mysql"||r.name?.toLowerCase().includes("mysql")),x=b.find(r=>r.status==="online")||b[0],c=x?.latest_metrics||{},m=o.find(r=>r.status==="online")||o[0],S=m?.latest_metrics||{};return e.jsxs("div",{"code-path":"src/pages/MiddlewareMonitor.tsx:96:5",className:"space-y-6",children:[d&&e.jsxs("div",{"code-path":"src/pages/MiddlewareMonitor.tsx:98:9",className:"flex items-center justify-center py-12",children:[e.jsx(O,{"code-path":"src/pages/MiddlewareMonitor.tsx:99:11",className:"h-6 w-6 animate-spin text-slate-500 mr-2"}),e.jsx("span",{"code-path":"src/pages/MiddlewareMonitor.tsx:100:11",className:"text-sm text-[var(--dg-text-muted)]",children:"正在加载中间件指标..."})]}),v&&!d&&e.jsx(h,{"code-path":"src/pages/MiddlewareMonitor.tsx:105:9",className:"bg-[var(--dg-bg-secondary)] border-red-500/30",children:e.jsxs(M,{"code-path":"src/pages/MiddlewareMonitor.tsx:106:11",className:"p-6 text-center",children:[e.jsx(R,{"code-path":"src/pages/MiddlewareMonitor.tsx:107:13",className:"h-8 w-8 text-red-400 mx-auto mb-2"}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:108:13",className:"text-sm text-red-400",children:v}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:109:13",className:"text-xs text-[var(--dg-text-muted)] mt-2",children:"请确认后端服务可用且已配置中间件采集"})]})}),!d&&!v&&t.length===0&&e.jsx(h,{"code-path":"src/pages/MiddlewareMonitor.tsx:115:9",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(M,{"code-path":"src/pages/MiddlewareMonitor.tsx:116:11",className:"p-12 text-center",children:[e.jsx(A,{"code-path":"src/pages/MiddlewareMonitor.tsx:117:13",className:"h-12 w-12 text-slate-600 mx-auto mb-4"}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:118:13",className:"text-sm text-[var(--dg-text-muted)]",children:"暂无中间件监控目标"}),e.jsx("p",{"code-path":"src/pages/MiddlewareMonitor.tsx:119:13",className:"text-xs text-[var(--dg-text-muted)] mt-2",children:"需在 Agent 配置Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{k as Z,m as ee,r as n,j as e,n as A,o as O,q as j,B as m,L as i,D as L,x as se,a as E,b as B,c as q,e as R,w as ae,A as te,N as ne,v as H,T as $,t as z}from"./index-HuRw9UhJ.js";import{C as p,a as l}from"./card-B2Wqa0sK.js";import{B as I}from"./badge-CeS-g-Od.js";import{I as Q}from"./input-C9Xfv8um.js";import{L as ce}from"./label-DvRDtaMA.js";import{T as re,a as me,b as N,c,d as oe,e as a}from"./table-Du1vU-OM.js";import{k as P}from"./index-GZwpRmKU.js";import{R as pe}from"./refresh-cw-CSycAyA2.js";import{P as le}from"./plus-BVwIGPvl.js";import{C as xe}from"./circle-check-C5nUiTvE.js";import{T as de}from"./trash-2-Cf9-88KL.js";const ge=new Set(["kube-system","kube-public","kube-node-lease","default","devops"]);function ve(){const{clusterCode:t}=Z(),F=ee(),[o,M]=n.useState([]),[u,f]=n.useState(!1),[b,J]=n.useState(""),[K,k]=n.useState(!1),[d,y]=n.useState(""),[v,w]=n.useState(!1),[g,h]=n.useState(null),[C,S]=n.useState(!1),x=n.useCallback(async()=>{if(t){f(!0);try{const s=await P.getNamespacesDetail(t);M(Array.isArray(s)?s:[])}catch{M([])}finally{f(!1)}}},[t]);n.useEffect(()=>{x()},[x]);const D=async()=>{if(!(!t||!d.trim())){w(!0);try{await P.createNamespace(t,d.trim()),y(""),k(!1),await x()}catch(s){z.error(s?.message||"创建失败")}finally{w(!1)}}},Y=async()=>{if(!(!t||!g)){S(!0);try{await P.deleteNamespace(t,g),h(null),await x()}catch(s){z.error(s?.message||"删除失败")}finally{S(!1)}}},T=o.filter(s=>!b||s.name.toLowerCase().includes(b.toLowerCase())),G=o.reduce((s,r)=>s+(r.resource_counts?.deployments||0),0),U=o.reduce((s,r)=>s+(r.resource_counts?.pods||0),0),V=o.reduce((s,r)=>s+(r.resource_counts?.services||0),0),W=o.filter(s=>s.has_resource_quota).length;return e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:109:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:111:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(A,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:112:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),e.jsx(O,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:113:9",className:"h-3 w-3"}),e.jsx(A,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:114:9",to:`/kubernetes/${t}`,className:"hover:text-slate-300 transition-colors",children:t}),e.jsx(O,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:115:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:116:9",className:"text-slate-300",children:"命名空间管理"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:120:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:121:9",children:[e.jsxs("h1",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:122:11",className:"text-2xl font-bold text-slate-100 flex items-center gap-2",children:[e.jsx(j,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:123:13",className:"h-6 w-6 text-emerald-400"}),"命名空间管理"]}),e.jsx("p",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:126:11",className:"text-sm text-slate-500 mt-1",children:"命名空间资源配额与生命周期管理"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:128:9",className:"flex items-center gap-2",children:[e.jsx(m,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:129:11",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",onClick:x,disabled:u,children:u?e.jsx(i,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:131:24",className:"h-4 w-4 animate-spin"}):e.jsx(pe,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:131:71",className:"h-4 w-4"})}),e.jsxs(L,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:133:11",open:K,onOpenChange:k,children:[e.jsx(se,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:134:13",asChild:!0,children:e.jsxs(m,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:135:15",className:"bg-blue-600 hover:bg-blue-700",children:[e.jsx(le,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:136:17",className:"h-4 w-4 mr-1"}),"创建命名空间"]})}),e.jsxs(E,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:139:13",children:[e.jsx(B,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:140:15",children:e.jsx(q,{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:141:17",children:"创建命名空间"})}),e.jsx("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:143:15",className:"space-y-4 py-4",children:e.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceManagementPage.tsx:14Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{k as g,r,j as s,n as l,o as i,s as h,q as b,w as N,C as f,N as u,v as w,A as k}from"./index-HuRw9UhJ.js";import{k as n}from"./index-GZwpRmKU.js";import{F as P}from"./file-text-BqORyhNh.js";const j=[{type:"deployments",label:"Deployments",icon:b,desc:"工作负载副本管理"},{type:"pods",label:"Pods",icon:N,desc:"容器实例运行状态"},{type:"cronjobs",label:"CronJobs",icon:f,desc:"定时任务管理"},{type:"services",label:"Services",icon:u,desc:"服务发现与负载均衡"},{type:"ingresses",label:"Ingresses",icon:u,desc:"外部流量路由规则"},{type:"configmaps",label:"ConfigMaps",icon:P,desc:"配置字典"},{type:"secrets",label:"Secrets",icon:w,desc:"密钥与凭证"},{type:"hpas",label:"HPAs",icon:k,desc:"水平自动伸缩策略"}];function S(){const{clusterCode:t,namespace:a}=g(),[x,p]=r.useState({}),[v,m]=r.useState(!1),d=r.useCallback(async()=>{if(!(!t||!a)){m(!0);try{const e=await Promise.allSettled([n.getNamespaceDeployments(t,a),n.getNamespacePods(t,a),n.getNamespaceServices(t,a),n.getNamespaceIngresses(t,a),n.getNamespaceConfigMaps(t,a),n.getNamespaceSecrets(t,a),n.getHPAs(t,a),n.getCronJobs(t,a)]),c=o=>Array.isArray(o)?o:o?.list||o?.data||[];p({deployments:c(e[0].status==="fulfilled"?e[0].value:[]).length,pods:c(e[1].status==="fulfilled"?e[1].value:[]).length,services:c(e[2].status==="fulfilled"?e[2].value:[]).length,ingresses:c(e[3].status==="fulfilled"?e[3].value:[]).length,configmaps:c(e[4].status==="fulfilled"?e[4].value:[]).length,secrets:c(e[5].status==="fulfilled"?e[5].value:[]).length,hpas:c(e[6].status==="fulfilled"?e[6].value:[]).length,cronjobs:c(e[7].status==="fulfilled"?e[7].value:[]).length})}catch{p({})}finally{m(!1)}}},[t,a]);return r.useEffect(()=>{d()},[d]),s.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:65:5",className:"space-y-4",children:[s.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:67:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[s.jsx(l,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:68:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),s.jsx(i,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:69:9",className:"h-3 w-3"}),s.jsx(l,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:70:9",to:`/kubernetes/${t}`,className:"hover:text-slate-300 transition-colors",children:t}),s.jsx(i,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:71:9",className:"h-3 w-3"}),s.jsx("span",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:72:9",className:"text-slate-300",children:a})]}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:76:7",className:"flex items-center justify-between",children:s.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:77:9",children:[s.jsxs("h1",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:78:11",className:"text-2xl font-bold text-slate-100 flex items-center gap-2",children:[s.jsx(h,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:79:13",className:"h-6 w-6 text-blue-400"}),a]}),s.jsx("p",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:82:11",className:"text-sm text-slate-500 mt-1",children:"命名空间概览"})]})}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:87:7",className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:j.map(e=>s.jsxs(l,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:89:11",to:`/kubernetes/${t}/namespace/${a}/${e.type}`,className:"bg-slate-900 border border-slate-800 rounded-lg p-4 hover:border-slate-600 hover:bg-slate-800/50 transition-all group",children:[s.jsxs("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:93:13",className:"flex items-center justify-between mb-2",children:[s.jsx(e.icon,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:94:15",className:"h-5 w-5 text-slate-500 group-hover:text-blue-400 transition-colors"}),s.jsx(i,{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:95:15",className:"h-4 w-4 text-slate-600 group-hover:text-slate-400 transition-colors"})]}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:97:13",className:"text-lg font-bold text-slate-100",children:v?"-":x[e.type]??0}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:98:13",className:"text-sm text-slate-500",children:e.label}),s.jsx("div",{"code-path":"src/components/kubernetes/NamespaceOverviewPage.tsx:99:13",className:"text-xs text-slate-600 mt-1",children:e.desc})]},e.type))})]})}export{S as default};
|
||||
@@ -0,0 +1,3 @@
|
||||
import{r as g,E as xe,o as te,N as Q,v as T,j as e,B as i,X as he,L as A,k as be,y as ge,m as Ne,q as O,C as ne,A as le,w as de,n as se,F as M,H as ke}from"./index-HuRw9UhJ.js";import{C as ve,a as Re}from"./card-B2Wqa0sK.js";import{I as P}from"./input-C9Xfv8um.js";import{B as E}from"./badge-CeS-g-Od.js";import{S as I,a as F,b as H,c as J,d as $}from"./select-KDzbUQs3.js";import{T as je,a as Pe,b as C,c as ye,d as fe,e as a}from"./table-Du1vU-OM.js";import{c as re,R as Ee,y as Ve,o as we,Y as Ce,P as Se,a as ze}from"./PodFileBrowser-DmjH49sm.js";import{L as _}from"./label-DvRDtaMA.js";import{T as _e}from"./textarea-Bzol9o6k.js";import{u as ie}from"./use-toast-B25j_Fg3.js";import{k as f}from"./index-GZwpRmKU.js";import{F as ce}from"./file-text-BqORyhNh.js";import{S as W}from"./save-PutEGGnz.js";import{P as G}from"./plus-BVwIGPvl.js";import{T as U}from"./trash-2-Cf9-88KL.js";import{R as $e}from"./refresh-cw-CSycAyA2.js";import{D as oe}from"./download-CjFatm64.js";import{S as Me}from"./search-CcKEpJIn.js";import{P as B}from"./pencil-BZ7zX3m0.js";import{H as Ye}from"./hard-drive-laLCm9TI.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";import"./copy-Ci4WwJkK.js";import"./sparkles-DEwze8TU.js";import"./xterm-DSqgeKvr.js";import"./box-DPoVh2_c.js";import"./rotate-cw-Dt34Qj6N.js";import"./minimize-2-UErWMOt6.js";import"./arrow-left-J2A6V6Vq.js";import"./upload-oCjAhX91.js";import"./folder-CyecCkCR.js";function Te(s){try{return JSON.parse(s)}catch{}try{const t=s.split(`
|
||||
`).filter(o=>!o.trim().startsWith("#"));return JSON.parse(t.join(`
|
||||
`))}catch{return null}}function Ae({clusterCode:s,namespace:t,resource:o,name:d,onClose:r,onSaved:x}){const{toast:v}=ie(),[w,V]=g.useState(!0),[R,m]=g.useState(!1),[u,b]=g.useState(""),[l,h]=g.useState(null),[N,j]=g.useState("visual"),[n,k]=g.useState(""),p=g.useCallback(async()=>{V(!0);try{const S=await f.getResourceYaml(s,t,o,d),L=re(S);b(S),k(L);const ee=Te(L);h(ee),ee||(j("yaml"),v({title:"可视化编辑不可用",description:"无法解析资源结构,已切换到 YAML 编辑模式"}))}catch(S){v({title:"加载失败",description:S.message,variant:"destructive"})}finally{V(!1)}},[s,t,o,d]);g.useEffect(()=>{p()},[p]);const y=async S=>{m(!0);try{const L=q(S);await f.updateResourceYaml(s,t,o,d,L),v({title:"保存成功",description:`${o}/${d} 已更新`}),x?.(),r()}catch(L){v({title:"保存失败",description:L.message,variant:"destructive"})}finally{m(!1)}},Z=async()=>{m(!0);try{await f.updateResourceYaml(s,t,o,d,n),v({title:"YAML 已应用",description:`${o}/${d} 更新成功`}),x?.(),r()}catch(S){v({title:"保存失败",description:S.message,variant:"destructive"})}finally{m(!1)}};function q(S){return JSON.stringify(S,null,2)}const X={configmaps:{title:"ConfigMap",icon:ce,color:"text-blue-400"},secrets:{title:"Secret",icon:T,color:"text-amber-400"},services:{title:"Service",icon:Q,color:"text-cyan-400"},ingresses:{title:"Ingress",icon:te,color:"text-purple-400"},pvcs:{title:"PersistentVolumeClaim",icon:xe,color:"text-emerald-400"}},Y=X[o]||X.configmaps,D=Y.icon;return e.jsx("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:114:5",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:r,children:e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:115:7",className:"bg-[var(--dg-bg-primary)] border border-[var(--dg-border)] rounded-xl w-[90vw] max-w-3xl max-h-[85vh] flex flex-col shadow-2xl",onClick:S=>S.stopPropagation(),children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:117:9",className:"flex items-center justify-between p-4 border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:118:11",className:"flex items-center gap-2",children:[e.jsx(D,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:119:13",className:`h-5 w-5 ${Y.color}`}),e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:120:13",children:[e.jsxs("h2",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:121:15",className:"text-lg font-bold text-[var(--dg-text-primary)]",children:[Y.title," 编辑器"]}),e.jsxs("p",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:122:15",className:"text-xs text-[var(--dg-text-muted)]",children:[d," · ",t," · ",s]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:125:11",className:"flex items-center gap-2",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:127:13",className:"flex rounded-lg border border-[var(--dg-border)] overflow-hidden",children:[e.jsx("button",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:128:15",className:`px-3 py-1.5 text-xs font-medium transition-colors ${N==="visual"?"bg-blue-600 text-white":"bg-transparent text-[var(--dg-text-secondary)] hover:bg-[var(--dg-bg-tertiary)]"}`,onClick:()=>l&&j("visual"),disabled:!l,children:"可视化编辑"}),e.jsx("button",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:133:15",className:`px-3 py-1.5 text-xs font-medium transition-colors ${N==="yaml"?"bg-blue-600 text-white":"bg-transparent text-[var(--dg-text-secondary)] hover:bg-[var(--dg-bg-tertiary)]"}`,onClick:()=>j("yaml"),children:"YAML 编辑"})]}),e.jsx(i,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:138:13",variant:"ghost",size:"icon",className:"h-8 w-8 text-[var(--dg-text-secondary)]",onClick:r,children:e.jsx(he,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:138:119",className:"h-4 w-4"})})]})]}),e.jsx("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:143:9",className:"flex-1 overflow-auto p-4",children:w?e.jsx("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:145:13",className:"flex items-center justify-center h-full py-20",children:e.jsx(A,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:145:76",className:"h-6 w-6 animate-spin text-[var(--dg-text-muted)]"})}):N==="yaml"?e.jsxs("div",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:147:13",className:"space-y-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:148:15",className:"text-xs text-amber-400/80",children:"⚠️ YAML 编辑模式 — 修改后点击保存。已自动清理只读字段(status/managedFields/uid)"}),e.jsx(Ee,{"code-path":"src/components/kubernetes/ResourceVisualEditor.tsx:149:15",value:n,height:"550px",theme:we,exten
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{k as R,m as M,r as p,j as e,n as g,o as k,S,B as q,L as j,T as P,I as B,A as F,N as L,w as U}from"./index-HuRw9UhJ.js";import{C as c,a as o}from"./card-B2Wqa0sK.js";import{B as l}from"./badge-CeS-g-Od.js";import{T as A,a as E,b as D,c as n,d as I,e as r}from"./table-Du1vU-OM.js";import{k as z}from"./index-GZwpRmKU.js";import{R as H}from"./refresh-cw-CSycAyA2.js";import{C as f}from"./circle-check-C5nUiTvE.js";function X(){const{clusterCode:d,nodeName:i}=R();M();const[s,N]=p.useState(null),[h,u]=p.useState(!1),b=p.useCallback(async()=>{if(!(!d||!i)){u(!0);try{const t=await z.getNodeDetail(d,i);N(t)}catch{N(null)}finally{u(!1)}}},[d,i]);p.useEffect(()=>{b()},[b]);const x=({label:t,used:a,total:v,unit:w,pct:C,color:$})=>{const m=Math.min(Math.max(C||0,0),100),T=m>80?"bg-red-500":m>60?"bg-amber-500":"bg-emerald-500";return e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:53:7",className:"space-y-1.5",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:54:9",className:"flex items-center justify-between text-xs",children:[e.jsx("span",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:55:11",className:"text-slate-400",children:t}),e.jsxs("span",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:56:11",className:"text-slate-300 font-medium",children:[a," / ",v," ",w]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:60:9",className:"flex items-center gap-2",children:[e.jsx("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:61:11",className:"flex-1 h-2 rounded-full bg-slate-700/50 overflow-hidden",children:e.jsx("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:62:13",className:`h-full rounded-full ${T} transition-all duration-500`,style:{width:`${m}%`}})}),e.jsxs("span",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:64:11",className:`text-xs font-semibold min-w-[40px] text-right ${$}`,children:[m.toFixed(0),"%"]})]})]})},_=(t,a)=>a==="True"?t==="Ready"?"bg-emerald-500/20 text-emerald-400":"bg-red-500/20 text-red-400":"bg-slate-500/20 text-slate-400",y=t=>t==="NoSchedule"?"bg-red-500/20 text-red-400 border-red-500/30":t==="NoExecute"?"bg-red-600/20 text-red-300 border-red-600/30":t==="PreferNoSchedule"?"bg-amber-500/20 text-amber-400 border-amber-500/30":"bg-slate-500/20 text-slate-400 border-slate-500/30";return e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:89:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:91:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(g,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:92:9",to:"/kubernetes",className:"hover:text-slate-300 transition-colors",children:"集群"}),e.jsx(k,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:93:9",className:"h-3 w-3"}),e.jsx(g,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:94:9",to:`/kubernetes/${d}`,className:"hover:text-slate-300 transition-colors",children:d}),e.jsx(k,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:95:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:96:9",className:"text-slate-300",children:i})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:100:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:101:9",className:"flex items-center gap-3",children:[e.jsx("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:102:11",className:"flex items-center justify-center w-12 h-12 rounded-xl bg-slate-800 border border-slate-700",children:e.jsx(S,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:103:13",className:"h-6 w-6 text-blue-400"})}),e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:105:11",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:106:13",className:"flex items-center gap-2",children:[e.jsx("h1",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:107:15",className:"text-2xl font-bold text-slate-100",children:i}),e.jsx(l,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:108:15",className:s?.role==="master"?"bg-blue-500/20 text-blue-400 border-blue-500/30":"bg-slate-500/20 text-slate-400 border-slate-500/30",children:s?.role||"worker"}),e.jsx(l,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:111:15",className:s?.status==="Ready"?"bg-emerald-500/20 text-emerald-400":"bg-red-500/20 text-red-400",children:s?.status||"Unknown"})]}),e.jsxs("p",{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:115:13",className:"text-sm text-slate-500 mt-0.5",children:[s?.internal_ip&&`${s.internal_ip}`,s?.hostname&&` · ${s.hostname}`]})]})]}),e.jsx(q,{"code-path":"src/components/kubernetes/NodeDetailPage.tsx:121:9",variant:"outline",size:"icon",className:"h-9 w-9 border-slate-700 text-slate-400",oLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as W,k as Ze,r as i,f as Ke,t as m,j as e,L as q,V,B as p,v as Pe,W as Ee,o as ve,C as ue,O as Xe,X as Qe,Y as es,w as ss,F as ts,H as os,S as ns,D as cs,a as ds,b as is,c as rs}from"./index-HuRw9UhJ.js";import{C as P,a as E}from"./card-B2Wqa0sK.js";import{I as v}from"./input-C9Xfv8um.js";import{B as j}from"./badge-CeS-g-Od.js";import{T as as,a as ps,b as k,c as C}from"./tabs-XYsjnHzX.js";import{S as $,a as R,b as O,c as I,d as h}from"./select-KDzbUQs3.js";import{T as ls}from"./textarea-Bzol9o6k.js";import{S as G}from"./switch--ZaqVsRJ.js";import{L as y}from"./label-DvRDtaMA.js";import{p as g}from"./pipeline-CRmSOJEC.js";import{d as xs}from"./config-J-uY34Cv.js";import{S as ms}from"./save-PutEGGnz.js";import{P as hs}from"./play-BXdOitsb.js";import{P as D}from"./plus-BVwIGPvl.js";import{C as ys}from"./chevron-up-GXrRy2ul.js";import{T as S}from"./trash-2-Cf9-88KL.js";import{C as Ne}from"./circle-stop-CNrDSTTb.js";import{F as gs}from"./file-text-BqORyhNh.js";import{U as js}from"./user-plus-DK2M0PwG.js";import{Z as Ps}from"./zap-CS68N0Jd.js";import{W as we}from"./wrench-BNS3BrjG.js";import"./index-DwvHXNyF.js";const Es=[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]],vs=W("flask-conical",Es);const us=[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]],be=W("hand",us);const Ns=[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]],bs=W("scroll-text",Ns);const fs=[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]],fe=W("webhook",fs),ws={source:"拉取代码",build:"构建",deploy:"部署",test:"测试",custom:"自定义"},ke={GitBranch:V,Wrench:we,Server:ns,FlaskConical:vs,Zap:Ps,Terminal:os,FileCode:ts,Container:ss};function ks(){return`tsk-${Date.now()}-${Math.random().toString(36).slice(2,7)}`}function Ce(r){if(!r)return"-";if(r<60)return`${r}s`;const d=Math.floor(r/60),c=r%60;return c>0?`${d}分${c}秒`:`${d}分`}function Cs({task:r,selected:d,onSelect:c,onDelete:u}){const a=ke[r.icon]||we;return e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:75:5",onClick:c,className:`flex items-center gap-3 p-3 rounded-md border cursor-pointer transition-all group ${d?"border-blue-500 bg-blue-500/10":"border-[var(--dg-border)] hover:border-slate-400 bg-[var(--dg-bg-secondary)]"}`,children:[e.jsx("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:81:7",className:`p-1.5 rounded ${d?"bg-blue-100":"bg-slate-100 dark:bg-slate-800"}`,children:e.jsx(a,{"code-path":"src/components/deploy/PipelineEditor.tsx:82:9",className:`w-4 h-4 ${d?"text-blue-600":"text-[var(--dg-text-secondary)]"}`})}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:84:7",className:"flex-1 min-w-0",children:[e.jsx("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:85:9",className:"text-sm font-medium text-[var(--dg-text-primary)] truncate",children:r.name}),e.jsx("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:86:9",className:"text-xs text-[var(--dg-text-secondary)]",children:r.type})]}),e.jsx(p,{"code-path":"src/components/deploy/PipelineEditor.tsx:88:7",variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100",onClick:x=>{x.stopPropagation(),u()},children:e.jsx(S,{"code-path":"src/components/deploy/PipelineEditor.tsx:89:9",className:"w-3.5 h-3.5 text-red-500"})})]})}function Ss({task:r,onUpdate:d}){return r?e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:99:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:100:7",className:"space-y-1",children:[e.jsx(y,{"code-path":"src/components/deploy/PipelineEditor.tsx:100:34",className:"text-xs",children:"任务名称"}),e.jsx(v,{"code-path":"src/components/deploy/PipelineEditor.tsx:100:73",value:r.name,onChange:c=>d({...r,name:c.target.value}),className:"h-8 text-sm"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:101:7",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineEditor.tsx:102:9",className:"space-y-1",children:[e.jsx(y,{"code-path":"src/components/deploy/PipelineEditor.tsx:102:36",className:"text-xs",cLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as Me,ac as Ge,j as e,L as H,Q as ae,V as U,w as le,au as Y,av as Ee,r as o,B as v,D as Be,a as Le,b as Te,c as Fe,C as Z,t as N,m as We,N as he,S as ye,G as ue,W as Oe,o as de,f as Qe}from"./index-HuRw9UhJ.js";import{I as f}from"./input-C9Xfv8um.js";import{p as T}from"./pipeline-CRmSOJEC.js";import{u as Je,q as Ie,a as Ke}from"./unwrap-s5xDIyKq.js";import{u as ce}from"./useMutation-ChnF9A9K.js";import{C as He,a as Ue}from"./card-B2Wqa0sK.js";import{B as D}from"./badge-CeS-g-Od.js";import{C as ee}from"./circle-x-BVvXVx7p.js";import{B as Xe}from"./box-DPoVh2_c.js";import{C as me}from"./circle-stop-CNrDSTTb.js";import{F as _e}from"./file-text-BqORyhNh.js";import{A as K}from"./arrow-right-C1YbOgFu.js";import{P as Ye}from"./play-BXdOitsb.js";import{H as Ze}from"./history-CLAzTAyT.js";import{T as $e}from"./trash-2-Cf9-88KL.js";import{T as ea}from"./textarea-Bzol9o6k.js";import{L as h}from"./label-DvRDtaMA.js";import{S as se,a as te,b as oe,c as re,d as L}from"./select-KDzbUQs3.js";import{d as aa}from"./config-J-uY34Cv.js";import{c as na}from"./credential-snjgV65G.js";import{T as sa}from"./tag-DcJS0iSd.js";import{P as xe}from"./plus-BVwIGPvl.js";import{S as ta}from"./search-CcKEpJIn.js";import{L as oa}from"./layers-DZGQE4Gb.js";import{C as ra}from"./code-CQ7c-p8-.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const ia=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],la=Me("package",ia);const pa=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],ca=Me("workflow",pa);function da(n={page:1,page_size:100}){return Je({queryKey:Ie.pipelines(n),queryFn:async()=>{const p=await T.getPipelines(n);return Ke(p)},staleTime:2e4})}function ma(){const n=Ge(),p=()=>n.invalidateQueries({queryKey:["pipelines"]}),P=ce({mutationFn:d=>T.triggerByCode(d),onSuccess:p}),b=ce({mutationFn:d=>T.deletePipeline(d),onSuccess:p}),j=ce({mutationFn:({code:d,runId:y})=>T.stopRunByCode(d,y)});return{triggerMutation:P,deleteMutation:b,stopRunMutation:j,invalidate:p}}function xa(n){return n.toLowerCase().replace(/[^a-z0-9]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||`pipeline-${Date.now()}`}function ga(n){switch(n){case"success":return e.jsxs(D,{"code-path":"src/components/deploy/pipeline-helpers.tsx:49:9",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[e.jsx(ae,{"code-path":"src/components/deploy/pipeline-helpers.tsx:50:11",className:"h-3 w-3 mr-1"}),"成功"]});case"failed":return e.jsxs(D,{"code-path":"src/components/deploy/pipeline-helpers.tsx:56:9",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:[e.jsx(ee,{"code-path":"src/components/deploy/pipeline-helpers.tsx:57:11",className:"h-3 w-3 mr-1"}),"失败"]});case"running":return e.jsxs(D,{"code-path":"src/components/deploy/pipeline-helpers.tsx:63:9",variant:"outline",className:"border-blue-500/30 text-blue-400 bg-blue-500/10 animate-pulse",children:[e.jsx(H,{"code-path":"src/components/deploy/pipeline-helpers.tsx:64:11",className:"h-3 w-3 mr-1 animate-spin"}),"运行中"]});default:return e.jsx(D,{"code-path":"src/components/deploy/pipeline-helpers.tsx:70:9",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)]",children:"从未运行"})}}const ie=[{key:"checkout",label:"代码检出",icon:U,color:"#6366F1",order:1,needs:["repo"],desc:"从 Git 仓库拉取代码"},{key:"build",label:"构建",icon:Xe,color:"#F59E0B",order:2,needs:[],desc:"编译/打包项目"},{key:"test",label:"测试",icon:ae,color:"#10B981",order:3,needs:[],desc:"运行单元/集成测试"},{key:"image",label:"镜像打包",icon:le,color:"#06B6D4",order:4,needs:["registry"],desc:"Docker 构建 & 推送"},{key:"deploy",label:"部署",icon:Y,color:"#EF4444",order:5,needs:[],desc:"部署到目标环境"},{key:"verify",label:"验证",icon:Ee,color:"#3B82F6",order:6,needs:[],desc:"部署后健康检查"}].sort((n,p)=>n.order-p.order);function ge(n){if(!n)return"-";if(n<60)return`${n}s`;const p=Math.floor(n/60),P=n%60;return P>0?`${p}分${P}秒`:`${p}分`}function ha(n){if(!n)return[];try{const p=typeof n=="string"?JSON.parse(n):n;return Array.isArray(p)?p:[]}catch{return[]}}function ya({pipeline:n}){const[p,P]=o.useState(null),[b,j]=o.useState(!1),d=n.code||n.id,y=async()=>{if(d){j(!0);try{const l=await T.getQueue(d);P(l?.data||l)}catch{P(null)}finally{j(!1)}}};o.useEffect(()=>{y();const l=setInterval(y,1e4);return()=>clearInterval(l)},[d]);const M=async l=>{try{await T.removeFromQueue(d,l),N.success("已取消"),y()}catch{N.error("取消失败")}},w=p?.running||0,u=p?.queued||0,C=p?.queue_ids||[],R=n.max_executors||2Line truncated
|
||||
@@ -0,0 +1,3 @@
|
||||
import{r as n,j as e,D as me,a as he,a0 as ue,c as ge,d as ye,X as be,at as fe,o as ee,a3 as De,k as je,t as S,B as E,V as Ne,w as ve,au as we,av as Re,L as C,a6 as Pe,C as te,U as Be,af as Fe}from"./index-HuRw9UhJ.js";import{B as A}from"./badge-CeS-g-Od.js";import{C as ke,b as Se,c as Ce,a as $e}from"./card-B2Wqa0sK.js";import{p as $}from"./pipeline-CRmSOJEC.js";import{F as H}from"./folder-open-BKJ-_5eY.js";import{M as ze,a as _e}from"./minimize-2-UErWMOt6.js";import{A as Ee}from"./arrow-left-J2A6V6Vq.js";import{F as Ae}from"./file-text-BqORyhNh.js";import{D as Le}from"./download-CjFatm64.js";import{H as Z}from"./history-CLAzTAyT.js";import{T as Te}from"./trash-2-Cf9-88KL.js";import{R as Ie}from"./refresh-cw-CSycAyA2.js";import{P as Oe}from"./play-BXdOitsb.js";import{B as Me}from"./box-DPoVh2_c.js";import{C as T}from"./circle-check-C5nUiTvE.js";import{C as G}from"./circle-x-BVvXVx7p.js";import{S as Ue}from"./square-DC6JUotK.js";function We(s){return s===0?"-":s<1024?s+" B":s<1024*1024?(s/1024).toFixed(1)+" KB":(s/(1024*1024)).toFixed(1)+" MB"}function He({open:s,onOpenChange:o,runId:u,buildNumber:r}){const[x,a]=n.useState(null),[P,B]=n.useState(!1),[N,L]=n.useState(""),[v,i]=n.useState(""),[w,z]=n.useState(!1),F=async c=>{if(u){B(!0),L("");try{const m=await $.listRunFiles(u,c||void 0);a(m),i(m?.current||"")}catch(m){L(m?.message||"加载失败"),a(null)}finally{B(!1)}}};n.useEffect(()=>{s&&u&&(i(""),F(""))},[s,u]);const y=async c=>{const m=De.getState().token||"",b=`${location.protocol}//${location.host}/api/v1/pipelines/runs/${u}/files/download?path=${encodeURIComponent(c.path)}&token=${encodeURIComponent(m)}`;window.open(b,"_blank")},R=v?v.split("/").filter(Boolean):[],I=[""].concat(R.map((c,m)=>"/"+R.slice(0,m+1).join("/")));return e.jsx(me,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:104:5",open:s,onOpenChange:o,children:e.jsxs(he,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:105:7",showCloseButton:!1,className:ue("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",w?"!max-w-none !w-screen !h-screen !rounded-none":""),style:w?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"700px",width:"85vw"},children:[e.jsxs(ge,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:116:9",className:"sr-only",children:["文件浏览器 #",r]}),e.jsx(ye,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:117:9",className:"sr-only",children:"流水线构建目录文件浏览"}),e.jsxs("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:120:9",className:"flex items-center justify-between px-4 py-2.5 border-b border-[var(--dg-border)] shrink-0",children:[e.jsxs("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:121:11",className:"flex items-center gap-2 min-w-0",children:[e.jsx(H,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:122:13",className:"h-4 w-4 text-[var(--dg-text-secondary)] shrink-0"}),e.jsxs("span",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:123:13",className:"text-[var(--dg-text-primary)] font-medium text-sm",children:["#",r," 工作区文件"]})]}),e.jsxs("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:127:11",className:"flex items-center gap-1",children:[e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:128:13",onClick:()=>z(!w),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:w?e.jsx(ze,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:132:29",className:"h-4 w-4"}):e.jsx(_e,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:132:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:134:13",onClick:()=>o(!1),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:e.jsx(be,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:138:15",className:"h-4 w-4"})})]})]}),e.jsx("div",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:144:9",className:"flex items-center gap-0.5 px-4 py-2 text-xs border-b border-[var(--dg-border)] bg-[var(--dg-bg-primary)] overflow-x-auto shrink-0",children:I.map((c,m)=>e.jsx("span",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:146:13",className:"flex items-center gap-0.5",children:m===0?e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:148:17",onClick:()=>F(""),className:"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] p-0.5",children:e.jsx(fe,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:152:19",className:"h-3.5 w-3.5"})}):e.jsxs(e.Fragment,{children:[e.jsx(ee,{"code-path":"src/components/deploy/FileBrowserDialog.tsx:156:19",className:"h-3 w-3 text-[var(--dg-text-muted)] shrink-0"}),e.jsx("button",{"code-path":"src/components/deploy/FileBrowserDialog.tsx:157:19",onClick:()=>F(c),className:"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] truncate max-w-[120px]",chilLine truncated
|
||||
${g?"ring-1 ring-offset-0 scale-[1.02]":"hover:brightness-110"}`,style:{backgroundColor:M,borderColor:U,color:D,borderRadius:xe},children:[de,e.jsx("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:393:17",children:t.label})]}),!Y&&e.jsx("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:396:17",className:"flex items-center justify-center w-5 h-5 -mx-px z-10",children:e.jsx(ee,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:397:19",className:"h-3.5 w-3.5",style:{color:D+"99"}})})]},t.key)}),a&&e.jsx("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:404:11",className:"ml-auto text-[10px] text-[var(--dg-text-secondary)] opacity-40 shrink-0 pl-3 whitespace-nowrap",children:i?j.find(t=>t.key===i)?.label:"全阶段"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:411:7",className:"flex-1 flex flex-col min-h-0",children:[e.jsx("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:413:9",className:"rounded-md border border-[var(--dg-border)] overflow-hidden mb-4",children:L&&r.length===0?e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:415:13",className:"text-center py-12",children:[e.jsx(C,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:416:15",className:"w-6 h-6 animate-spin mx-auto mb-2 text-[var(--dg-text-muted)]"}),"加载中..."]}):r.length===0?e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:420:13",className:"text-center py-12 border border-dashed border-[var(--dg-border)] rounded-lg m-4",children:[e.jsx(Z,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:421:15",className:"w-10 h-10 mx-auto mb-3 text-[var(--dg-text-muted)]"}),e.jsx("p",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:422:15",className:"text-[var(--dg-text-secondary)]",children:'暂无执行记录,点击"立即执行"触发构建'})]}):e.jsxs("table",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:425:13",className:"w-full text-sm",children:[e.jsx("thead",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:426:15",className:"bg-[var(--dg-bg-tertiary)] border-b border-[var(--dg-border)]",children:e.jsxs("tr",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:427:17",children:[e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:428:19",className:"px-2 py-2.5 w-10",children:e.jsx("input",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:429:21",type:"checkbox",checked:y.size===r.length&&r.length>0,onChange:pe,className:"rounded"})}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:432:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)] w-16",children:"构建"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:433:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)] w-20",children:"状态"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:434:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)]",children:"触发方式"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:435:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)]",children:"用户"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:436:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)]",children:"耗时"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:437:19",className:"px-3 py-2.5 text-left font-medium text-[var(--dg-text-secondary)] hidden md:table-cell",children:"时间"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:438:19",className:"px-3 py-2.5 text-right font-medium text-[var(--dg-text-secondary)] w-32",children:"操作"})]})}),e.jsx("tbody",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:441:15",children:r.map(t=>{const p=Je[t.status]||te;return e.jsxs("tr",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:445:21",className:`border-b border-[var(--dg-border)] cursor-pointer transition-colors
|
||||
${a?.id===t.id?"bg-[var(--dg-blue)]/10":"hover:bg-[var(--dg-bg-tertiary)]/50"}`,onClick:()=>{P(t)},children:[e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:449:23",className:"px-2 py-2.5",onClick:l=>l.stopPropagation(),children:e.jsx("input",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:450:25",type:"checkbox",checked:y.has(t.id),onChange:()=>ie(t.id),className:"rounded"})}),e.jsxs("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:453:23",className:"px-3 py-2.5 font-mono font-semibold text-[var(--dg-text-primary)]",children:["#",t.build_number]}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:456:23",className:"px-3 py-2.5",children:e.jsxs(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:457:25",className:`text-xs ${Ge[t.status]||""} flex items-center gap-1 w-fit`,children:[e.jsx(p,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:458:27",className:`w-3 h-3 ${t.status==="running"?"animate-spin":""}`}),t.status==="success"?"成功":t.status==="failed"?"失败":t.status==="running"?"执行中":t.status==="cancelled"?"已取消":"待执行"]})}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:466:23",className:"px-3 py-2.5",children:e.jsx(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:467:25",variant:"outline",className:"text-xs",children:q(t)})}),e.jsxs("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:469:23",className:"px-3 py-2.5 text-[var(--dg-text-secondary)] flex items-center gap-1",children:[e.jsx(Be,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:470:25",className:"w-3 h-3"}),t.triggered_by||"admin"]}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:473:23",className:"px-3 py-2.5 text-[var(--dg-text-secondary)] font-mono text-xs",children:t.status==="running"?e.jsxs("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:475:27",className:"flex items-center gap-1 text-blue-400",children:[e.jsx(C,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:476:29",className:"w-3 h-3 animate-spin"}),"执行中..."]}):Ve(t.duration)}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:480:23",className:"px-3 py-2.5 text-[var(--dg-text-muted)] text-xs hidden md:table-cell",children:Xe(t.created_at)}),e.jsx("td",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:483:23",className:"px-3 py-2.5 text-right",onClick:l=>l.stopPropagation(),children:e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:484:25",className:"flex justify-end gap-1",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:485:27",variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>P(t),children:"日志"}),e.jsxs(E,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:489:27",variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>{oe({id:t.id,buildNumber:t.build_number}),J(!0)},children:[e.jsx(H,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:491:29",className:"w-3.5 h-3.5 mr-1"}),"浏览"]}),t.status==="running"&&e.jsx(E,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:494:29",variant:"ghost",size:"icon",className:"h-7 w-7 text-red-500",onClick:()=>re(t.id),children:e.jsx(Ue,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:496:31",className:"w-3.5 h-3.5"})})]})})]},t.id)})})]})}),a&&e.jsxs(ke,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:511:11",className:"flex-1 flex flex-col min-h-0 border-[var(--dg-border)] bg-[var(--dg-bg-secondary)]",children:[e.jsxs(Se,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:512:13",className:"py-3 px-4 flex flex-row items-center justify-between border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:513:15",className:"flex items-center gap-3",children:[e.jsxs(Ce,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:514:17",className:"text-sm font-mono",children:[o?.name||`#${s}`," #",a.build_number]}),a.status==="running"&&e.jsxs(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:518:19",className:"bg-blue-500/20 text-blue-400 border-blue-500/30 text-xs",children:[e.jsx(C,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:519:21",className:"w-3 h-3 animate-spin mr-1"}),"实时"]}),i&&e.jsx(A,{"code-path":"src/components/deploy/PipelineRunDetail.tsx:523:19",className:"text-xs border-[var(--dg-border)]",variant:"outline",children:j.find(t=>t.key===i)?.label||i})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:528:15",className:"flex items-center gap-2 text-xs text-[var(--dg-text-muted)]",children:[e.jsxs("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:529:17",children:["触发: ",q(a)," (",a.triggered_by||"admin",")"]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineRunDetail.tsx:530:17",className:"opacity-40",children:"|"}),e.jsxs("span",{"code-path
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{r as t,j as e,B as d,L as k,g as L,D as E,a as I,b as T,c as B,d as O,e as V}from"./index-HuRw9UhJ.js";import{I as m}from"./input-C9Xfv8um.js";import{L as r}from"./label-DvRDtaMA.js";import{B as j}from"./badge-CeS-g-Od.js";import{S as P,a as M,b as v,c as b,d as o}from"./select-KDzbUQs3.js";import{p as x}from"./cloud-sEaHmpLm.js";import{S as K}from"./search-CcKEpJIn.js";import{P as U}from"./plus-BVwIGPvl.js";import{E as W}from"./external-link-JBfQbjOd.js";import{P as Y}from"./pencil-BZ7zX3m0.js";import{T as Z}from"./trash-2-Cf9-88KL.js";import{C as $}from"./circle-check-C5nUiTvE.js";import{C as ee}from"./circle-x-BVvXVx7p.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const ae={public:"公有云",private:"私有云",hybrid:"混合云"},se={public:"text-blue-400",private:"text-purple-400",hybrid:"text-cyan-400"};function je(){const[F,N]=t.useState([]),[Q,y]=t.useState(!0),[h,A]=t.useState(""),[u,H]=t.useState("all"),[R,l]=t.useState(!1),[n,w]=t.useState(null),[C,S]=t.useState(!1),[s,c]=t.useState({name:"",code:"",type:"public",status:"active",website:"",description:""}),p=t.useCallback(async()=>{y(!0);try{const f=(await x.list())?.list||[];N(f)}catch{N([])}finally{y(!1)}},[]);t.useEffect(()=>{p()},[p]);const D=F.filter(a=>{const f=a.name?.toLowerCase().includes(h.toLowerCase())||a.code?.toLowerCase().includes(h.toLowerCase()),J=u==="all"||a.type===u;return f&&J}),X=()=>{w(null),c({name:"",code:"",type:"public",status:"active",website:"",description:""}),l(!0)},_=a=>{w(a),c({name:a.name||"",code:a.code||"",type:a.type||"public",status:a.status||"active",website:a.website||"",description:a.description||""}),l(!0)},q=async()=>{if(!(!s.name.trim()||!s.code.trim())){S(!0);try{n?await x.update(n.id,s):await x.create(s),l(!1),p()}catch{}finally{S(!1)}}},[g,i]=t.useState(null),z=a=>i(a),G=async()=>{g!==null&&(await x.delete(g),i(null),p())};return e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:124:5",className:"p-6 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:126:7",className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:127:9",className:"flex items-center gap-3 flex-1",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:128:11",className:"relative w-72",children:[e.jsx(K,{"code-path":"src/components/cloud/PlatformManager.tsx:129:13",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(m,{"code-path":"src/components/cloud/PlatformManager.tsx:130:13",placeholder:"搜索平台名称或编码...",value:h,onChange:a=>A(a.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700"})]}),e.jsxs(P,{"code-path":"src/components/cloud/PlatformManager.tsx:137:11",value:u,onValueChange:H,children:[e.jsx(M,{"code-path":"src/components/cloud/PlatformManager.tsx:138:13",className:"w-32 h-9 bg-slate-800/50 border-slate-700",children:e.jsx(v,{"code-path":"src/components/cloud/PlatformManager.tsx:139:15"})}),e.jsxs(b,{"code-path":"src/components/cloud/PlatformManager.tsx:141:13",children:[e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:142:15",value:"all",children:"全部类型"}),e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:143:15",value:"public",children:"公有云"}),e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:144:15",value:"private",children:"私有云"}),e.jsx(o,{"code-path":"src/components/cloud/PlatformManager.tsx:145:15",value:"hybrid",children:"混合云"})]})]})]}),e.jsxs(d,{"code-path":"src/components/cloud/PlatformManager.tsx:149:9",onClick:X,className:"gap-2",children:[e.jsx(U,{"code-path":"src/components/cloud/PlatformManager.tsx:150:11",className:"h-4 w-4"}),"添加平台"]})]}),Q?e.jsx("div",{"code-path":"src/components/cloud/PlatformManager.tsx:157:9",className:"flex justify-center py-20",children:e.jsx(k,{"code-path":"src/components/cloud/PlatformManager.tsx:158:11",className:"h-6 w-6 animate-spin text-slate-500"})}):D.length===0?e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:161:9",className:"text-center py-20 text-slate-500",children:[e.jsx(L,{"code-path":"src/components/cloud/PlatformManager.tsx:162:11",className:"h-12 w-12 mx-auto mb-3 opacity-40"}),e.jsx("p",{"code-path":"src/components/cloud/PlatformManager.tsx:163:11",children:"暂无云平台数据"})]}):e.jsx("div",{"code-path":"src/components/cloud/PlatformManager.tsx:166:9",className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:D.map(a=>e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:168:13",className:"bg-slate-800/30 rounded-lg p-4 hover:bg-slate-800/50 transition-colors group",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:172:15",className:"flex items-start justify-between mb-3",children:[e.jsxs("div",{"code-path":"src/components/cloud/PlatformManager.tsx:173:17",className:"flex items-ceLine truncated
|
||||
@@ -0,0 +1,25 @@
|
||||
import{r as H,j as y,B as le,O as gl,L as St,X as Zs,D as Iu,a as Wu,a0 as xl,c as Fu,d as Vu,H as Hu,o as zu}from"./index-HuRw9UhJ.js";import{u as Ah}from"./use-toast-B25j_Fg3.js";import{k as wt}from"./index-GZwpRmKU.js";import{C as bl}from"./copy-Ci4WwJkK.js";import{S as xs}from"./sparkles-DEwze8TU.js";import{S as yl}from"./save-PutEGGnz.js";import{S as kl,a as wl,b as vl,c as Sl,d as Ol}from"./select-KDzbUQs3.js";import{x as Qu,a as $u}from"./xterm-DSqgeKvr.js";import{B as ju}from"./box-DPoVh2_c.js";import{R as qu}from"./rotate-cw-Dt34Qj6N.js";import{M as Xu,a as Uu}from"./minimize-2-UErWMOt6.js";import{B as Yu}from"./badge-CeS-g-Od.js";import{H as _u}from"./hard-drive-laLCm9TI.js";import{A as Ku}from"./arrow-left-J2A6V6Vq.js";import{U as Gu}from"./upload-oCjAhX91.js";import{R as Ju}from"./refresh-cw-CSycAyA2.js";import{F as Zu,a as ed}from"./folder-CyecCkCR.js";import{D as td}from"./download-CjFatm64.js";function Tr(){return Tr=Object.assign?Object.assign.bind():function(s){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(s[i]=t[i])}return s},Tr.apply(null,arguments)}function id(s,e){if(s==null)return{};var t={};for(var i in s)if({}.hasOwnProperty.call(s,i)){if(e.indexOf(i)!==-1)continue;t[i]=s[i]}return t}function bs(s){if(!s)return"";const e=s.replace(/\r\n/g,`
|
||||
`).split(`
|
||||
`),t=[];let i=0;const n=new Set(["uid","resourceVersion","creationTimestamp","generation","selfLink","clusterName","managedFields","generateName"]),r=new Set(["managedFields","ownerReferences"]),o={dnsPolicy:["ClusterFirst"],restartPolicy:["Always"],schedulerName:["default-scheduler"],terminationGracePeriodSeconds:["30"],serviceAccountName:["default"],enableServiceLinks:["true"],progressDeadlineSeconds:["600"],revisionHistoryLimit:["10"]},l={imagePullPolicy:["Always","IfNotPresent"],terminationMessagePath:["/dev/termination-log"],terminationMessagePolicy:["File"]},a=new Set(["kubectl.kubernetes.io/last-applied-configuration","deployment.kubernetes.io/revision","kubectl.kubernetes.io/restartedAt","control-plane.alpha.kubernetes.io/leader","autoscaling.alpha.kubernetes.io/conditions"]),h=["kube-api-access-","default-token-","kube-"];let c=!1,f=!1,u=!1,d=!1,p=!1,m=!1,g=!1,x=!1,k=0;function w(N){return N.length-N.trimStart().length}function T(N){const P=N.trimStart().match(/^([a-zA-Z_][a-zA-Z0-9_./-]*)\s*:/);return P?P[1]:null}function S(N){const P=N.trim().split(":").slice(1).join(":").trim();return P!==""&&!/^[>|]/.test(P)}function A(N){for(i++;i<e.length;){const P=e[i],D=P.trimStart();if(D===""||D.startsWith("#")){i++;continue}if(w(P)<=N)break;i++}}function O(N){const P=T(N);return P?h.some(D=>P.startsWith(D)):!1}for(;i<e.length;){const N=e[i],P=N.trimStart(),D=w(N),M=T(N);if(P===""||P.startsWith("#")){t.push(N),i++;continue}if(D===0&&M==="status"){A(0);continue}if(D===0&&M==="metadata"){c=!0,t.push(N),i++;continue}if(D===0&&M!=="metadata"&&(c=!1,f=!1),D===0&&M==="spec"){u=!0,t.push(N),i++;continue}if(D===0&&M!=="spec"&&(u=!1,d=!1,p=!1,m=!1,x=!1),c){if(D===2&&M==="annotations"){f=!0,t.push(N),i++;continue}if(D<=2&&M!=="annotations"&&(f=!1),D>=2&&D<=4&&P.startsWith("pod-template-hash")&&P.includes(":")){i++;continue}if(D===2&&M&&n.has(M)){S(N)?i++:A(2);continue}if(D===2&&M&&r.has(M)){A(2);continue}if(f&&D>2&&M&&a.has(M)){if(S(N))i++;else{const R=P.split(":").slice(1).join(":").trim();/^[>|]/.test(R)?A(D):i++}continue}}if(u){if(D===2&&M==="template"){t.push(N),i++;continue}if(D===2&&M&&o[M]){const F=P.split(":").slice(1).join(":").trim();if(o[M].includes(F)){i++;continue}}if(D===2&&M==="nodeName"){i++;continue}if(D===2&&M==="spec"){d=!0,k=D,t.push(N),i++;continue}}if(d&&D>k){if(M==="containers"){p=!0,m=!1,t.push(N),i++;continue}if(M==="initContainers"){m=!0,p=!1,t.push(N),i++;continue}if(M==="volumes"){x=!0,t.push(N),i++;continue}if(M&&o[M]){const F=P.split(":").slice(1).join(":").trim();if(o[M].includes(F)){i++;continue}}if(M==="nodeName"){i++;continue}if(M==="serviceAccount"&&P.endsWith(":")){S(N)?i++:A(D);continue}}if((p||m)&&D>=6){if(M&&l[M]){const F=P.split(":").slice(1).join(":").trim();if(l[M].includes(F)){i++;continue}}if(M==="volumeMounts"&&(g=!0),g&&P.startsWith("- name:")){let F=[N],R=i+1,C=!1;for(;R<e.length;){const B=e[R].trimStart();if(B===""||B.startsWith("#")){F.push(e[R]),R++;continue}if(w(e[R])<=D)break;sd(B)&&(C=!0),F.push(e[R]),R++}if(C){i=R;continue}g=!1}}if(x&&D>=4&&P.startsWith("- name:")&&O(P)){const F=D;for(i++;i<e.length;){const R=e[i],C=R.trimStart();if(C===""||C.startsWith("#")){i++;continue}if(w(R)<=F)break;i++}continue}if(P===""&&t.length>0&&t[t.length-1].trim()===""){i++;continue}t.push(N),i++}return t.join(`
|
||||
`).replace(/\n{3,}/g,`
|
||||
|
||||
`).trimEnd()+`
|
||||
`}function sd(s){return s.includes("mountPath:")&&(s.includes("/var/run/secrets/kubernetes.io")||s.includes("/var/run/secrets/sa"))}const ys={green:"#10b981",orange:"#f59e0b",red:"#ef4444",blue:"#326CE5"};function Ey(s){if(!s)return"#64748b";const e=s.toLowerCase();return["running","available","ready","active","completed","succeeded"].includes(e)?ys.green:["pending","updating","progressing","containercreating"].includes(e)?ys.orange:["failed","error","crashloopbackoff","imagepullbackoff","errimageneverpull"].includes(e)?ys.red:ys.blue}function Ly(s){if(!s)return"-";const e=new Date(s);if(isNaN(e.getTime()))return s;const t=i=>String(i).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())} ${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())}`}function Ny(s,e){if(!s||!e)return null;const t=new Date(s).getTime(),i=new Date(e).getTime();return isNaN(t)||isNaN(i)||i<t?null:Math.max(0,Math.round((i-t)/1e3))}function Iy(s){if(s==null)return"-";if(s<60)return`${s}s`;if(s<3600)return`${Math.floor(s/60)}m${s%60}s`;const e=Math.floor(s/3600),t=Math.floor(s%3600/60);return`${e}h${t}m`}let Dr=[],Mh=[];(()=>{let s="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<s.length;e++)(e%2?Mh:Dr).push(t=t+s[e])})();function nd(s){if(s<768)return!1;for(let e=0,t=Dr.length;;){let i=e+t>>1;if(s<Dr[i])t=i;else if(s>=Mh[i])e=i+1;else return!0;if(e==t)return!1}}function Cl(s){return s>=127462&&s<=127487}const Al=8205;function rd(s,e,t=!0,i=!0){return(t?Ph:od)(s,e,i)}function Ph(s,e,t){if(e==s.length)return e;e&&Th(s.charCodeAt(e))&&Dh(s.charCodeAt(e-1))&&e--;let i=_n(s,e);for(e+=Ml(i);e<s.length;){let n=_n(s,e);if(i==Al||n==Al||t&&nd(n))e+=Ml(n),i=n;else if(Cl(n)){let r=0,o=e-2;for(;o>=0&&Cl(_n(s,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function od(s,e,t){for(;e>0;){let i=Ph(s,e-2,t);if(i<e)return i;e--}return 0}function _n(s,e){let t=s.charCodeAt(e);if(!Dh(t)||e+1==s.length)return t;let i=s.charCodeAt(e+1);return Th(i)?(t-55296<<10)+(i-56320)+65536:t}function Th(s){return s>=56320&&s<57344}function Dh(s){return s>=55296&&s<56320}function Ml(s){return s<65536?1:2}class Y{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=xi(this,e,t);let n=[];return this.decompose(0,e,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(t,this.length,n,1),tt.from(n,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=xi(this,e,t);let i=[];return this.decompose(e,t,i,0),tt.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),n=new Wi(this),r=new Wi(e);for(let o=t,l=t;;){if(n.next(o),r.next(o),o=0,n.lineBreak!=r.lineBreak||n.done!=r.done||n.value!=r.value)return!1;if(l+=n.value.length,n.done||l>=i)return!0}}iter(e=1){return new Wi(this,e)}iterRange(e,t=this.length){return new Rh(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let n=this.line(e).from;i=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Bh(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Y.empty:e.length<=32?new ne(e):tt.from(ne.split(e,[]))}}class ne extends Y{c
Line truncated
|
||||
`){[e,t]=xi(this,e,t);let n="";for(let r=0,o=0;r<=t&&o<this.text.length;o++){let l=this.text[o],a=r+l.length;r>e&&o&&(n+=i),e<a&&t>r&&(n+=l.slice(Math.max(0,e-r),t-r)),r=a+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],n=-1;for(let r of e)i.push(r),n+=r.length+1,i.length==32&&(t.push(new ne(i,n)),i=[],n=-1);return n>-1&&t.push(new ne(i,n)),t}}class tt extends Y{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,n){for(let r=0;;r++){let o=this.children[r],l=n+o.length,a=i+o.lines-1;if((t?a:l)>=e)return o.lineInner(e,t,i,n);n=l+1,i=a+1}}decompose(e,t,i,n){for(let r=0,o=0;o<=t&&r<this.children.length;r++){let l=this.children[r],a=o+l.length;if(e<=a&&t>=o){let h=n&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!h?i.push(l):l.decompose(e-o,t-o,i,h)}o=a+1}}replace(e,t,i){if([e,t]=xi(this,e,t),i.lines<this.lines)for(let n=0,r=0;n<this.children.length;n++){let o=this.children[n],l=r+o.length;if(e>=r&&t<=l){let a=o.replace(e-r,t-r,i),h=this.lines-o.lines+a.lines;if(a.lines<h>>4&&a.lines>h>>6){let c=this.children.slice();return c[n]=a,new tt(c,this.length-(t-e)+i.length)}return super.replace(r,l,a)}r=l+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
|
||||
`){[e,t]=xi(this,e,t);let n="";for(let r=0,o=0;r<this.children.length&&o<=t;r++){let l=this.children[r],a=o+l.length;o>e&&r&&(n+=i),e<a&&t>o&&(n+=l.sliceString(e-o,t-o,i)),o=a+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof tt))return 0;let i=0,[n,r,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,r+=t){if(n==o||r==l)return i;let a=this.children[n],h=e.children[r];if(a!=h)return i+a.scanIdentical(h,t);i+=a.length+1}}static from(e,t=e.reduce((i,n)=>i+n.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let p of e)p.flatten(d);return new ne(d,t)}let n=Math.max(32,i>>5),r=n<<1,o=n>>1,l=[],a=0,h=-1,c=[];function f(d){let p;if(d.lines>r&&d instanceof tt)for(let m of d.children)f(m);else d.lines>o&&(a>o||!a)?(u(),l.push(d)):d instanceof ne&&a&&(p=c[c.length-1])instanceof ne&&d.lines+p.lines<=32?(a+=d.lines,h+=d.length+1,c[c.length-1]=new ne(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>n&&u(),a+=d.lines,h+=d.length+1,c.push(d))}function u(){a!=0&&(l.push(c.length==1?c[0]:tt.from(c,h)),h=-1,a=c.length=0)}for(let d of e)f(d);return u(),l.length==1?l[0]:new tt(l,t)}}Y.empty=new ne([""],0);function ld(s){let e=-1;for(let t of s)e+=t.length+1;return e}function js(s,e,t=0,i=1e9){for(let n=0,r=0,o=!0;r<s.length&&n<=i;r++){let l=s[r],a=n+l.length;a>=t&&(a>i&&(l=l.slice(0,i-n)),n<t&&(l=l.slice(t-n)),o?(e[e.length-1]+=l,o=!1):e.push(l)),n=a+1}return e}function Pl(s,e,t){return js(s,[""],e,t)}class Wi{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof ne?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,n=this.nodes[i],r=this.offsets[i],o=r>>1,l=n instanceof ne?n.text.length:n.children.length;if(o==(t>0?l:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
|
||||
`,this;e--}else if(n instanceof ne){let a=n.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=n.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof ne?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Rh{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new Wi(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=i?n:t<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class Bh{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:n}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Y.prototype[Symbol.iterator]=function(){return this.iter()},Wi.prototype[Symbol.iterator]=Rh.prototype[Symbol.iterator]=Bh.prototype[Symbol.iterator]=function(){return this});class ad{constructor(e,t,i,n){this.from=e,this.to=t,this.number=i,this.text=n}get length(){return this.to-this.from}}function xi(s,e,t){return e=Math.max(0,Math.min(s.length,e)),[e,Math.max(e,Math.min(s.length,t))]}function fe(s,e,t=!0,i=!0){return rd(s,e,t,i)}function hd(s){return s>=56320&&s<57344}function cd(s){return s>=55296&&s<56320}function Ce(s,e){let t=s.charCodeAt(e);if(!cd(t)||e+1==s.length)return t;let i=s.charCodeAt(e+1);return hd(i)?(t-55296<<10)+(i-56320)+65536:t}function Ro(s){return s<=65535?String.fromCharCode(s):(s-=65536,String.fromCharCode((s>>10)+55296,(s&1023)+56320))}function it(s){return s<65536?1:2}const Rr=/\r\n?|\n/;var Se=(function(s){return s[s.Simple=0]="Simple",s[s.TrackDel=1]="TrackDel",s[s.TrackBefore=2]="TrackBefore",s[s.TrackAfter=3]="TrackAfter",s})(Se||(Se={}));class lt{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,n=0;t<this.sections.length;){let r=this.sections[t++],o=this.sections[t++];o<0?(e(i,n,r),n+=r):n+=o,i+=r}}iterChangedRanges(e,t=!1){Br(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],n=this.sections[t++];n<0?e.push(i,n):e.push(n,i)}return new lt(e)}composeDesc(e){return this.empty?e:e.empty?this:Eh(this,e)}mapDesc(e,t=!1){return e.empty?this:Er(this,e,t)}mapPos(e,t=-1,i=Se.Simple){let n=0,r=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],a=this.sections[o++],h=n+l;if(a<0){if(h>e)return r+(e-n);r+=l}else{if(i!=Se.Simple&&h>=e&&(i==Se.TrackDel&&n<e&&h>e||i==Se.TrackBefore&&n<e||i==Se.TrackAfter&&h>e))return null;if(h>e||h==e&&t<0&&!l)return e==n||t<0?r:r+a;r+=a}n=h}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return r}touchesRange(e,t=e){for(let i=0,n=0;i<this.sections.length&&n<=t;){let r=this.sections[i++],o=this.sections[i++],l=n+r;if(o>=0&&n<=t&&l>=e)return n<e&&l>t?"cover":!0;n=l}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],n=this.sections[t++];e+=(e?" ":"")+i+(n>=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new lt(e)}static create(e){return new lt(e)}}class ae extends lt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Br(this,(t,i,n,r,o)=>e=e.replace(n,n+(i-t),o),!1),e}mapDesc(e,t=!1){return Er(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let n=0,r=0;n<t.length;n+=2){let o=t[n],l=t[n+1];if(l>=0){t[n]=l,t[n+1]=o;let a=n>>1;for(;i.length<a;)i.push(Y.empty);i.push(o?e.slice(r,r+o):Y.empty)}r+=o}return new ae(t,i)}compose(e){return this.empty?e:e.empty?this:Eh(this,e,!0)}map(e,t=!1){return e.empty?this:Er(this,e,t,!0)}iterChanges(e,t=!1){Br(this,e,t)}get desc(){return lt.cr
Line truncated
|
||||
`}get readOnly(){return this.facet(zh)}phrase(e,...t){for(let i of this.facet(U.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,n)=>{if(n=="$")return"$";let r=+(n||1);return!r||r>t.length?i:t[r-1]})),e}languageDataAt(e,t,i=-1){let n=[];for(let r of this.facet(Ih))for(let o of r(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&n.push(o[e]);return n}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return wd(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:n}=this.doc.lineAt(e),r=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let a=fe(t,o,!1);if(r(t.slice(a,o))!=ee.Word)break;o=a}for(;l<n;){let a=fe(t,l);if(r(t.slice(l,a))!=ee.Word)break;l=a}return o==l?null:v.range(o+i,l+i)}}U.allowMultipleSelections=Ir;U.tabSize=I.define({combine:s=>s.length?s[0]:4});U.lineSeparator=Wh;U.readOnly=zh;U.phrases=I.define({compare(s,e){let t=Object.keys(s),i=Object.keys(e);return t.length==i.length&&t.every(n=>s[n]==e[n])}});U.languageData=Ih;U.changeFilter=Fh;U.transactionFilter=Vh;U.transactionExtender=Hh;Dn.reconfigure=$.define();function ht(s,e,t={}){let i={};for(let n of s)for(let r of Object.keys(n)){let o=n[r],l=i[r];if(l===void 0)i[r]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(t,r))i[r]=t[r](l,o);else throw new Error("Config merge conflict for field "+r)}for(let n in e)i[n]===void 0&&(i[n]=e[n]);return i}class Mt{eq(e){return this==e}range(e,t=e){return Vr.create(e,t,this)}}Mt.prototype.startSide=Mt.prototype.endSide=0;Mt.prototype.point=!1;Mt.prototype.mapMode=Se.TrackDel;function Lo(s,e){return s==e||s.constructor==e.constructor&&s.eq(e)}let Vr=class jh{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new jh(e,t,i)}};function Hr(s,e){return s.from-e.from||s.value.startSide-e.value.startSide}class No{constructor(e,t,i,n){this.from=e,this.to=t,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,n=0){let r=i?this.to:this.from;for(let o=n,l=r.length;;){if(o==l)return o;let a=o+l>>1,h=r[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==o)return h>=0?o:l;h>=0?l=a:o=a+1}}between(e,t,i,n){for(let r=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,r);r<o;r++)if(n(this.from[r]+e,this.to[r]+e,this.value[r])===!1)return!1}map(e,t){let i=[],n=[],r=[],o=-1,l=-1;for(let a=0;a<this.value.length;a++){let h=this.value[a],c=this.from[a]+e,f=this.to[a]+e,u,d;if(c==f){let p=t.mapPos(c,h.startSide,h.mapMode);if(p==null||(u=d=p,h.startSide!=h.endSide&&(d=t.mapPos(c,h.endSide),d<u)))continue}else if(u=t.mapPos(c,h.startSide),d=t.mapPos(f,h.endSide),u>d||u==d&&h.startSide>0&&h.endSide<=0)continue;(d-u||h.endSide-h.startSide)<0||(o<0&&(o=u),h.point&&(l=Math.max(l,d-u)),i.push(h),n.push(u-o),r.push(d-o))}return{mapped:i.length?new No(n,r,i,l):null,pos:o}}}class X{constructor(e,t,i,n){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=n}static create(e,t,i,n){return new X(e,t,i,n)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:n=0,filterTo:r=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(Hr)),this.isEmpty)return t.length?X.of(t):this;let l=new qh(this,null,-1).goto(0),a=0,h=[],c=new mt;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let f=t[a++];c.addInner(f.from,f.to,f.value)||h.push(f)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(l.chunkIndex)<t[a].from)&&(!o||n>this.chunkEnd(l.chunkIndex)||r<this.chunkPos[l.chunkIndex])&&c.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||n>l.to||r<l.from||o(l.from,l.to,l.value))&&(c.addInner(l.from,l.to,l.value)||h.push(Vr.create(l.from,l.to,l.value))),l.next());return c.finishInner(this.nextLayer.isEmpty&&!h.length?X.empty:this.nextLayer.update({add:h,filter:o,filterFrom:n,filterTo:r}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],n=-1;for(let o=0;o<this.chunk.length;o++){let l=this.chunkPos[o],a=this.chunk[o],h=e.touchesRange(l,l+a.length);if(h===!1)n=Math.max(n,a.maxPoint),t.push(a),i.push(e.mapPos(l));else if(h===!0){let{mapped:c,pos:f}=a.map(l,e);c&&(n=Math.max(n,c.maxPoint),t.push(c),i.push(f))}}let r=this.nextLayer.map(e);return t.length==0?r:new X(i,t,r||X.empty,n)}between(e,t,i){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let r=this.chunkPos[n],o=this.chunk[n];if(t>=r&&e<=r+o.length&&o.between(r,e-r,t-r,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return Ui.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ui.from(e).goto(t)}static compare(e,t,i,n,r=-1){let o=e.filter(f=>f.maxPoint>0||!f.isEmpty&&f.maxPoint>=r),l=t
Line truncated
|
||||
`)}static newName(){let e=Ll[El]||1;return Ll[El]=e+1,$r+e.toString(36)}static mount(e,t,i){let n=e[jr],r=i&&i.nonce;n?r&&n.setNonce(r):n=new Sd(e,r),n.mount(Array.isArray(t)?t:[t],e)}}let Nl=new Map;class Sd{constructor(e,t){let i=e.ownerDocument||e,n=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let r=Nl.get(i);if(r)return e[jr]=r;this.sheet=new n.CSSStyleSheet,Nl.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[jr]=this}mount(e,t){let i=this.sheet,n=0,r=0;for(let o=0;o<e.length;o++){let l=e[o],a=this.modules.indexOf(l);if(a<r&&a>-1&&(this.modules.splice(a,1),r--,a=-1),a==-1){if(this.modules.splice(r++,0,l),i)for(let h=0;h<l.rules.length;h++)i.insertRule(l.rules[h],n++)}else{for(;r<a;)n+=this.modules[r++].rules.length;n+=l.rules.length,r++}}if(i)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let a=0;a<this.modules.length;a++)o+=this.modules[a].getRules()+`
|
||||
`;this.styleTag.textContent=o;let l=t.head||t;this.styleTag.parentNode!=l&&l.insertBefore(this.styleTag,l.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Tt={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Yi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Od=typeof navigator<"u"&&/Mac/.test(navigator.platform),Cd=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var me=0;me<10;me++)Tt[48+me]=Tt[96+me]=String(me);for(var me=1;me<=24;me++)Tt[me+111]="F"+me;for(var me=65;me<=90;me++)Tt[me]=String.fromCharCode(me+32),Yi[me]=String.fromCharCode(me);for(var Gn in Tt)Yi.hasOwnProperty(Gn)||(Yi[Gn]=Tt[Gn]);function Ad(s){var e=Od&&s.metaKey&&s.shiftKey&&!s.ctrlKey&&!s.altKey||Cd&&s.shiftKey&&s.key&&s.key.length==1||s.key=="Unidentified",t=!e&&s.key||(s.shiftKey?Yi:Tt)[s.keyCode]||s.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function _(){var s=arguments[0];typeof s=="string"&&(s=document.createElement(s));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var n=t[i];typeof n=="string"?s.setAttribute(i,n):n!=null&&(s[i]=n)}e++}for(;e<arguments.length;e++)Xh(s,arguments[e]);return s}function Xh(s,e){if(typeof e=="string")s.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)s.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)Xh(s,e[t]);else throw new RangeError("Unsupported child node: "+e)}let ve=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},qr=typeof document<"u"?document:{documentElement:{style:{}}};const Xr=/Edge\/(\d+)/.exec(ve.userAgent),Uh=/MSIE \d/.test(ve.userAgent),Ur=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ve.userAgent),Rn=!!(Uh||Ur||Xr),Il=!Rn&&/gecko\/(\d+)/i.test(ve.userAgent),Jn=!Rn&&/Chrome\/(\d+)/.exec(ve.userAgent),Wl="webkitFontSmoothing"in qr.documentElement.style,Yr=!Rn&&/Apple Computer/.test(ve.vendor),Fl=Yr&&(/Mobile\/\w+/.test(ve.userAgent)||ve.maxTouchPoints>2);var W={mac:Fl||/Mac/.test(ve.platform),windows:/Win/.test(ve.platform),linux:/Linux|X11/.test(ve.platform),ie:Rn,ie_version:Uh?qr.documentMode||6:Ur?+Ur[1]:Xr?+Xr[1]:0,gecko:Il,gecko_version:Il?+(/Firefox\/(\d+)/.exec(ve.userAgent)||[0,0])[1]:0,chrome:!!Jn,chrome_version:Jn?+Jn[1]:0,ios:Fl,android:/Android\b/.test(ve.userAgent),webkit:Wl,webkit_version:Wl?+(/\bAppleWebKit\/(\d+)/.exec(ve.userAgent)||[0,0])[1]:0,safari:Yr,safari_version:Yr?+(/\bVersion\/(\d+(\.\d+)?)/.exec(ve.userAgent)||[0,0])[1]:0,tabSize:qr.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Io(s,e){for(let t in s)t=="class"&&e.class?e.class+=" "+s.class:t=="style"&&e.style?e.style+=";"+s.style:e[t]=s[t];return e}const sn=Object.create(null);function Wo(s,e,t){if(s==e)return!0;s||(s=sn),e||(e=sn);let i=Object.keys(s),n=Object.keys(e);if(i.length-0!=n.length-0)return!1;for(let r of i)if(r!=t&&(n.indexOf(r)==-1||s[r]!==e[r]))return!1;return!0}function Md(s,e){for(let t=s.attributes.length-1;t>=0;t--){let i=s.attributes[t].name;e[i]==null&&s.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?s.style.cssText=i:s.getAttribute(t)!=i&&s.setAttribute(t,i)}}function Vl(s,e,t){let i=!1;if(e)for(let n in e)t&&n in t||(i=!0,n=="style"?s.style.cssText="":s.removeAttribute(n));if(t)for(let n in t)e&&e[n]==t[n]||(i=!0,n=="style"?s.style.cssText=t[n]:s.setAttribute(n,t[n]));return i}function Pd(s){let e=Object.create(null);for(let t=0;t<s.attributes.length;t++){let i=s.attributes[t];e[i.name]=i.value}return e}class ct{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var ge=(function(s){return s[s.Text=0]="Text",s[s.WidgetBefore=1]="WidgetBefore",s[s.WidgetAfter=2]="WidgetAfter",s[s.WidgetRange=3]="WidgetRange",s})(ge||(ge={}));class z extends Mt{constructor(e,t,i,n){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=n}get heightRelevant(){return!1}static mark(e){return nLine truncated
|
||||
`,n=s.state.doc.line(n.number+(t?1:-1)),r=s.bidiSpans(n),h=s.visualLineSide(n,!t)}if(a){if(!a(c))return l}else{if(!i)return h;a=i(c)}l=h}}function mp(s,e,t){let i=s.state.charCategorizer(e),n=i(t);return r=>{let o=i(r);return n==ee.Space&&(n=o),n==o}}function gp(s,e,t,i){let n=e.head,r=t?1:-1;if(n==(t?s.state.doc.length:0))return v.cursor(n,e.assoc);let o=e.goalColumn,l,a=s.contentDOM.getBoundingClientRect(),h=s.coordsAtPos(n,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),c=s.documentTop;if(h)o==null&&(o=h.left-a.left),l=r<0?h.top:h.bottom;else{let p=s.viewState.lineBlockAt(n);o==null&&(o=Math.min(a.right-a.left,s.defaultCharacterWidth*(n-p.from))),l=(r<0?p.top:p.bottom)+c}let f=a.left+o,u=s.viewState.heightOracle.textHeight>>1,d=i??u;for(let p=0;;p+=u){let m=l+(d+p)*r,g=io(s,{x:f,y:m},!1,r);if(t?m>a.bottom:m<a.top)return v.cursor(g.pos,g.assoc);let x=s.coordsAtPos(g.pos,g.assoc),k=x?(x.top+x.bottom)/2:0;if(!x||(t?k>l:k<l))return v.cursor(g.pos,g.assoc,void 0,o)}}function Qi(s,e,t){for(;;){let i=0;for(let n of s)n.between(e-1,e+1,(r,o,l)=>{if(e>r&&e<o){let a=i||t||(e-r<o-e?-1:1);e=a<0?r:o,i=a}});if(!i)return e}}function vc(s,e){let t=null;for(let i=0;i<e.ranges.length;i++){let n=e.ranges[i],r=null;if(n.empty){let o=Qi(s,n.from,0);o!=n.from&&(r=v.cursor(o,-1))}else{let o=Qi(s,n.from,-1),l=Qi(s,n.to,1);(o!=n.from||l!=n.to)&&(r=v.range(n.from==n.anchor?o:l,n.from==n.head?o:l))}r&&(t||(t=e.ranges.slice()),t[i]=r)}return t?v.create(t,e.mainIndex):e}function sr(s,e,t){let i=Qi(s.state.facet(fs).map(n=>n(s)),t.from,e.head>t.from?-1:1);return i==t.from?t:v.cursor(i,i<t.from?1:-1)}class st{constructor(e,t){this.pos=e,this.assoc=t}}function io(s,e,t,i){let n=s.contentDOM.getBoundingClientRect(),r=n.top+s.viewState.paddingTop,{x:o,y:l}=e,a=l-r,h;for(;;){if(a<0)return new st(0,1);if(a>s.viewState.docHeight)return new st(s.state.doc.length,-1);if(h=s.elementAtHeight(a),i==null)break;if(h.type==ge.Text){if(i<0?h.to<s.viewport.from:h.from>s.viewport.to)break;let u=s.docView.coordsAt(i<0?h.from:h.to,i>0?-1:1);if(u&&(i<0?u.top<=a+r:u.bottom>=a+r))break}let f=s.viewState.heightOracle.textHeight/2;a=i>0?h.bottom+f:h.top-f}if(s.viewport.from>=h.to||s.viewport.to<=h.from){if(t)return null;if(h.type==ge.Text){let f=dp(s,n,h,o,l);return new st(f,f==h.from?1:-1)}}if(h.type!=ge.Text)return a<(h.top+h.bottom)/2?new st(h.from,1):new st(h.to,-1);let c=s.docView.lineAt(h.from,2);return(!c||c.length!=h.length)&&(c=s.docView.lineAt(h.from,-2)),new xp(s,o,l,s.textDirectionAt(h.from)).scanTile(c,h.from)}class xp{constructor(e,t,i,n){this.view=e,this.x=t,this.y=i,this.baseDir=n,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:n}=this.bidiSpansAt(e);return n[nt.find(n,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:n}=this.bidiSpansAt(e);return n[nt.find(n,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:n}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+n.from<t)}scan(e,t,i=!1){let n=0,r=e.length-1,o=new Set,l=this.bidiIn(e[0],e[r]),a,h,c=-1,f=1e9,u;e:for(;n<r;){let p=r-n,m=n+r>>1;t:if(o.has(m)){let x=n+Math.floor(Math.random()*p);for(let k=0;k<p;k++){if(!o.has(x)){m=x;break t}x++,x==r&&(x=n)}break e}o.add(m);let g=t(m);if(g)for(let x=0;x<g.length;x++){let k=g[x],w=0;if(!(k.width==0&&g.length>1)){if(k.bottom<this.y)(!a||a.bottom<k.bottom)&&(a=k),w=1;else if(k.top>this.y)(!h||h.top>k.top)&&(h=k),w=-1;else{let T=k.left>this.x?this.x-k.left:k.right<this.x?this.x-k.right:0,S=Math.abs(T);S<f&&(c=m,f=S,u=k),T&&(w=T<0==(this.baseDir==J.LTR)?-1:1)}w==-1&&(!l||this.baseDirAt(e[m],1))?r=m:w==1&&(!l||this.baseDirAt(e[m+1],-1))&&(n=m+1)}}}if(!u){if(!h&&!a)return{i:e[0],after:!1};let p=a&&(!h||this.y-a.bottom<h.top-this.y)?a:h;return this.y=(p.top+p.bottom)/2,this.scan(e,t,!0)}if(f&&!i){let{top:p,bottom:m}=u;if(a&&a.bottom>(p+p+m)/3)return this.y=a.bottom-1,this.scan(e,t,!0);if(h&&h.top<(p+m+m)/3)return this.y=h.top+1,this.scan(e,t,!0)}let d=(l?this.dirAt(e[c],1):this.baseDir)==J.LTR;return{i:c,after:this.x>(u.left+u.right)/2==d}}scanText(e,t){let i=[];for(let r=0;r<e.length;r=fe(e.text,r))i.push(t+r);i.push(t+e.length);let n=this.scan(i,r=>{let o=i[r]-t,l=i[r+1]-t;return Ji(e.dom,o,l).getClientRects()});return n.after?new st(i[n.i+1],-1):new st(i[n.i],1)}scanTile(e,t){if(!e.length)return new st(t,1);if(e.children.length==1){let l=e.children[0];if(l.isText())return this.scanText(l,t);if(l.isComposite())return this.scanTile(l,t)}let i=[t];for(let l=0,a=t;l<e.children.length;l++)i.push(a+=e.children[l].length);let n=this.scan(i,l=>{let a=e.children[l];return a.flags&48?null:(a.dom.nodeType==1?a.dom:Ji(a.dom,0,a.length)).getClientRects()}),r=e.children[n.i],o=i[n.i];return r.isText()?this.scanText(r,o):r.isComposite()?this.scanTile(r,o):n.after?new st(i[n.i+1],-1):new st(o,1)}}const ii="";class bp{constructor(e,t){this.points=e,this.vi
Line truncated
|
||||
`&&s.lineWrapping&&(i&&(i=v.single(i.main.anchor-1,i.main.head-1)),t={from:r.from,to:r.to,insert:Y.of([" "])}),t)return jo(s,t,i,o);if(i&&!an(i,r)){let l=!1,a="select";return s.inputState.lastSelectionTime>Date.now()-50&&(s.inputState.lastSelectionOrigin=="select"&&(l=!0),a=s.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=vc(n.facet(fs).map(h=>h(s)),i))),s.dispatch({selection:i,scrollIntoView:l,userEvent:a}),!0}else return!1}function jo(s,e,t,i=-1){if(W.ios&&s.inputState.flushIOSKey(e))return!0;let n=s.state.selection.main;if(W.android&&(e.to==n.to&&(e.from==n.from||e.from==n.from-1&&s.state.sliceDoc(e.from,n.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&ui(s.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>n.head)&&ui(s.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&ui(s.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();s.inputState.composing>=0&&s.inputState.composing++;let o,l=()=>o||(o=vp(s,e,t));return s.state.facet(cc).some(a=>a(s,e.from,e.to,r,l))||s.dispatch(l()),!0}function vp(s,e,t){let i,n=s.state,r=n.selection.main,o=-1;if(e.from==e.to&&e.from<r.from||e.from>r.to){let a=e.from<r.from?-1:1,h=a<0?r.from:r.to,c=Qi(n.facet(fs).map(f=>f(s)),h,a);e.from==c&&(o=c)}if(o>-1)i={changes:e,selection:v.cursor(e.from+e.insert.length,-1)};else if(e.from>=r.from&&e.to<=r.to&&e.to-e.from>=(r.to-r.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&s.inputState.composing<0){let a=r.from<e.from?n.sliceDoc(r.from,e.from):"",h=r.to>e.to?n.sliceDoc(e.to,r.to):"";i=n.replaceSelection(s.state.toText(a+e.insert.sliceString(0,void 0,s.state.lineBreak)+h))}else{let a=n.changes(e),h=t&&t.main.to<=a.newLength?t.main:void 0;if(n.selection.ranges.length>1&&(s.inputState.composing>=0||s.inputState.compositionPendingChange)&&e.to<=r.to+10&&e.to>=r.to-10){let c=s.state.sliceDoc(e.from,e.to),f,u=t&&wc(s,t.main.head);if(u){let p=e.insert.length-(e.to-e.from);f={from:u.from,to:u.to-p}}else f=s.state.doc.lineAt(r.head);let d=r.to-e.to;i=n.changeByRange(p=>{if(p.from==r.from&&p.to==r.to)return{changes:a,range:h||p.map(a)};let m=p.to-d,g=m-c.length;if(s.state.sliceDoc(g,m)!=c||m>=f.from&&g<=f.to)return{range:p};let x=n.changes({from:g,to:m,insert:e.insert}),k=p.to-r.to;return{changes:x,range:h?v.range(Math.max(0,h.anchor+k),Math.max(0,h.head+k)):p.map(x)}})}else i={changes:a,selection:h&&n.selection.replaceRange(h)}}let l="input.type";return(s.composing||s.inputState.compositionPendingChange&&s.inputState.compositionEndedAt>Date.now()-50)&&(s.inputState.compositionPendingChange=!1,l+=".compose",s.inputState.compositionFirstChange&&(l+=".start",s.inputState.compositionFirstChange=!1)),n.update(i,{userEvent:l,scrollIntoView:!0})}function Cc(s,e,t,i){let n=Math.min(s.length,e.length),r=0;for(;r<n&&s.charCodeAt(r)==e.charCodeAt(r);)r++;if(r==n&&s.length==e.length)return null;let o=s.length,l=e.length;for(;o>0&&l>0&&s.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,r-Math.min(o,l));t-=o+a-r}if(o<r&&s.length<e.length){let a=t<=r&&t>=o?r-t:0;r-=a,l=r+(l-o),o=r}else if(l<r){let a=t<=r&&t>=l?r-t:0;r-=a,o=r+(o-l),l=r}return{from:r,toA:o,toB:l}}function Sp(s){let e=[];if(s.root.activeElement!=s.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:n,focusOffset:r}=s.observer.selectionRange;return t&&(e.push(new Ul(t,i)),(n!=t||r!=i)&&e.push(new Ul(n,r))),e}function Op(s,e){if(s.length==0)return null;let t=s[0].pos,i=s.length==2?s[1].pos:t;return t>-1&&i>-1?v.single(t+e,i+e):null}function an(s,e){return e.head==s.main.head&&e.anchor==s.main.anchor}class Cp{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,W.safari&&e.contentDOM.addEventListener("input",()=>null),W.gecko&&Hp(e.contentDOM.ownerDocument)}handleEvent(e){!Ep(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let n of i.observers)n(this.view,t);for(let n of i.handlers){if(t.defaultPrevented)break;if(n(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Ap(e),i=this.handlers,n=this.view.contentDOM;
Line truncated
|
||||
`))};if((W.mac||W.android)&&f.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(f={from:l,to:a,insert:Y.of([i.text.replace("."," ")])}),this.pendingContextChange=f,!e.state.readOnly){let u=this.to-this.from+(f.to-f.from+f.insert.length);jo(e,f,v.single(this.toEditorPos(i.selectionStart,u),this.toEditorPos(i.selectionEnd,u)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),f.from<f.to&&!f.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let n=[],r=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o<l;o++){let a=e.coordsForChar(o);r=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||r||new DOMRect,n.push(r)}t.updateCharacterBounds(i.rangeStart,n)},this.handlers.textformatupdate=i=>{let n=[];for(let r of i.getTextFormats()){let o=r.underlineStyle,l=r.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(l)){let a=this.toEditorPos(r.rangeStart),h=this.toEditorPos(r.rangeEnd);if(a<h){let c=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(l)?1:2}px`;n.push(z.mark({attributes:{style:c}}).range(a,h))}}}e.dispatch({effects:mc.of(z.set(n))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let n=Ki(i.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,n=this.pendingContextChange;return e.changes.iterChanges((r,o,l,a,h)=>{if(i)return;let c=h.length-(o-r);if(n&&o>=n.to)if(n.from==r&&n.to==o&&n.insert.eq(h)){n=this.pendingContextChange=null,t+=c,this.to+=c;return}else n=null,this.revertPending(e.state);if(r+=t,o+=t,o<=this.from)this.from+=c,this.to+=c;else if(r<this.to){if(r<this.from||o>this.to||this.to-this.from+h.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(o),h.toString()),this.to+=c}t+=c}),n&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(n=>!n.isUserEvent("input.type")&&n.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),n=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(i,n)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class L{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureReque
Line truncated
|
||||
--\u2028\u2029\uFEFF-]`,ao),Om={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let or=null;function Cm(){var s;if(or==null&&typeof document<"u"&&document.body){let e=document.body.style;or=((s=e.tabSize)!==null&&s!==void 0?s:e.MozTabSize)!=null}return or||!1}const Ys=I.define({combine(s){let e=ht(s,{render:null,specialChars:Sm,addSpecialChars:null});return(e.replaceTabs=!Cm())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,ao)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,ao)),e}});function Am(s={}){return[Ys.of(s),Mm()]}let ma=null;function Mm(){return ma||(ma=se.fromClass(class{constructor(s){this.view=s,this.decorations=z.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(s.state.facet(Ys)),this.decorations=this.decorator.createDeco(s)}makeDecorator(s){return new vm({regexp:s.specialChars,decoration:(e,t,i)=>{let{doc:n}=t.state,r=Ce(e[0],0);if(r==9){let o=n.lineAt(i),l=t.state.tabSize,a=Ci(o.text,l,i-o.from);return z.replace({widget:new Rm((l-a%l)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=z.replace({widget:new Dm(s,r)}))},boundary:s.replaceTabs?void 0:/[^]/})}update(s){let e=s.state.facet(Ys);s.startState.facet(Ys)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(s.view)):this.decorations=this.decorator.updateDeco(s,this.decorations)}},{decorations:s=>s.decorations}))}const Pm="•";function Tm(s){return s>=32?Pm:s==10?"":String.fromCharCode(9216+s)}class Dm extends ct{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Tm(this.code),i=e.state.phrase("Control character")+" "+(Om[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,i,t);if(n)return n;let r=document.createElement("span");return r.textContent=t,r.title=i,r.setAttribute("aria-label",i),r.className="cm-specialChar",r}ignoreEvent(){return!1}}class Rm extends ct{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function Bm(){return Lm}const Em=z.line({class:"cm-activeLine"}),Lm=se.fromClass(class{constructor(s){this.decorations=this.getDeco(s)}update(s){(s.docChanged||s.selectionSet)&&(this.decorations=this.getDeco(s.view))}getDeco(s){let e=-1,t=[];for(let i of s.state.selection.ranges){let n=s.lineBlockAt(i.head);n.from>e&&(t.push(Em.range(n.from)),e=n.from)}return z.set(t)}},{decorations:s=>s.decorations});class Nm extends ct{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?Hi(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),n=Gi(t[0],i.direction!="rtl"),r=parseInt(i.lineHeight);return n.bottom-n.top>r*1.5?{left:n.left,right:n.right,top:n.top,bottom:n.top+r}:n}ignoreEvent(){return!1}}function Im(s){let e=se.fromClass(class{constructor(t){this.view=t,this.placeholder=s?z.set([z.widget({widget:new Nm(s),side:1}).range(0)]):z.none}get decorations(){return this.view.state.doc.length?z.none:this.placeholder}},{decorations:t=>t.decorations});return typeof s=="string"?[e,L.contentAttributes.of({"aria-placeholder":s})]:e}const ho=2e3;function Wm(s,e,t){let i=Math.min(e.line,t.line),n=Math.max(e.line,t.line),r=[];if(e.off>ho||t.off>ho||e.col<0||t.col<0){let o=Math.min(e.off,t.off),l=Math.max(e.off,t.off);for(let a=i;a<=n;a++){let h=s.doc.line(a);h.length<=l&&r.push(v.range(h.from+o,h.to+l))}}else{let o=Math.min(e.col,t.col),l=Math.max(e.col,t.col);for(let a=i;a<=n;a++){let h=s.doc.line(a),c=Qr(h.text,o,s.tabSize,!0);if(c<0)r.push(v.cursor(h.to));else{let f=Qr(h.text,l,s.tabSize);r.push(v.range(h.from+c,h.from+f))}}}return r}function Fm(s,e){let t=s.coordsAtPos(s.viewport.from);return t?Math.round(Math.abs((t.left-e)/s.defaultCharacterWidth)):-1}function ga(s,e){let t=s.posAtCoords({x:e.clientX,y:e.clientY},!1),i=s.state.doc.lineAt(t),n=t-i.from,r=n>ho?-1:n==i.length?Fm(s,e.clientX):Ci(i.text,s.state.tabSize,t-i.from);return{line:i.number,col:r,off:n}}function Vm(s,e){let t=ga(s,e),i=s.s
Line truncated
|
||||
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Jx(this):new _x(this)}getCursor(e,t=0,i){let n=e.doc?e:U.create({doc:e});return i==null&&(i=n.doc.length),this.regexp?ni(this,n,t,i):si(this,n,t,i)}}class lu{constructor(e){this.spec=e}}function Ux(s,e,t){return(i,n,r,o)=>{if(t&&!t(i,n,r,o))return!1;let l=i>=o&&n<=o+r.length?r.slice(i-o,n-o):e.doc.sliceString(i,n);return s(l,e,i,n)}}function si(s,e,t,i){let n;return s.wholeWord&&(n=Yx(e.doc,e.charCategorizer(e.selection.main.head))),s.test&&(n=Ux(s.test,e,n)),new Si(e.doc,s.unquoted,t,i,s.caseSensitive?void 0:r=>r.toLowerCase(),n)}function Yx(s,e){return(t,i,n,r)=>((r>t||r+n.length<i)&&(r=Math.max(0,t-2),n=s.sliceString(r,Math.min(s.length,i+2))),(e(kn(n,t-r))!=ee.Word||e(wn(n,t-r))!=ee.Word)&&(e(wn(n,i-r))!=ee.Word||e(kn(n,i-r))!=ee.Word))}class _x extends lu{constructor(e){super(e)}nextMatch(e,t,i){let n=si(this.spec,e,i,e.doc.length).nextOverlapping();if(n.done){let r=Math.min(e.doc.length,t+this.spec.unquoted.length);n=si(this.spec,e,0,r).nextOverlapping()}return n.done||n.value.from==t&&n.value.to==i?null:n.value}prevMatchInRange(e,t,i){for(let n=i;;){let r=Math.max(t,n-1e4-this.spec.unquoted.length),o=si(this.spec,e,r,n),l=null;for(;!o.nextOverlapping().done;)l=o.value;if(l)return l;if(r==t)return null;n-=1e4}}prevMatch(e,t,i){let n=this.prevMatchInRange(e,0,t);return n||(n=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),n&&(n.from!=t||n.to!=i)?n:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=si(this.spec,e,0,e.doc.length),n=[];for(;!i.next().done;){if(n.length>=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let r=si(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)n(r.value.from,r.value.to)}}function Kx(s,e,t){return(i,n,r)=>(!t||t(i,n,r))&&s(r[0],e,i,n)}function ni(s,e,t,i){let n;return s.wholeWord&&(n=Gx(e.charCategorizer(e.selection.main.head))),s.test&&(n=Kx(s.test,e,n)),new nu(e.doc,s.search,{ignoreCase:!s.caseSensitive,test:n},t,i)}function kn(s,e){return s.slice(fe(s,e,!1),e)}function wn(s,e){return s.slice(e,fe(s,e))}function Gx(s){return(e,t,i)=>!i[0].length||(s(kn(i.input,i.index))!=ee.Word||s(wn(i.input,i.index))!=ee.Word)&&(s(wn(i.input,i.index+i[0].length))!=ee.Word||s(kn(i.input,i.index+i[0].length))!=ee.Word)}class Jx extends lu{nextMatch(e,t,i){let n=ni(this.spec,e,i,e.doc.length).next();return n.done&&(n=ni(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,i){for(let n=1;;n++){let r=Math.max(t,i-n*1e4),o=ni(this.spec,e,r,i),l=null;for(;!o.next().done;)l=o.value;if(l&&(r==t||l.from>r+10))return l;if(r==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let n=i.length;n>0;n--){let r=+i.slice(0,n);if(r>0&&r<e.match.length)return e.match[r]+i.slice(n)}return t})}matchAll(e,t){let i=ni(this.spec,e,0,e.doc.length),n=[];for(;!i.next().done;){if(n.length>=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let r=ni(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!r.next().done;)n(r.value.from,r.value.to)}}const ss=$.define(),ol=$.define(),At=ye.define({create(s){return new kr(So(s).create(),null)},update(s,e){for(let t of e.effects)t.is(ss)?s=new kr(t.value.create(),s.panel):t.is(ol)&&(s=new kr(s.query,t.value?ll:null));return s},provide:s=>Zi.from(s,e=>e.panel)});class kr{constructor(e,t){this.query=e,this.panel=t}}const Zx=z.mark({class:"cm-searchMatch"}),eb=z.mark({class:"cm-searchMatch cm-searchMatch-selected"}),tb=se.fromClass(class{constructor(s){this.view=s,this.decorations=this.highlight(s.state.field(At))}update(s){let e=s.state.field(At);(e!=s.startState.field(At)||s.docChanged||s.selectionSet||s.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:s,panel:e}){if(!e||!s.spec.valid)return z.none;let{view:t}=this,i=new mt;for(let n=0,r=t.visibleRanges,o=r.length;n<o;n++){let{from:l,to:a}=r[n];for(;n<o-1&&a>r[n+1].from-500;)a=r[++n].to;s.highlight(t.state,l,a,(h,c)=>{let f=t.state.selection.ranges.some(u=>u.from==h&&u.to==c);i.add(h,c,f?eb:Zx)})}return i.finish()}},{decorations:s=>s.decorations});function ms(s){return e=>{let t=e.state.field(At,!1);return t&&t.query.spec.valid?s(e,t):cu(e)}}const vn=ms((s,{query:e})=>{let{to:t}=s.state.selection.main,i=e.nextMatch(s.state,t,t);if(!i)return!1;let n=v.single(i.from,i.to),r=s.state.facet(Mi);return s.dispatch({selection:n,effects:[al(s,i),r.scrollToMatch(n.main,s)],userEvent:"select.search"}),hu(s),!0}),Sn=ms((s,{query:e})=>{let{state:t}=s,{from:i}=t.selection.main,n=e.prevMatch(t,i,i);if(!n)return
Line truncated
|
||||
\x1B[33m⚠ bash 不可用,请切换 /bin/sh 后重连。\x1B[0m`),d.current=!0;return}P.write(C.includes("\x1B")?C:`\r
|
||||
\x1B[31m${C}\x1B[0m\r
|
||||
`)}}catch{typeof F.data=="string"&&P.write(F.data)}},M.onclose=F=>{m(R=>R==="error"?R:"closed"),d.current||P.write(`\r
|
||||
\x1B[33m[连接已关闭]\x1B[0m\r
|
||||
`)},M.onerror=F=>{console.error("[PodExec:connect] WS error event fired, readyState=",M.readyState,"type=",F.type),m("error"),P.write(`\r
|
||||
\x1B[31m[连接发生错误]\x1B[0m\r
|
||||
`)}},[t,i,n,k,T]);H.useEffect(()=>{if(!s)return;if(!t){console.error("[PodExec:initEffect] ABORT: clusterId is falsy:",t);return}if(!n){console.error("[PodExec:initEffect] ABORT: podName is falsy:",n);return}let P=!1,D=0;const M=performance.now(),F=()=>{if(P)return;const R=a.current;if(!R){D++,D<20?requestAnimationFrame(F):console.error("[PodExec:tryInit] FAILED: containerRef still null after 20 retries (",Math.round(performance.now()-M),"ms)");return}const C=new Qu.Terminal({cursorBlink:!0,fontSize:14,fontFamily:'Menlo, Monaco, "Courier New", monospace',allowProposedApi:!0,scrollback:5e3,theme:{background:"#0f172a",foreground:"#e2e8f0",cursor:"#38bdf8",selectionBackground:"#1e40af",black:"#1e293b",red:"#ef4444",green:"#10b981",yellow:"#f59e0b",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e2e8f0",brightBlack:"#475569",brightRed:"#f87171",brightGreen:"#34d399",brightYellow:"#fbbf24",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#f8fafc"}}),B=new $u.FitAddon;C.loadAddon(B),h.current=C,f.current=B,C.onData(j=>{c.current&&c.current.readyState===WebSocket.OPEN?c.current.send(JSON.stringify({status:0,data:j})):console.warn("[PodExec:term] TX dropped — WS not open, readyState=",c.current?.readyState)}),C.open(R),requestAnimationFrame(()=>{try{B.fit()}catch{}}),u.current=!0,A()};return requestAnimationFrame(F),()=>{P=!0}},[s,t,n]),H.useEffect(()=>{if(!s){try{c.current?.close()}catch{}try{h.current?.dispose()}catch{}h.current=null,c.current=null,f.current=null,u.current=!1,m("idle")}},[s]),H.useEffect(()=>{s&&h.current&&u.current&&A()},[k,T]),H.useEffect(()=>{if(!s)return;const P=a.current;if(!P)return;let D;const M=new ResizeObserver(()=>{clearTimeout(D),D=setTimeout(()=>{if(f.current&&h.current)try{f.current.fit(),h.current.focus();const{cols:F,rows:R}=h.current;c.current?.readyState===WebSocket.OPEN&&c.current.send(JSON.stringify({status:1,cols:F,rows:R}))}catch{}},60)});return M.observe(P),()=>{clearTimeout(D),M.disconnect()}},[s,g]);const O=p==="connected"?"bg-emerald-400":p==="error"?"bg-red-400":p==="closed"?"bg-slate-500":"bg-amber-400",V=p==="connected"?"已连接":p==="connecting"?"连接中":p==="error"?"连接错误":p==="closed"?"已断开":"空闲",N=H.useCallback(()=>{try{h.current?.focus()}catch{}},[]);return y.jsx(Iu,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:279:5",open:s,onOpenChange:e,children:y.jsxs(Wu,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:280:7",showCloseButton:!1,className:xl("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",g?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:g?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"960px",width:"92vw"},children:[y.jsxs(Fu,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:289:9",className:"sr-only",children:["exec — ",n]}),y.jsx(Vu,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:290:9",className:"sr-only",children:"进入 Pod 容器执行命令"}),y.jsxs("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:293:9",className:"flex items-center justify-between gap-2 px-4 py-2 border-b border-[var(--dg-border)] flex-wrap",children:[y.jsxs("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:294:11",className:"flex items-center gap-2 text-sm min-w-0",children:[y.jsx("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:295:13",className:xl("w-2 h-2 rounded-full shrink-0",O),title:V}),y.jsx(Hu,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:296:13",className:"h-4 w-4 text-blue-400 shrink-0"}),y.jsxs("span",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:297:13",className:"text-[var(--dg-text-primary)] font-medium truncate",children:["exec — ",n]}),p==="connecting"&&y.jsx(St,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:298:44",className:"h-3 w-3 animate-spin text-[var(--dg-text-muted)]"}),y.jsx("span",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:299:13",className:"text-xs text-[var(--dg-text-muted)]",children:V})]}),y.jsxs("div",{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:301:11",className:"flex items-center gap-2",children:[r.length>0&&y.jsxs(kl,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:303:15",value:k,onValueChange:w,children:[y.jsxs(wl,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:304:17",className:"h-8 w-[150px] text-xs bg-[var(--dg-bg-hover)] border-[var(--dg-border)]",children:[y.jsx(ju,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:305:19",className:"h-3 w-3 mr-1 text-[var(--dg-text-muted)]"}),y.jsx(vl,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:306:19",placeholder:"容器"})]}),y.jsx(Sl,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:308:17",children:r.map(P=>y.jsx(Ol,{"code-path":"src/components/kubernetes/PodExecTerminal.tsx:308:55",value:P,children:P}
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{k as H,m as U,r as c,j as e,n as N,o as f,A as V,B as W,p as F}from"./index-HuRw9UhJ.js";import{C as i,a as x}from"./card-B2Wqa0sK.js";import{B as L}from"./badge-CeS-g-Od.js";import{S as v,a as C,b as y,c as S,d as P}from"./select-KDzbUQs3.js";import{T as z,a as D,b as u,c as d,d as G,e as n}from"./table-Du1vU-OM.js";import{k as b}from"./index-GZwpRmKU.js";import{R as K}from"./refresh-cw-CSycAyA2.js";import{H as q}from"./hard-drive-laLCm9TI.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";function ce(){const{clusterCode:w}=H(),g=U(),[m,M]=c.useState(!1),[p,k]=c.useState([]),[A,T]=c.useState([]),[$,E]=c.useState([]),[l,B]=c.useState("all"),[a,j]=c.useState(w||"");c.useEffect(()=>{b.getClusters().then(s=>{const t=s?.list||[];if(T(t),!a&&t.length>0){const r=t[0].code||String(t[0].id);j(r),g(`/kubernetes/${r}/metrics/pods`,{replace:!0})}}).catch(()=>{})},[]),c.useEffect(()=>{a&&b.getNamespaces(a).then(s=>{E(Array.isArray(s)?s:s?.list||s?.data||[])}).catch(()=>{})},[a]);const h=c.useCallback(async()=>{if(a){M(!0);try{const s=l==="all"?void 0:l,t=await b.getPodMetrics(a,s);k(Array.isArray(t)?t:t?.list||[])}catch{k([])}finally{M(!1)}}},[a,l]);c.useEffect(()=>{h()},[h]);const o=c.useMemo(()=>p.flatMap(s=>(s.containers||[]).map(t=>({pod:s.name,namespace:s.namespace,container:t.name,cpu:t.cpu||"0m",memory:t.memory||"0Mi"}))),[p]),I=c.useMemo(()=>o.reduce((s,t)=>s+(parseInt(t.cpu)||0),0),[o]),R=c.useMemo(()=>{let s=0;return o.forEach(t=>{const r=t.memory;r.endsWith("Mi")?s+=parseInt(r):r.endsWith("Ki")?s+=parseInt(r)/1024:r.endsWith("Gi")&&(s+=parseInt(r)*1024)}),s},[o]);return e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:81:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:82:7",className:"flex items-center gap-2 text-sm text-slate-500",children:[e.jsx(N,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:83:9",to:"/kubernetes",className:"hover:text-slate-300",children:"集群"}),a&&e.jsxs(e.Fragment,{children:[e.jsx(f,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:84:29",className:"h-3 w-3"}),e.jsx(N,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:84:65",to:`/kubernetes/${a}`,className:"hover:text-slate-300",children:a})]}),e.jsx(f,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:85:9",className:"h-3 w-3"}),e.jsx("span",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:85:45",className:"text-slate-300",children:"Pod 资源用量"})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:88:7",className:"flex items-center justify-between flex-wrap gap-3",children:[e.jsxs("h2",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:89:9",className:"text-lg font-semibold text-slate-100 flex items-center gap-2",children:[e.jsx(V,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:89:86",className:"h-5 w-5 text-blue-400"}),"Pod 资源用量"]}),e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:90:9",className:"flex items-center gap-2",children:[e.jsxs(v,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:91:11",value:a,onValueChange:s=>{j(s),g(`/kubernetes/${s}/metrics/pods`)},children:[e.jsx(C,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:92:13",className:"w-44 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(y,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:92:87"})}),e.jsx(S,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:93:13",className:"bg-slate-800 border-slate-700",children:A.map(s=>e.jsx(P,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:94:42",value:s.code||String(s.id),className:"text-xs",children:s.name||s.code},s.id))})]}),e.jsxs(v,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:97:11",value:l,onValueChange:B,children:[e.jsx(C,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:98:13",className:"w-36 h-8 text-xs bg-slate-800 border-slate-700",children:e.jsx(y,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:98:87",placeholder:"所有命名空间"})}),e.jsxs(S,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:99:13",className:"bg-slate-800 border-slate-700",children:[e.jsx(P,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:100:15",value:"all",className:"text-xs",children:"所有命名空间"}),$.map(s=>e.jsx(P,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:101:36",value:s,className:"text-xs",children:s},s))]})]}),e.jsxs(W,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:104:11",variant:"outline",size:"sm",className:"h-8 border-slate-700 text-slate-300 text-xs",onClick:h,disabled:m,children:[e.jsx(K,{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:105:13",className:`h-3 w-3 mr-1 ${m?"animate-spin":""}`}),"刷新"]})]})]}),e.jsxs("div",{"code-path":"src/components/kubernetes/PodMetricsPage.tsx:111:7",className:"grid grid-cols-3 gap-3",children:[e.jsx(i,{"code-path":"srcLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{f as ee,r as t,j as e,B as u,L as O,M as se,D as oe,a as ae,b as te,c as ce,d as ne,e as re,t as N}from"./index-HuRw9UhJ.js";import{I as j}from"./input-C9Xfv8um.js";import{L as i}from"./label-DvRDtaMA.js";import{B as A}from"./badge-CeS-g-Od.js";import{C as V}from"./checkbox-B7nWBaO4.js";import{T as le,a as de,b as H,c as r,d as ie,e as l}from"./table-Du1vU-OM.js";import{S as y,a as C,b as w,c as S,d as R}from"./select-KDzbUQs3.js";import{r as M}from"./server-BQNr9a-x.js";import{S as pe}from"./search-CcKEpJIn.js";import{P as ge}from"./plus-BVwIGPvl.js";import{T as $}from"./trash-2-Cf9-88KL.js";import{C as xe}from"./circle-check-C5nUiTvE.js";import{C as he}from"./circle-x-BVvXVx7p.js";import{P as me}from"./pencil-BZ7zX3m0.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const k={aws:"AWS",aliyun:"阿里云",tencent:"腾讯云",huawei:"华为云",azure:"Azure"},ue={aws:"text-orange-400",aliyun:"text-orange-400",tencent:"text-blue-400",huawei:"text-red-400",azure:"text-blue-400"};function Ie(){const D=ee(),[T,L]=t.useState([]),[F,P]=t.useState(!0),[f,Q]=t.useState(""),[b,W]=t.useState("all"),[c,d]=t.useState([]),[X,p]=t.useState(!1),[g,I]=t.useState(null),[B,z]=t.useState(!1),[o,n]=t.useState({name:"",code:"",provider:"aliyun",location:"",status:"active",endpoint:""}),x=t.useCallback(async()=>{P(!0);try{const a=(await M.list())?.list||[];L(a)}catch{L([])}finally{P(!1)}},[]);t.useEffect(()=>{x()},[x]);const h=T.filter(s=>{const a=s.name?.toLowerCase().includes(f.toLowerCase())||s.code?.toLowerCase().includes(f.toLowerCase()),v=b==="all"||s.provider===b;return a&&v}),E=h.length>0&&h.every(s=>c.includes(s.id)),q=()=>{d(E?[]:h.map(s=>s.id))},G=s=>{d(a=>a.includes(s)?a.filter(v=>v!==s):[...a,s])},J=()=>{I(null),n({name:"",code:"",provider:"aliyun",location:"",status:"active",endpoint:""}),p(!0)},K=s=>{I(s),n({name:s.name||"",code:s.code||"",provider:s.provider||"aliyun",location:s.location||"",status:s.status||"active",endpoint:s.endpoint||""}),p(!0)},U=async()=>{if(!(!o.name.trim()||!o.code.trim())){z(!0);try{g?await M.update(g.id,o):await M.create(o),p(!1),x()}catch{}finally{z(!1)}}},Y=async s=>{const a=T.find(m=>m.id===s);if(await D({title:"删除区域",description:`确定删除「${a?.name||s}」吗?此操作不可撤销。`,confirmText:"删除",variant:"destructive"}))try{await M.delete(s),N.success("区域已删除"),d(m=>m.filter(_=>_!==s)),x()}catch(m){console.error("删除区域失败:",m),N.error("删除失败")}},Z=async()=>{if(!(c.length===0||!await D({title:"批量删除区域",description:`确定删除选中的 ${c.length} 个区域吗?此操作不可撤销。`,confirmText:"批量删除",variant:"destructive"})))try{await M.batchDelete(c),N.success(`已删除 ${c.length} 个区域`),d([]),x()}catch(a){console.error("批量删除失败:",a),N.error("批量删除失败")}};return e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:185:5",className:"p-6 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:187:7",className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:188:9",className:"flex items-center gap-3 flex-1",children:[e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:189:11",className:"relative w-72",children:[e.jsx(pe,{"code-path":"src/components/cloud/RegionManager.tsx:190:13",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-500"}),e.jsx(j,{"code-path":"src/components/cloud/RegionManager.tsx:191:13",placeholder:"搜索区域名称或编码...",value:f,onChange:s=>Q(s.target.value),className:"pl-9 h-9 bg-slate-800/50 border-slate-700"})]}),e.jsxs(y,{"code-path":"src/components/cloud/RegionManager.tsx:198:11",value:b,onValueChange:W,children:[e.jsx(C,{"code-path":"src/components/cloud/RegionManager.tsx:199:13",className:"w-32 h-9 bg-slate-800/50 border-slate-700",children:e.jsx(w,{"code-path":"src/components/cloud/RegionManager.tsx:200:15"})}),e.jsxs(S,{"code-path":"src/components/cloud/RegionManager.tsx:202:13",children:[e.jsx(R,{"code-path":"src/components/cloud/RegionManager.tsx:203:15",value:"all",children:"全部云商"}),Object.entries(k).map(([s,a])=>e.jsx(R,{"code-path":"src/components/cloud/RegionManager.tsx:205:17",value:s,children:a},s))]})]})]}),e.jsxs(u,{"code-path":"src/components/cloud/RegionManager.tsx:210:9",onClick:J,className:"gap-2",children:[e.jsx(ge,{"code-path":"src/components/cloud/RegionManager.tsx:211:11",className:"h-4 w-4"}),"添加区域"]})]}),c.length>0&&e.jsxs("div",{"code-path":"src/components/cloud/RegionManager.tsx:218:9",className:"flex items-center justify-between gap-4 px-4 py-2.5 rounded-lg bg-slate-800/50 border border-slate-700",children:[e.jsxs("span",{"code-path":"src/components/cloud/RegionManager.tsx:219:11",className:"text-sm text-slate-300",children:["已选择 ",e.jsx("span",{"code-path":"src/components/cloud/RegionManager.tsx:220:17",className:"font-semibold text-slLine truncated
|
||||
@@ -0,0 +1,17 @@
|
||||
import{j as t,Q as Z,L as $,C as Lt,D as P,a as B,b as O,c as A,d as I,e as V,B as p,F as tt,a5 as et,P as _t,R as ot,H as zt,f as $t,r as i,t as l}from"./index-HuRw9UhJ.js";import{I as D}from"./input-C9Xfv8um.js";import{S as st,a as at,b as ct,c as nt,d as z}from"./select-KDzbUQs3.js";import{T as Pt,a as Bt,b as J,c as K}from"./tabs-XYsjnHzX.js";import{C as rt}from"./checkbox-B7nWBaO4.js";import{s as j,t as Ot}from"./automation-B8G9u7Xj.js";import{B as N}from"./badge-CeS-g-Od.js";import{C as At}from"./circle-x-BVvXVx7p.js";import{L as b}from"./label-DvRDtaMA.js";import{T as It}from"./textarea-Bzol9o6k.js";import{S as it}from"./square-pen-DoCLytAo.js";import{C as pt,b as Vt,c as Rt,d as Ht,a as lt}from"./card-B2Wqa0sK.js";import{P as Qt}from"./play-BXdOitsb.js";import{C as qt}from"./copy-Ci4WwJkK.js";import{T as mt}from"./trash-2-Cf9-88KL.js";import{S as Ut}from"./search-CcKEpJIn.js";import{P as Xt}from"./plus-BVwIGPvl.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";function Gt(o){return{id:o.id,name:o.name,code:o.code||"",description:o.description||"",type:o.type||"shell",content:o.content||"",timeout:o.timeout||300,version:o.version||1,run_count:o.run_count||0,created_at:o.created_at,updated_at:o.updated_at}}const w=[{value:"shell",label:"Shell",sample:`#!/bin/bash
|
||||
# 系统巡检脚本
|
||||
echo "===== 系统信息 ====="
|
||||
uname -a
|
||||
echo ""
|
||||
echo "===== 磁盘使用 ====="
|
||||
df -h
|
||||
echo ""
|
||||
echo "===== 内存使用 ====="
|
||||
free -h
|
||||
`},{value:"python",label:"Python",sample:`#!/usr/bin/env python3
|
||||
# 主机信息采集
|
||||
import platform, socket
|
||||
print("主机名:", socket.gethostname())
|
||||
print("系统:", platform.platform())
|
||||
print("Python:", platform.python_version())
|
||||
`}],W={shell:"border-green-500/30 text-green-500 bg-green-500/10",bash:"border-green-500/30 text-green-500 bg-green-500/10",python:"border-blue-500/30 text-blue-500 bg-blue-500/10",powershell:"border-cyan-500/30 text-cyan-500 bg-cyan-500/10",yaml:"border-purple-500/30 text-purple-500 bg-purple-500/10"},dt=o=>t.jsx(N,{"code-path":"src/components/automation/script-helpers.tsx:66:3",variant:"outline",className:W[o]||W.shell,children:(o||"shell").toUpperCase()}),Y=()=>`sc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`;function xt(o){switch(o){case"pending":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:78:14",variant:"outline",className:"gap-1",children:[t.jsx(Lt,{"code-path":"src/components/automation/script-helpers.tsx:78:57",className:"w-3 h-3"}),"等待中"]});case"running":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:80:14",variant:"default",className:"bg-blue-500 gap-1",children:[t.jsx($,{"code-path":"src/components/automation/script-helpers.tsx:80:69",className:"w-3 h-3 animate-spin"}),"执行中"]});case"success":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:82:14",variant:"default",className:"bg-green-600 gap-1",children:[t.jsx(Z,{"code-path":"src/components/automation/script-helpers.tsx:82:70",className:"w-3 h-3"}),"成功"]});case"failed":return t.jsxs(N,{"code-path":"src/components/automation/script-helpers.tsx:84:14",variant:"destructive",className:"gap-1",children:[t.jsx(At,{"code-path":"src/components/automation/script-helpers.tsx:84:61",className:"w-3 h-3"}),"失败"]});default:return t.jsx(N,{"code-path":"src/components/automation/script-helpers.tsx:86:14",variant:"secondary",children:o||"未知"})}}const Jt=o=>{if(!o)return"-";const a=new Date(o);return Number.isNaN(a.getTime())?"-":a.toLocaleString("zh-CN",{hour12:!1})},Kt=({open:o,onOpenChange:a,editingId:s,editingCode:n,formData:m,setFormData:x,onTypeChange:f,onSave:C})=>t.jsx(P,{"code-path":"src/components/automation/ScriptFormDialog.tsx:38:5",open:o,onOpenChange:a,children:t.jsxs(B,{"code-path":"src/components/automation/ScriptFormDialog.tsx:39:7",className:"max-w-4xl max-h-[90vh]",children:[t.jsxs(O,{"code-path":"src/components/automation/ScriptFormDialog.tsx:40:9",children:[t.jsx(A,{"code-path":"src/components/automation/ScriptFormDialog.tsx:41:11",children:s!==null?"编辑脚本":"新建脚本"}),t.jsx(I,{"code-path":"src/components/automation/ScriptFormDialog.tsx:42:11",children:"编写运维脚本,支持 Shell / Python / PowerShell"})]}),t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:44:9",className:"space-y-4 overflow-y-auto max-h-[60vh] pr-1",children:[t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:45:11",className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:46:13",children:[t.jsx(b,{"code-path":"src/components/automation/ScriptFormDialog.tsx:47:15",children:"名称"}),t.jsx(D,{"code-path":"src/components/automation/ScriptFormDialog.tsx:48:15",value:m.name,onChange:r=>x({...m,name:r.target.value}),placeholder:"如:系统巡检脚本"})]}),t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:54:13",children:[t.jsx(b,{"code-path":"src/components/automation/ScriptFormDialog.tsx:55:15",children:"类型"}),t.jsxs(st,{"code-path":"src/components/automation/ScriptFormDialog.tsx:56:15",value:m.type,onValueChange:f,children:[t.jsx(at,{"code-path":"src/components/automation/ScriptFormDialog.tsx:57:17",children:t.jsx(ct,{"code-path":"src/components/automation/ScriptFormDialog.tsx:57:32"})}),t.jsx(nt,{"code-path":"src/components/automation/ScriptFormDialog.tsx:58:17",children:w.map(r=>t.jsx(z,{"code-path":"src/components/automation/ScriptFormDialog.tsx:60:21",value:r.value,children:r.label},r.value))})]})]})]}),t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:66:11",children:[t.jsx(b,{"code-path":"src/components/automation/ScriptFormDialog.tsx:67:13",children:"描述"}),t.jsx(D,{"code-path":"src/components/automation/ScriptFormDialog.tsx:68:13",value:m.description,onChange:r=>x({...m,description:r.target.value}),placeholder:"脚本用途说明"})]}),t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:74:11",className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:75:13",children:[t.jsx(b,{"code-path":"src/components/automation/ScriptFormDialog.tsx:76:15",children:"超时(秒)"}),t.jsx(D,{"code-path":"src/components/automation/ScriptFormDialog.tsx:77:15",type:"number",value:m.timeout,onChange:r=>x({...m,timeout:Number(r.target.value)}),placeholder:"300"})]}),s!==null&&t.jsxs("div",{"code-path":"src/components/automation/ScriptFormDialog.tsx:85:15",children:[t.jsx(b,{"code-path":"src/components/automation/ScriptFormDialog.tsx:86:17",children:"编码"}),t.jsx(D,{"code-path":"src/compone
Line truncated
|
||||
@@ -0,0 +1,11 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-Bx7y-9BW.js","./index-HuRw9UhJ.js","./index-o387JJcy.css","./dashboard-H9WVvG1k.js","./server-BQNr9a-x.js","./index-GZwpRmKU.js","./pipeline-CRmSOJEC.js","./config-J-uY34Cv.js","./credential-snjgV65G.js","./automation-B8G9u7Xj.js","./alert-Bnyn6ibM.js","./alert-center-BbLaFZ2d.js","./site-DAeTLSaK.js","./trace-L8uY5gM3.js","./grafana-DTc3taUi.js","./datasource-CLdSbgtw.js","./metrics-Q051aLdz.js","./agent-CTqsAA8l.js","./cloud-sEaHmpLm.js","./terminal-DvxWm4UP.js","./approval-BpnRjDXJ.js","./ai-CnRvgCA9.js"])))=>i.map(i=>d[i]);
|
||||
import{i as Ke,j as e,r as t,bd as Tr,D as _e,a as Te,b as qe,c as Re,d as Me,s as ir,Z as Ae,M as Ve,Q as ar,O as ve,o as Fe,B as N,a6 as $e,S as ze,e as Je,a3 as vr,a0 as xe,X as ue,v as hr,t as q,L as Le,at as Rr,ak as Mr,ah as Br,ap as Pr,aj as Qe,am as Ar,ai as $r,al as Or,aB as zr,W as Lr,b8 as gr,N as Hr,H as nr,aQ as ur,aR as br,aS as Sr,aT as jr,aU as We,aV as he,f as Ur}from"./index-HuRw9UhJ.js";import{C as ke,a as Ee}from"./card-B2Wqa0sK.js";import{I as W}from"./input-C9Xfv8um.js";import{C as ge}from"./checkbox-B7nWBaO4.js";import{b as Oe,e as se,T as Dr,a as Vr,c as de,d as Wr}from"./table-Du1vU-OM.js";import{S as fe,a as we,b as Ce,c as Ie,d as H}from"./select-KDzbUQs3.js";import{s as te,r as Gr}from"./server-BQNr9a-x.js";import{S as Kr}from"./stat-strip-CVviXwc6.js";import{B as $}from"./badge-CeS-g-Od.js";import{c as ye}from"./cloud-sEaHmpLm.js";import{R as le}from"./refresh-cw-CSycAyA2.js";import{S as Nr}from"./search-CcKEpJIn.js";import{x as qr,a as Jr}from"./xterm-DSqgeKvr.js";import{m as Qr,a as Xr,f as Zr}from"./xterm-utils-slbfdUHf.js";import{c as Xe,s as Yr}from"./credential-snjgV65G.js";import{M as yr,a as fr}from"./minimize-2-UErWMOt6.js";import{F as wr}from"./folder-open-BKJ-_5eY.js";import{U as Ze}from"./upload-oCjAhX91.js";import{F as dr,a as es}from"./folder-CyecCkCR.js";import{A as rs}from"./arrow-left-J2A6V6Vq.js";import{D as Ye}from"./download-CjFatm64.js";import{T as er}from"./trash-2-Cf9-88KL.js";import{L as V}from"./label-DvRDtaMA.js";import{T as lr}from"./textarea-Bzol9o6k.js";import{S as ss}from"./save-PutEGGnz.js";import{H as ts}from"./hard-drive-laLCm9TI.js";import{E as os}from"./ellipsis-DJJV1WjU.js";import{S as cs}from"./square-pen-DoCLytAo.js";import{P as as}from"./plus-BVwIGPvl.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const ns=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],rr=Ke("chevron-left",ns);const ds=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]],Ge=Ke("file-spreadsheet",ds);const ls=[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],ps=Ke("folder-plus",ls);function ms({servers:s}){const x=s.filter(c=>c.status==="running").length,o=s.filter(c=>c.status==="maintenance").length,a=s.filter(c=>c.status==="stopped").length;return e.jsx(Kr,{"code-path":"src/components/server/ServerStatsStrip.tsx:14:5",items:[{label:"服务器",value:s.length,color:"blue"},{label:"运行中",value:x,color:"emerald"},{label:"维护中",value:o,color:"amber"},{label:"已停止",value:a,color:"muted"}]})}const xs=[{id:"aws",name:"AWS",color:"bg-orange-500",icon:"AWS"},{id:"aliyun",name:"阿里云",color:"bg-orange-600",icon:"AL"},{id:"tencent",name:"腾讯云",color:"bg-blue-500",icon:"TX"},{id:"huawei",name:"华为云",color:"bg-red-500",icon:"HW"},{id:"azure",name:"Azure",color:"bg-blue-600",icon:"AZ"}];function is({open:s,onClose:x}){const[o,a]=t.useState([]),[c,h]=t.useState(1),[g,u]=t.useState(""),[m,T]=t.useState(null),[S,k]=t.useState([]),[n,y]=t.useState([]),[E,M]=t.useState(""),[C,f]=t.useState(!1),[v,I]=t.useState([]),[i,O]=t.useState([]),[G,j]=t.useState(!1),[U,p]=t.useState([]),[b,R]=t.useState(!1),[w,z]=t.useState(null),[ee,re]=t.useState("22"),[pe,l]=t.useState([]),[B,K]=t.useState(""),D=async()=>{try{const r=await ye.getAccounts();a(r?.list||[])}catch(r){console.error("加载云账号失败:",r)}};t.useEffect(()=>{s&&(D(),Tr(async()=>{const{credentialApi:r}=await import("./index-Bx7y-9BW.js");return{credentialApi:r}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]),import.meta.url).then(({credentialApi:r})=>{r.list().then(_=>l(_?.list||[])).catch(()=>l([]))}))},[s]);const P=o.filter(r=>r.provider===g&&r.status==="active"),X=t.useCallback(async r=>{try{return(await ye.getAccountRegions(r))?.list||[]}catch{return[]}},[]),J=t.useCallback(async r=>{f(!0);try{await ye.syncRegions(r);const _=await X(r);k(_)}catch(_){throw console.error("同步区域失败:",_),_}finally{f(!1)}},[X]),A=t.useCallback(async()=>{if(!m)return;const r=await X(m.id);if(k(r),r.length===0)try{await J(m.id)}catch{}},[m,X,J]),me=t.useCallback(async()=>{if(!(!m||n.length===0)){j(!0),p([]),I([]),O([]);try{const r=await ye.discoverInstances(m.id,n);I(r?.list||[]),p(r?.errors||[])}catch(r){console.error("发现主机失败:",r),p([r?.message||"发现主机失败"])}finally{j(!1)}}},[m,n]),L=async()=>{if(!(!m||i.length===0)){R(!0);try{const r=v.filter(ae=>i.includes(ae.instance_id)),_=await ye.importInstances(m.id,r,{default_port:Number(ee)||22,credential_id:B?Number(B):void 0});z(_||{imported:0,skipped:0})}cLine truncated
|
||||
\x1B[31m[连接已关闭]\x1B[0m\r
|
||||
`)},w.onerror=()=>{j.write(`\r
|
||||
\x1B[31m[连接发生错误]\x1B[0m\r
|
||||
`)},()=>{try{w.close(),j.dispose()}catch{}u.current=null,m.current=null,k(!1)}},[s,o,i]),t.useEffect(()=>{if(!s||!i)return;let j,U=0;const p=()=>{const b=g.current,R=T.current,w=u.current,z=m.current;if(!b||!R||!w){U++<30&&requestAnimationFrame(p);return}j=Xr(b,R,w,z);try{Zr(R,w,z)}catch{}};return p(),()=>j?.()},[s,i,n]),e.jsx(_e,{"code-path":"src/components/server/TerminalDialog.tsx:184:5",open:s,onOpenChange:x,children:e.jsxs(Te,{"code-path":"src/components/server/TerminalDialog.tsx:185:7",showCloseButton:!1,className:xe("bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] p-0 gap-0","!duration-0 !transition-none",n?"!max-w-none !w-screen !h-screen !rounded-none !translate-x-0 !translate-y-0 !left-0 !top-0":""),style:n?{maxWidth:"100vw",width:"100vw",height:"100vh"}:{maxWidth:"960px",width:"92vw"},children:[e.jsxs(Re,{"code-path":"src/components/server/TerminalDialog.tsx:197:9",className:"sr-only",children:["终端 - ",a]}),e.jsx(Me,{"code-path":"src/components/server/TerminalDialog.tsx:198:9",className:"sr-only",children:"SSH 终端连接"}),e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:200:9",className:"flex items-center justify-between px-4 py-2 border-b border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:201:11",className:"flex items-center gap-2 text-sm",children:[e.jsx("div",{"code-path":"src/components/server/TerminalDialog.tsx:202:13",className:xe("w-2 h-2 rounded-full",S?"bg-emerald-400":"bg-red-400")}),e.jsx("span",{"code-path":"src/components/server/TerminalDialog.tsx:203:13",className:"text-[var(--dg-text-primary)] font-medium",children:a}),e.jsxs("span",{"code-path":"src/components/server/TerminalDialog.tsx:204:13",className:"text-[var(--dg-text-muted)]",children:["(",c,")"]})]}),e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:206:11",className:"flex items-center gap-1",children:[e.jsx("button",{"code-path":"src/components/server/TerminalDialog.tsx:207:13",onClick:()=>y(!n),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:n?e.jsx(yr,{"code-path":"src/components/server/TerminalDialog.tsx:211:29",className:"h-4 w-4"}):e.jsx(fr,{"code-path":"src/components/server/TerminalDialog.tsx:211:65",className:"h-4 w-4"})}),e.jsx("button",{"code-path":"src/components/server/TerminalDialog.tsx:213:13",onClick:()=>x(!1),className:"p-1.5 rounded hover:bg-[var(--dg-bg-hover)] text-[var(--dg-text-secondary)]",children:e.jsx(ue,{"code-path":"src/components/server/TerminalDialog.tsx:217:15",className:"h-4 w-4"})})]})]}),!i&&e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:223:11",className:"p-6 flex flex-col items-center justify-center gap-4",style:{height:"480px"},children:[e.jsx(hr,{"code-path":"src/components/server/TerminalDialog.tsx:224:13",className:"h-12 w-12 text-amber-400"}),e.jsxs("div",{"code-path":"src/components/server/TerminalDialog.tsx:225:13",className:"text-center",children:[e.jsx("p",{"code-path":"src/components/server/TerminalDialog.tsx:226:15",className:"text-[var(--dg-text-primary)] font-medium mb-1",children:"服务器未配置认证凭据"}),e.jsx("p",{"code-path":"src/components/server/TerminalDialog.tsx:227:15",className:"text-sm text-[var(--dg-text-muted)]",children:"请选择一个凭据用于 SSH 连接"})]}),E.length===0?e.jsx("p",{"code-path":"src/components/server/TerminalDialog.tsx:230:15",className:"text-xs text-[var(--dg-text-muted)]",children:"暂无可用凭据,请先去「凭证配置」添加"}):e.jsxs("select",{"code-path":"src/components/server/TerminalDialog.tsx:232:15",value:C,onChange:j=>f(j.target.value),className:"w-64 px-3 py-2 bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] rounded-md text-[var(--dg-text-primary)] text-sm",children:[e.jsx("option",{"code-path":"src/components/server/TerminalDialog.tsx:237:17",value:"",children:"-- 选择凭据 --"}),E.map(j=>e.jsxs("option",{"code-path":"src/components/server/TerminalDialog.tsx:239:19",value:String(j.id),children:[j.type==="ssh_key"?"🔑":"🔒"," ",j.name]},j.id))]}),e.jsx(N,{"code-path":"src/components/server/TerminalDialog.tsx:245:13",onClick:G,disabled:!C||v,className:"bg-[var(--dg-blue)] hover:opacity-90 text-white",children:v?"关联中...":"确认连接"})]}),i&&e.jsx("div",{"code-path":"src/components/server/TerminalDialog.tsx:256:11",ref:g,className:"xterm-terminal-host",style:{height:n?"calc(100vh - 49px)":"520px"}})]})})}const hs=s=>s<1024?`${s} B`:s<1048576?`${(s/1024).toFixed(1)} KB`:`${(s/1048576).toFixed(2)} MB`;function gs({open:s,onOpenChange:x,serverId:o,serverName:a}){const[c,h]=t.useState([]),[g,u]=t.useState([]),[m,T]=t.useState("/"),[S,k]=t.useState(!1),[n,y]=t.useState(""),[E,M]=t.useState(!1),[C,f]=t.useState(!1),v=t.useRef(null),I=t.useCallback(async p=>{if(o){k(!0),y("");try{const b=await te.listFiles(o,p),R=b?.data||b;h(R.items||[]),u(R.breadcrumbs||[]),T(R.path||p)}catch(b){y(b?.message||"加载目录失败"),h([
Line truncated
|
||||
`).replace(/\r/g,`
|
||||
`).split(`
|
||||
`).filter(c=>c.trim());if(x.length<2)return[];const o=pr(x[0]).map(c=>c.toLowerCase()),a=[];for(let c=1;c<x.length;c++){const h=pr(x[c]),g={};o.forEach((u,m)=>{g[u]=h[m]??""}),a.push(g)}return a}function bs(s){return/^(\d{1,3}\.){3}\d{1,3}$/.test(s)&&s.split(".").every(x=>Number(x)>=0&&Number(x)<=255)}function Ss(){const s=["hostname,ip,port","web-01,192.168.1.10,22","db-01,192.168.1.20,22","cache-01,192.168.1.30,2222"].join(`
|
||||
`),x=new Blob(["\uFEFF"+s],{type:"text/csv;charset=utf-8;"}),o=URL.createObjectURL(x),a=document.createElement("a");a.href=o,a.download="servers-template.csv",a.click(),URL.revokeObjectURL(o)}function js({open:s,onClose:x}){const[o,a]=t.useState(1),[c,h]=t.useState(""),[,g]=t.useState("password"),[u,m]=t.useState(null),[T,S]=t.useState(!1),[k,n]=t.useState([]),[y,E]=t.useState([]),[M,C]=t.useState(!1),[f,v]=t.useState([]),[I,i]=t.useState(""),[O,G]=t.useState("22");t.useEffect(()=>{if(!s)return;let l=!1;return(async()=>{try{const[B,K]=await Promise.all([Gr.list(),Xe.list()]);if(l)return;const D=B?.list??[];E(D.map(P=>({id:String(P.id??""),name:P.name??"",code:P.code??""}))),v(K?.list??[])}catch{l||(E([]),v([]))}})(),()=>{l=!0}},[s]);const j=async()=>{if(o===2&&u){S(!0);try{const l=await u.text(),B=us(l);if(B.length===0){q.error("文件无有效数据,请使用模板格式(首行为表头)"),S(!1);return}const K=new Set,D=B.map((P,X)=>{const J=(P.hostname??"").trim(),A=(P.ip??"").trim(),me={row:X+2,hostname:J,ip:A,port:Number(P.port)||22,username:(P.username??"").trim()||"root",os:P.os??"",cpu:Number(P.cpu)||0,memory:Number(P.memory)||0,disk:Number(P.disk)||0,tags:P.tags??"",status:"valid",message:"有效"},L=[];J||L.push("主机名缺失"),A?bs(A)||L.push("IP格式错误"):L.push("IP缺失");const ie=`${J}|${A}`;return J&&A&&K.has(ie)?L.push("重复行"):K.add(ie),L.length>0&&(me.status="error",me.message=L.join("、")),me});n(D),a(o+1)}catch{q.error("文件解析失败,请确认是 CSV 格式")}finally{S(!1)}}else a(o+1)},U=()=>{o>1&&a(o-1)},p=l=>{l.target.files&&l.target.files[0]&&m(l.target.files[0])},b=()=>{a(1),h(""),G("22"),i(""),m(null),n([])},R=async()=>{const l=k.filter(B=>B.status==="valid");if(l.length!==0){C(!0);try{const B=l.map(A=>({hostname:A.hostname,ip:A.ip,port:A.port,username:A.username,os:A.os,cpu:A.cpu,memory:A.memory,disk:A.disk,tags:A.tags})),D=await te.batchCreate({servers:B,region_id:c||void 0,credential_id:I?Number(I):void 0,default_port:Number(O)||22})??{},P=D.success??0,X=D.skipped??0,J=D.failed??0;q.success(`导入完成:成功 ${P},跳过 ${X},失败 ${J}`),b(),x()}catch(B){q.error(B?.message||"导入失败,请重试")}finally{C(!1)}}},w=()=>{x(),b()},z=k.filter(l=>l.status==="valid").length,ee=k.filter(l=>l.status==="warning").length,re=k.filter(l=>l.status==="error").length,pe=[{id:1,title:"配置"},{id:2,title:"上传"},{id:3,title:"确认"}];return e.jsx(_e,{"code-path":"src/components/server/ExcelServerImport.tsx:278:5",open:s,onOpenChange:w,children:e.jsxs(Te,{"code-path":"src/components/server/ExcelServerImport.tsx:279:7",className:"max-w-3xl bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[e.jsxs(qe,{"code-path":"src/components/server/ExcelServerImport.tsx:280:9",children:[e.jsx(Re,{"code-path":"src/components/server/ExcelServerImport.tsx:281:11",className:"text-xl",children:"CSV 批量导入服务器"}),e.jsx(Me,{"code-path":"src/components/server/ExcelServerImport.tsx:282:11",className:"sr-only",children:"通过 CSV 文件批量导入服务器资产"})]}),e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:286:9",className:"flex items-center justify-center mb-6",children:pe.map((l,B)=>e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:288:13",className:"flex items-center",children:[e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:289:15",className:`flex items-center justify-center w-8 h-8 rounded-full ${o===l.id?"bg-blue-600 text-white":o>l.id?"bg-emerald-600 text-white":"bg-[var(--dg-bg-secondary)] text-[var(--dg-text-muted)]"}`,children:o>l.id?e.jsx(ve,{"code-path":"src/components/server/ExcelServerImport.tsx:296:32",className:"h-4 w-4"}):l.id}),e.jsx("span",{"code-path":"src/components/server/ExcelServerImport.tsx:298:15",className:`ml-2 text-sm ${o===l.id?"text-[var(--dg-text-primary)]":"text-[var(--dg-text-muted)]"}`,children:l.title}),B<pe.length-1&&e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:302:17",className:"w-12 h-0.5 bg-[var(--dg-border)] mx-3"})]},l.id))}),o===1&&e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:310:11",className:"space-y-6",children:[e.jsx(ke,{"code-path":"src/components/server/ExcelServerImport.tsx:312:13",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(Ee,{"code-path":"src/components/server/ExcelServerImport.tsx:313:15",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:314:17",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/server/ExcelServerImport.tsx:315:19",className:"flex items-center gap-3",children:[e.jsx("div",{"code-path":"src/components/server/ExcelServerImport.tsx:316:21",className:"w-10 h-10 rounded-lg bg-emerald-500/20 flex items-center justify-center",children:e.jsx(Ge,{"code-path":"src/components/server/ExcelServerImport.tsx:317:23"
Line truncated
|
||||
`),Y=new Blob(["\uFEFF"+ne],{type:"text/csv;charset=utf-8;"}),Q=URL.createObjectURL(Y),ce=document.createElement("a");ce.href=Q,ce.download=`servers_${new Date().toISOString().slice(0,10)}.csv`,ce.click(),URL.revokeObjectURL(Q),q.success(`已导出 ${o.length} 台服务器`)},cr=8;return e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:373:5",className:"space-y-6",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:375:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:376:9",children:[e.jsx("h1",{"code-path":"src/components/server/ServerManager.tsx:377:11",className:"text-2xl font-bold text-[var(--dg-text-primary)]",children:"服务器管理"}),e.jsx("p",{"code-path":"src/components/server/ServerManager.tsx:378:11",className:"text-sm text-[var(--dg-text-muted)] mt-1",children:"管理云平台服务器资产"})]}),e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:380:9",className:"flex items-center gap-2",children:[e.jsxs(N,{"code-path":"src/components/server/ServerManager.tsx:381:11",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] hover:bg-[var(--dg-bg-hover)]",onClick:()=>L(),children:[e.jsx(le,{"code-path":"src/components/server/ServerManager.tsx:386:13",className:xe("h-4 w-4 mr-2",c&&"animate-spin")}),"刷新"]}),e.jsxs(N,{"code-path":"src/components/server/ServerManager.tsx:389:11",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] hover:bg-[var(--dg-bg-hover)]",onClick:_r,children:[e.jsx(Ye,{"code-path":"src/components/server/ServerManager.tsx:394:13",className:"h-4 w-4 mr-2"}),"导出"]}),x("server:create")&&e.jsxs(ur,{"code-path":"src/components/server/ServerManager.tsx:398:11",children:[e.jsx(br,{"code-path":"src/components/server/ServerManager.tsx:399:13",asChild:!0,children:e.jsxs(N,{"code-path":"src/components/server/ServerManager.tsx:400:15",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] hover:bg-[var(--dg-bg-hover)]",children:[e.jsx(Ze,{"code-path":"src/components/server/ServerManager.tsx:401:17",className:"h-4 w-4 mr-2"}),"批量导入"]})}),e.jsxs(Sr,{"code-path":"src/components/server/ServerManager.tsx:405:13",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[e.jsx(jr,{"code-path":"src/components/server/ServerManager.tsx:406:15",children:"选择导入方式"}),e.jsx(We,{"code-path":"src/components/server/ServerManager.tsx:407:15",className:"bg-[var(--dg-border)]"}),e.jsxs(he,{"code-path":"src/components/server/ServerManager.tsx:408:15",className:"hover:bg-[var(--dg-bg-hover)] cursor-pointer focus:bg-[var(--dg-bg-hover)] focus:text-[var(--dg-text-primary)]",onClick:()=>y(!0),children:[e.jsx(ir,{"code-path":"src/components/server/ServerManager.tsx:412:17",className:"h-4 w-4 mr-2 text-[var(--dg-blue)]"}),"云主机导入",e.jsx("span",{"code-path":"src/components/server/ServerManager.tsx:414:17",className:"ml-2 text-xs text-[var(--dg-text-muted)]",children:"从云平台同步"})]}),e.jsxs(he,{"code-path":"src/components/server/ServerManager.tsx:416:15",className:"hover:bg-[var(--dg-bg-hover)] cursor-pointer focus:bg-[var(--dg-bg-hover)] focus:text-[var(--dg-text-primary)]",onClick:()=>M(!0),children:[e.jsx(Ge,{"code-path":"src/components/server/ServerManager.tsx:420:17",className:"h-4 w-4 mr-2 text-emerald-400"}),"CSV导入",e.jsx("span",{"code-path":"src/components/server/ServerManager.tsx:422:17",className:"ml-2 text-xs text-[var(--dg-text-muted)]",children:"hostname + IP 即可"})]})]})]}),x("server:create")&&e.jsxs(N,{"code-path":"src/components/server/ServerManager.tsx:428:13",className:"bg-[var(--dg-blue)] hover:opacity-90 text-white",onClick:r,children:[e.jsx(as,{"code-path":"src/components/server/ServerManager.tsx:432:15",className:"h-4 w-4 mr-2"}),"添加服务器"]})]})]}),e.jsx(ms,{"code-path":"src/components/server/ServerManager.tsx:440:7",servers:o}),e.jsx(ke,{"code-path":"src/components/server/ServerManager.tsx:443:7",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(Ee,{"code-path":"src/components/server/ServerManager.tsx:444:9",className:"p-0",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:446:11",className:"flex items-center justify-between flex-wrap gap-4 p-4",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:447:13",className:"flex items-center gap-3 flex-wrap",children:[e.jsxs("div",{"code-path":"src/components/server/ServerManager.tsx:448:15",className:"relative w-64",children:[e.jsx(Nr,{"code-path":"src/components/server/ServerManager.tsx:449:17",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-[var(--dg-text-muted)]"}),e.jsx(W,{"code-path":"src/components/server
Line truncated
|
||||
@@ -0,0 +1,2 @@
|
||||
import{r as o,u as q,j as s,D as Z,a as ss,b as es,c as ts,U as le,d as as,e as rs,B as x,Z as Ks,Q as Ws,N as Qs,L as Ns,b8 as ve,P as de,v as qs,f as Js,$ as Xs,t as V,av as fe,W as De,Y as pe,x as Bs,z as ie,l as $,y as Le}from"./index-HuRw9UhJ.js";import{T as Te,a as Ue,b as Vs,c as Hs}from"./tabs-XYsjnHzX.js";import{B as cs}from"./badge-CeS-g-Od.js";import{C as xs,a as hs,b as Ss,c as js,d as us}from"./card-B2Wqa0sK.js";import{I as f}from"./input-C9Xfv8um.js";import{T as As,a as Ps,b as J,c as M,d as zs,e as w}from"./table-Du1vU-OM.js";import{S as Us,a as ws,b as Cs,c as Ms,d as H}from"./select-KDzbUQs3.js";import{S as vs}from"./square-pen-DoCLytAo.js";import{U as Gs}from"./upload-oCjAhX91.js";import{D as xe}from"./download-CjFatm64.js";import{C as Ys}from"./circle-x-BVvXVx7p.js";import{R as Zs}from"./refresh-cw-CSycAyA2.js";import{S as we}from"./search-CcKEpJIn.js";import{P as se}from"./plus-BVwIGPvl.js";import{M as Ce,P as Me}from"./phone-xS_7A3bu.js";import{T as ee}from"./trash-2-Cf9-88KL.js";import{T as ke}from"./textarea-Bzol9o6k.js";import{L as Ts}from"./label-DvRDtaMA.js";import{C as Ie}from"./checkbox-B7nWBaO4.js";import{S as bs}from"./switch--ZaqVsRJ.js";import{U as Re}from"./user-plus-DK2M0PwG.js";import{H as _e}from"./history-CLAzTAyT.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";function Fe({open:e,onOpenChange:d,editingUser:t,form:a,setForm:m,saving:i,onSubmit:u}){const[T,N]=o.useState([]);return o.useEffect(()=>{if(!e)return;let n=!1;return(async()=>{try{const U=await q.getRoles();if(n)return;const h=U?.list??[];N(h.map(D=>({id:String(D.id??""),name:D.name??D.code??""})))}catch{n||N([])}})(),()=>{n=!0}},[e]),s.jsx(Z,{"code-path":"src/components/system/UserFormDialog.tsx:78:5",open:e,onOpenChange:d,children:s.jsxs(ss,{"code-path":"src/components/system/UserFormDialog.tsx:79:7",className:"bg-slate-900 border-slate-800",children:[s.jsxs(es,{"code-path":"src/components/system/UserFormDialog.tsx:80:9",children:[s.jsxs(ts,{"code-path":"src/components/system/UserFormDialog.tsx:81:11",className:"text-slate-100 flex items-center gap-2",children:[s.jsx(le,{"code-path":"src/components/system/UserFormDialog.tsx:82:13",className:"h-5 w-5 text-blue-400"}),t?"编辑用户":"新建用户"]}),s.jsx(as,{"code-path":"src/components/system/UserFormDialog.tsx:85:11",className:"text-slate-500",children:t?"修改用户信息":"创建新的系统用户"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:90:9",className:"space-y-4",children:[s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:91:11",className:"grid grid-cols-2 gap-4",children:[s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:92:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:93:15",className:"text-xs text-slate-500",children:"用户名"}),s.jsx(f,{"code-path":"src/components/system/UserFormDialog.tsx:94:15",value:a.username,onChange:n=>m({...a,username:n.target.value}),disabled:!!t,className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500",placeholder:"登录用户名"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:102:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:103:15",className:"text-xs text-slate-500",children:"昵称"}),s.jsx(f,{"code-path":"src/components/system/UserFormDialog.tsx:104:15",value:a.nickname,onChange:n=>m({...a,nickname:n.target.value}),className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500",placeholder:"显示昵称"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:111:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:112:15",className:"text-xs text-slate-500",children:"邮箱"}),s.jsx(f,{"code-path":"src/components/system/UserFormDialog.tsx:113:15",value:a.email,onChange:n=>m({...a,email:n.target.value}),className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500",placeholder:"user@example.com"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:120:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:121:15",className:"text-xs text-slate-500",children:"手机号"}),s.jsx(f,{"code-path":"src/components/system/UserFormDialog.tsx:122:15",value:a.phone,onChange:n=>m({...a,phone:n.target.value}),className:"bg-slate-800/50 border-slate-700 text-slate-200 placeholder:text-slate-500",placeholder:"可选"})]}),s.jsxs("div",{"code-path":"src/components/system/UserFormDialog.tsx:129:13",className:"space-y-2",children:[s.jsx("label",{"code-path":"src/components/system/UserFormDialog.tsx:130:15",className:"text-xs text-slate-500",children:"角色"}),s.jsxs(Us,{"code-path":"src/components/system/UserFormDialog.tsx:131:15",value:a.role,onValueChange:n=>m({...a,role:n}),children:[s.jsx(ws,{"Line truncated
|
||||
`).filter(g=>g.trim()&&!g.startsWith(""));if(c.length<2)return;const Q=c[0].split(",").map(g=>g.trim().toLowerCase()),is=Q.findIndex(g=>g.includes("用户名")||g.includes("username")),Is=Q.findIndex(g=>g.includes("昵称")||g.includes("name")||g.includes("显示名")),Rs=Q.findIndex(g=>g.includes("邮箱")||g.includes("email")||g.includes("mail")),Ds=Q.findIndex(g=>g.includes("手机")||g.includes("phone")),_s=Q.findIndex(g=>g.includes("角色")||g.includes("role")),ys=Q.findIndex(g=>g.includes("密码")||g.includes("password")),gs=[];for(let g=1;g<c.length;g++){const ms=c[g].split(",").map(Fs=>Fs.trim());gs.push({username:is>=0?ms[is]:"",nickname:Is>=0?ms[Is]:"",email:Rs>=0?ms[Rs]:"",phone:Ds>=0?ms[Ds]:"",role:_s>=0?ms[_s]:"",password:ys>=0?ms[ys]:""})}_(gs),z(null)},os.readAsText(E,"UTF-8")},Y=async()=>{L.setImporting(!0);try{const l=await q.batchImport({users:j,skip_existing:!0});z(l),await X()}catch(l){z({code:500,message:l?.message||"导入失败"})}finally{L.setImporting(!1)}};return s.jsxs("div",{"code-path":"src/components/system/SystemManager.tsx:232:5",className:"space-y-6",children:[s.jsx("div",{"code-path":"src/components/system/SystemManager.tsx:234:7",className:"flex items-center justify-between",children:s.jsxs("div",{"code-path":"src/components/system/SystemManager.tsx:235:9",children:[s.jsx("h1",{"code-path":"src/components/system/SystemManager.tsx:236:11",className:"text-2xl font-bold text-slate-100",children:"系统管理"}),s.jsx("p",{"code-path":"src/components/system/SystemManager.tsx:237:11",className:"text-sm text-slate-500 mt-1",children:"用户、权限与系统配置"})]})}),s.jsxs(Te,{"code-path":"src/components/system/SystemManager.tsx:242:7",value:a,onValueChange:m,className:"w-full",children:[s.jsxs(Ue,{"code-path":"src/components/system/SystemManager.tsx:243:9",className:"bg-slate-800 border border-slate-700",children:[s.jsxs(Vs,{"code-path":"src/components/system/SystemManager.tsx:244:11",value:"users",className:"data-[state=active]:bg-slate-700",children:[s.jsx(pe,{"code-path":"src/components/system/SystemManager.tsx:245:13",className:"h-4 w-4 mr-2"}),"用户管理"]}),s.jsxs(Vs,{"code-path":"src/components/system/SystemManager.tsx:248:11",value:"roles",className:"data-[state=active]:bg-slate-700",children:[s.jsx(qs,{"code-path":"src/components/system/SystemManager.tsx:249:13",className:"h-4 w-4 mr-2"}),"角色权限"]}),s.jsxs(Vs,{"code-path":"src/components/system/SystemManager.tsx:252:11",value:"settings",className:"data-[state=active]:bg-slate-700",children:[s.jsx(ie,{"code-path":"src/components/system/SystemManager.tsx:253:13",className:"h-4 w-4 mr-2"}),"系统设置"]})]}),s.jsx(Hs,{"code-path":"src/components/system/SystemManager.tsx:258:9",value:"users",className:"mt-4 space-y-4",children:s.jsx(ze,{"code-path":"src/components/system/SystemManager.tsx:259:11",searchQuery:i,setSearchQuery:u,filteredUsers:ls,loading:n,selectedUser:h,setSelectedUser:D,getUserStatusBadge:ns,dialogOpen:y,setDialogOpen:R,editingUser:C,form:k,setForm:A,saving:F,handleSubmit:K,openCreate:ds,openEdit:ps,handleDelete:W,importDialogOpen:p,setImportDialogOpen:O,importPreview:j,setImportPreview:_,importing:L.importing,importResult:G,setImportResult:z,handleCsvUpload:v,handleBatchImport:Y,ldapUsers:L.ldapUsers,ldapSelected:L.ldapSelected,setLdapSelected:L.setLdapSelected,ldapLoading:L.ldapLoading,ldapImportOUs:L.ldapImportOUs,ldapImportOUDN:L.ldapImportOUDN,setLdapImportOUDN:L.setLdapImportOUDN,loadLdapUsers:L.loadLdapUsers,handleLdapImport:L.handleLdapImport,setLdapUsers:L.setLdapUsers})}),s.jsx(Hs,{"code-path":"src/components/system/SystemManager.tsx:299:9",value:"roles",className:"mt-4 space-y-4",children:s.jsx(We,{"code-path":"src/components/system/SystemManager.tsx:300:11",selectedRole:b,setSelectedRole:S})}),s.jsx(Hs,{"code-path":"src/components/system/SystemManager.tsx:306:9",value:"settings",className:"mt-4",children:s.jsx(Je,{"code-path":"src/components/system/SystemManager.tsx:307:11",...L.settingsTabProps})})]})]})}export{Lt as SystemManager};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as Ue,j as e,S as Te,E as Fe,N as Je,q as Ge,s as de,G as Ke,k as qe,f as Ze,r as p,B as v,L as je,R as es,D as Ve,a as Ne,b as ve,c as Se,d as Ce,e as ss,t as j}from"./index-HuRw9UhJ.js";import{C as oe,a as ne,b as ts,c as os,d as ns}from"./card-B2Wqa0sK.js";import{I as Ee}from"./input-C9Xfv8um.js";import{L as ae}from"./label-DvRDtaMA.js";import{B as _e}from"./badge-CeS-g-Od.js";import{S as ce,a as re,b as le,c as ie,d as Z}from"./select-KDzbUQs3.js";import{T as as}from"./textarea-Bzol9o6k.js";import{k as _}from"./index-GZwpRmKU.js";import{B as cs}from"./box-DPoVh2_c.js";import{Z as rs}from"./zap-CS68N0Jd.js";import{P as Me}from"./pencil-BZ7zX3m0.js";import{R as ls}from"./refresh-cw-CSycAyA2.js";import{P as is}from"./plus-BVwIGPvl.js";import{S as ps}from"./save-PutEGGnz.js";import{S as ds}from"./search-CcKEpJIn.js";import{T as ms}from"./trash-2-Cf9-88KL.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const us=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],$e=Ue("link-2",us),pe={cluster:"集群",loadbalancer:"Ingress",service:"Service",app:"Deployment",server:"Node",database:"数据库",external:"外部服务",custom:"自定义"},xs=[{value:"database",label:"数据库",desc:"MySQL / Redis / PostgreSQL 等"},{value:"external",label:"外部服务",desc:"外部 API / CDN / DNS 等"},{value:"custom",label:"自定义",desc:"其他自定义节点"}],X=u=>u.startsWith("custom-");function $(u,h="h-5 w-5"){switch(u){case"server":return e.jsx(Te,{"code-path":"src/components/kubernetes/topology-helpers.tsx:31:27",className:h});case"loadbalancer":return e.jsx(Ke,{"code-path":"src/components/kubernetes/topology-helpers.tsx:32:33",className:h});case"cluster":return e.jsx(de,{"code-path":"src/components/kubernetes/topology-helpers.tsx:33:28",className:h});case"app":return e.jsx(Ge,{"code-path":"src/components/kubernetes/topology-helpers.tsx:34:24",className:h});case"service":return e.jsx(Je,{"code-path":"src/components/kubernetes/topology-helpers.tsx:35:28",className:h});case"database":return e.jsx(Fe,{"code-path":"src/components/kubernetes/topology-helpers.tsx:36:29",className:h});case"external":return e.jsx(rs,{"code-path":"src/components/kubernetes/topology-helpers.tsx:37:29",className:h});case"custom":return e.jsx(cs,{"code-path":"src/components/kubernetes/topology-helpers.tsx:38:27",className:h});default:return e.jsx(Te,{"code-path":"src/components/kubernetes/topology-helpers.tsx:39:21",className:h})}}function ee(u){switch(u){case"server":return"bg-blue-500/20 text-blue-400 border-blue-500/30";case"loadbalancer":return"bg-purple-500/20 text-purple-400 border-purple-500/30";case"cluster":return"bg-cyan-500/20 text-cyan-400 border-cyan-500/30";case"app":return"bg-rose-500/20 text-rose-400 border-rose-500/30";case"service":return"bg-emerald-500/20 text-emerald-400 border-emerald-500/30";case"database":return"bg-amber-500/20 text-amber-400 border-amber-500/30";case"external":return"bg-orange-500/20 text-orange-400 border-orange-500/30";case"custom":return"bg-slate-500/20 text-slate-400 border-slate-500/30";default:return"bg-slate-500/20 text-slate-400 border-slate-500/30"}}function hs(u,h,D,Y,x){const V=[],l=[],z=Math.max(1,h.length,D.length,Y.length,x.length),L=Math.max(900,Math.min(z*130,2400)),r=[60,180,320,480,640],N=o=>{const i=Math.min(o,12);if(i===0)return[];if(i===1)return[L/2];const c=L/(i+1);return Array.from({length:i},(d,g)=>c*(g+1))},E=`cluster-${u.id}`;V.push({id:E,name:u.name||"集群",type:"cluster",x:L/2,y:r[0],data:{kind:"cluster",version:u.version,status:u.status,api_server:u.api_server,node_count:u.node_count,pod_count:u.pod_count}});const R=h.slice(0,12),B=N(R.length);R.forEach((o,i)=>{const c=`ingress-${o.id}`;V.push({id:c,name:o.name,type:"loadbalancer",x:B[i],y:r[1],data:{kind:"ingress",namespace:o.namespace,backend:o.backend,tls:o.tls,hosts:o.hosts}}),l.push({id:`e-${E}-${c}`,source:E,target:c,label:"route"})});const f=D.slice(0,12),A=N(f.length);f.forEach((o,i)=>{const c=`service-${o.id}`;V.push({id:c,name:o.name,type:"service",x:A[i],y:r[2],data:{kind:"service",namespace:o.namespace,type:o.type,cluster_ip:o.cluster_ip,external_ip:o.external_ip,selector:o.selector}})}),R.length>0&&f.length>0?R.forEach(o=>{const i=`ingress-${o.id}`,c=(o.backend||"").split(":")[0].trim();let d=f.filter(g=>g.name===c);d.length===0&&(d=f.filter(g=>g.namespace===o.namespace)),d.length===0&&(d=[f[0]]),d.forEach(g=>l.push({id:`e-${i}-service-${g.id}`,source:i,target:`service-${g.id}`,label:"→"}))}):f.length>0&&f.forEach(o=>l.push({id:`e-${E}-service-${o.id}`,source:E,target:`service-${o.id}`,label:"expose"}));const T=Y.slice(0,12),F=N(T.length);T.forEach((o,i)=>{const c=`deploy-${o.id}`;V.push({id:c,name:o.name,type:"app",x:F[i],y:r[3],data:{kind:"deployment",namespace:o.namespace,replicas:o.replicas,ready_replicas:o.ready_replicas,available_replicas:o.available_replicas,imageLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{r,t as y,j as e,B as w,P as le,K as he,D as Q,a as q,b as H,c as K,V as ge,d as Z,a4 as S,a5 as ue,C as Te,Q as je,W as Me,o as Ne,a6 as fe,S as ve}from"./index-HuRw9UhJ.js";import{I as ye}from"./input-C9Xfv8um.js";import{B as j}from"./badge-CeS-g-Od.js";import{C as M,a as N,b,c as C}from"./card-B2Wqa0sK.js";import{S as we}from"./stat-strip-CVviXwc6.js";import{S as D,a as I,b as L,c as R,d as n}from"./select-KDzbUQs3.js";import{T as Se,a as be,b as B,c as F}from"./tabs-XYsjnHzX.js";import{L as s}from"./label-DvRDtaMA.js";import{t as O}from"./trace-L8uY5gM3.js";import{S as Ce}from"./search-CcKEpJIn.js";import{R as De}from"./refresh-cw-CSycAyA2.js";import{T as Ie}from"./trending-up-C97I6AeO.js";import{C as Le}from"./circle-x-BVvXVx7p.js";import{C as Re}from"./code-CQ7c-p8-.js";import{B as Be}from"./box-DPoVh2_c.js";import{Z as Fe}from"./zap-CS68N0Jd.js";import{A as Oe}from"./arrow-right-C1YbOgFu.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";const ea=()=>{const[k,G]=r.useState([]),[p,J]=r.useState([]),[U,A]=r.useState(!1),[f,W]=r.useState(""),[l,X]=r.useState("all"),[h,Y]=r.useState("all"),[g,_]=r.useState("1h"),[ee,ae]=r.useState("traces"),[m,te]=r.useState(null),[o,re]=r.useState(null),[ce,E]=r.useState(!1),[se,$]=r.useState(!1);r.useEffect(()=>{oe()},[g]);const oe=async()=>{await Promise.all([P(),ne()])},P=async()=>{A(!0);try{const a=await O.getTraces({timeRange:g,service:l,status:h});G(a.data||[])}catch{y.error("获取链路数据失败")}finally{A(!1)}},ne=async()=>{try{const a=await O.getServices(g);J(a.data||[])}catch{y.error("获取服务数据失败")}},me=async a=>{try{return(await O.getTraceDetail(a)).data}catch{return y.error("获取链路详情失败"),null}},v=a=>{switch(a){case"success":return e.jsxs(j,{"code-path":"src/components/monitor/trace/TraceManager.tsx:141:16",variant:"default",className:"bg-green-500 gap-1",children:[e.jsx(je,{"code-path":"src/components/monitor/trace/TraceManager.tsx:141:72",className:"w-3 h-3"}),"成功"]});case"error":return e.jsxs(j,{"code-path":"src/components/monitor/trace/TraceManager.tsx:143:16",variant:"destructive",className:"gap-1",children:[e.jsx(Le,{"code-path":"src/components/monitor/trace/TraceManager.tsx:143:63",className:"w-3 h-3"}),"错误"]});case"pending":return e.jsxs(j,{"code-path":"src/components/monitor/trace/TraceManager.tsx:145:16",variant:"outline",className:"gap-1",children:[e.jsx(Te,{"code-path":"src/components/monitor/trace/TraceManager.tsx:145:59",className:"w-3 h-3"}),"进行中"]});default:return e.jsx(j,{"code-path":"src/components/monitor/trace/TraceManager.tsx:147:16",variant:"secondary",children:"未知"})}},ie=a=>{switch(a){case"client":return e.jsx(Oe,{"code-path":"src/components/monitor/trace/TraceManager.tsx:153:29",className:"w-4 h-4"});case"server":return e.jsx(ve,{"code-path":"src/components/monitor/trace/TraceManager.tsx:154:29",className:"w-4 h-4"});case"producer":return e.jsx(Fe,{"code-path":"src/components/monitor/trace/TraceManager.tsx:155:31",className:"w-4 h-4"});case"consumer":return e.jsx(Be,{"code-path":"src/components/monitor/trace/TraceManager.tsx:156:31",className:"w-4 h-4"});default:return e.jsx(Re,{"code-path":"src/components/monitor/trace/TraceManager.tsx:157:23",className:"w-4 h-4"})}},de=a=>{switch(a){case"success":return"bg-green-500";case"error":return"bg-red-500";case"pending":return"bg-yellow-500";default:return"bg-gray-500"}},i=a=>a<1?`${(a*1e3).toFixed(2)}μs`:a<1e3?`${a.toFixed(2)}ms`:`${(a/1e3).toFixed(2)}s`,V=k.filter(a=>{const t=a.traceId.toLowerCase().includes(f.toLowerCase())||a.operationName.toLowerCase().includes(f.toLowerCase()),d=l==="all"||a.serviceName===l,c=h==="all"||a.status===h;return t&&d&&c}),pe=Array.from(new Set(k.map(a=>a.serviceName))),xe=a=>{const t=new Map,d=[];return a.forEach(c=>{t.set(c.spanId,{...c,children:[]})}),a.forEach(c=>{const u=t.get(c.spanId);if(c.parentSpanId&&t.has(c.parentSpanId)){const x=t.get(c.parentSpanId);x.children=x.children||[],x.children.push(u)}else d.push(u)}),d},z=({span:a,level:t,totalDuration:d})=>{const[c,u]=r.useState(!0),x=d>0?a.duration/d*100:0;return e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:216:7",className:"select-none",children:[e.jsxs("div",{"code-path":"src/components/monitor/trace/TraceManager.tsx:217:9",className:"flex items-center py-2 hover:bg-muted/50 cursor-pointer border-l-2 border-transparent hover:border-blue-500",style:{paddingLeft:`${t*24+12}px`},onClick:()=>{re(a),$(!0)},children:[a.children?.length>0&&e.jsx(w,{"code-path":"src/components/monitor/trace/TraceManager.tsx:223:13",variant:"ghost",size:"sm",className:"h-4 w-4 p-0 mr-1",onClick:T=>{T.stopPropagation(),u(!c)},children:c?e.jsx(Me,{"code-path":"src/components/monitor/trace/TraceManager.tsx:229:27",className:"w-3 h-3"}):e.jsx(Ne,{"code-path":"src/components/monitor/trace/TraceManager.tsx:229:65",className:"w-3 h-3"})}),!a.children?.length&&e.jsx("span",{"code-path":"src/components/monitor/trace/TraceManager.tsx:23Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{i as R,f as F,r as o,j as e,B as t,L as I,Y as w,v as O,D as T,a as _,b as A,c as H,t as a}from"./index-HuRw9UhJ.js";import{I as u}from"./input-C9Xfv8um.js";import{B as $}from"./badge-CeS-g-Od.js";import{L as y}from"./label-DvRDtaMA.js";import{d as n}from"./config-J-uY34Cv.js";import{R as q}from"./refresh-cw-CSycAyA2.js";import{P as K}from"./plus-BVwIGPvl.js";import{P as X}from"./pencil-BZ7zX3m0.js";import{T as Y}from"./trash-2-Cf9-88KL.js";import{U as J}from"./user-plus-DK2M0PwG.js";const Q=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]],V=R("user-x",Q);function de(){const g=F(),[G,k]=o.useState([]),[C,M]=o.useState(!0),[S,D]=o.useState({}),[z,p]=o.useState(!1),[l,U]=o.useState(null),[i,m]=o.useState(""),[x,h]=o.useState(""),[j,v]=o.useState(!1),[f,N]=o.useState({}),c=async()=>{M(!0);try{const s=await n.getGroups();k(s?.list||[])}catch{a.error("加载失败")}finally{M(!1)}};o.useEffect(()=>{c()},[]);const E=async()=>{if(!i.trim()){a.error("请输入组名");return}v(!0);try{l?await n.updateGroup(l,{name:i,description:x}):await n.createGroup({name:i,description:x}),a.success(l?"已更新":"已创建"),p(!1),c()}catch{a.error("操作失败")}finally{v(!1)}},L=async s=>{if(await g({title:"删除用户组",description:`确定删除「${s.name}」?所有成员和流水线授权将同时移除。`,variant:"destructive"}))try{await n.deleteGroup(s.id),a.success("已删除"),c()}catch{a.error("删除失败")}},b=async s=>{const r=(f[s]||"").trim();if(!r){a.error("输入用户名");return}try{await n.addGroupMember(s,{username:r}),a.success("已添加"),c(),N(d=>({...d,[s]:""}))}catch{a.error("添加失败")}},P=async(s,r,d)=>{if(await g({title:"移除成员",description:`确定从组中移除「${d}」?`}))try{await n.removeGroupMember(s,r),a.success("已移除"),c()}catch{a.error("移除失败")}},B=s=>D(r=>({...r,[s]:!r[s]}));return e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:81:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:82:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:83:9",children:[e.jsx("h2",{"code-path":"src/components/deploy/UserGroupsManager.tsx:84:11",className:"text-lg font-semibold text-[var(--dg-text-primary)]",children:"用户组管理"}),e.jsx("p",{"code-path":"src/components/deploy/UserGroupsManager.tsx:85:11",className:"text-sm text-[var(--dg-text-secondary)] mt-1",children:"创建用户组,将组授权给流水线,组内成员自动获得流水线权限"})]}),e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:87:9",className:"flex items-center gap-2",children:[e.jsxs(t,{"code-path":"src/components/deploy/UserGroupsManager.tsx:88:11",variant:"outline",size:"sm",onClick:c,children:[e.jsx(q,{"code-path":"src/components/deploy/UserGroupsManager.tsx:88:68",className:"w-4 h-4 mr-1"}),"刷新"]}),e.jsxs(t,{"code-path":"src/components/deploy/UserGroupsManager.tsx:89:11",size:"sm",onClick:()=>{U(null),m(""),h(""),p(!0)},children:[e.jsx(K,{"code-path":"src/components/deploy/UserGroupsManager.tsx:90:13",className:"w-4 h-4 mr-1"}),"新建用户组"]})]})]}),C?e.jsx("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:96:9",className:"flex justify-center py-12",children:e.jsx(I,{"code-path":"src/components/deploy/UserGroupsManager.tsx:96:52",className:"w-6 h-6 animate-spin text-[var(--dg-text-secondary)]"})}):G.length===0?e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:98:9",className:"text-center py-12 text-[var(--dg-text-secondary)]",children:[e.jsx(w,{"code-path":"src/components/deploy/UserGroupsManager.tsx:99:11",className:"w-10 h-10 mx-auto mb-3 opacity-30"}),e.jsx("p",{"code-path":"src/components/deploy/UserGroupsManager.tsx:100:11",children:"暂无用户组,点击「新建用户组」创建"})]}):e.jsx("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:103:9",className:"space-y-3",children:G.map(s=>e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:105:13",className:"border border-[var(--dg-border)] rounded-lg bg-[var(--dg-bg-secondary)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:106:15",className:"flex items-center justify-between p-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:107:17",className:"flex items-center gap-3",style:{cursor:"pointer"},onClick:()=>B(s.id),children:[e.jsx(O,{"code-path":"src/components/deploy/UserGroupsManager.tsx:108:19",className:"w-5 h-5 text-blue-400"}),e.jsxs("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:109:19",children:[e.jsx("div",{"code-path":"src/components/deploy/UserGroupsManager.tsx:110:21",className:"font-medium text-[Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{k as Te,m as Re,y as Le,f as $e,r as d,j as e,B as x,q as ne,R as Ae,F as Me,z as ze,E as Be,w as he,A as Oe,H as Fe}from"./index-HuRw9UhJ.js";import{C as V,a as W,b as y,c as S}from"./card-B2Wqa0sK.js";import{B as j}from"./badge-CeS-g-Od.js";import{T as ce,a as le,b as C,c as h,d as de,e as i}from"./table-Du1vU-OM.js";import{k as U}from"./index-GZwpRmKU.js";import{u as He}from"./use-toast-B25j_Fg3.js";import{Y as ie,S as w,f as me,s as q,P as _e,a as Ye}from"./PodFileBrowser-DmjH49sm.js";import{A as De}from"./arrow-left-J2A6V6Vq.js";import{T as Ee}from"./tag-DcJS0iSd.js";import{H as qe}from"./hard-drive-laLCm9TI.js";import{M as Ie}from"./minus-BLAorVC4.js";import{P as Je}from"./plus-BVwIGPvl.js";import"./copy-Ci4WwJkK.js";import"./sparkles-DEwze8TU.js";import"./save-PutEGGnz.js";import"./select-KDzbUQs3.js";import"./index-DwvHXNyF.js";import"./chevron-up-GXrRy2ul.js";import"./xterm-DSqgeKvr.js";import"./box-DPoVh2_c.js";import"./rotate-cw-Dt34Qj6N.js";import"./minimize-2-UErWMOt6.js";import"./upload-oCjAhX91.js";import"./refresh-cw-CSycAyA2.js";import"./folder-CyecCkCR.js";import"./download-CjFatm64.js";function c({label:t,value:m,sub:P,color:u}){return e.jsx(V,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:29:5",className:"bg-slate-900 border-slate-800",children:e.jsxs(W,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:30:7",className:"p-3",children:[e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:31:9",className:"text-xs text-slate-500",children:t}),e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:32:9",className:"text-base font-bold mt-0.5",style:{color:u||"#e2e8f0"},children:m}),P&&e.jsx("p",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:33:17",className:"text-[10px] text-slate-600 mt-0.5",children:P})]})})}function pe({labels:t}){const m=Object.entries(t||{});return m.length===0?e.jsx("span",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:42:36",className:"text-xs text-slate-600",children:"无"}):e.jsx("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:44:5",className:"flex flex-wrap gap-1.5",children:m.map(([P,u])=>e.jsxs(j,{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:46:9",variant:"outline",className:"border-slate-700 text-slate-400 text-[10px] font-mono",children:[P,"=",u]},P))})}function Ps(){const t=Te(),m=Re(),P=Le(),{toast:u}=He(),ke=$e(),r=t.clusterCode||"",n=t.namespace||"",l=t.name||"",p=P.pathname.includes("/DaemonSet/")?"DaemonSet":"StatefulSet",T=t.mode==="yaml"?"yaml":"view",[N,ue]=d.useState(null),[R,be]=d.useState([]),[ge,I]=d.useState(!0),[we,L]=d.useState(!1),[v,F]=d.useState(1),[$,A]=d.useState(!1),[H,J]=d.useState(null),[_,K]=d.useState(null),[je,G]=d.useState(!1),M=d.useCallback(async()=>{I(!0);try{const[s,o]=await Promise.all([U.getResourceYaml(r,n,p.toLowerCase()+"s",l).catch(()=>""),U.getPods(r).catch(()=>[])]);let f=null;if(s&&typeof s=="string")try{f=JSON.parse(s)}catch{f={_raw:s}}else s&&typeof s=="object"&&(f=s);ue(f);const E=(Array.isArray(o)?o:o?.list||o?.data||[]).filter(O=>{const Ue=O.name||O.metadata?.name||"",re=O.namespace||O.namespace_name||"";return Ue.startsWith(l)&&(!re||re===n)});be(E)}catch(s){console.error("load error",s)}finally{I(!1)}},[r,n,l,p]);d.useEffect(()=>{M()},[M]);const Q=s=>{s!==T&&m(`/kubernetes/${r}/namespace/${n}/workload/${s}/${p}/${l}`,{replace:!0})},Pe=async()=>{if(await ke({title:"滚动重启",description:`确认重启 ${p} ${l}?将触发滚动重启。`,confirmText:"重启"})){A(!0);try{p==="StatefulSet"?await U.restartStatefulSet(r,n,l):await U.restartDaemonSet(r,n,l),u({title:"重启指令已下发",description:`${p} 滚动重启已触发`}),setTimeout(M,1e3)}catch(o){u({title:"重启失败",description:o?.message||String(o),variant:"destructive"})}finally{A(!1)}}},Ve=async()=>{A(!0);try{await U.scaleStatefulSet(r,n,l,v),u({title:"扩缩容成功",description:`StatefulSet 副本数已更新为 ${v}`}),L(!1),setTimeout(M,1e3)}catch(s){u({title:"扩缩容失败",description:s?.message||String(s),variant:"destructive"})}finally{A(!1)}},k=N?.spec||{},b=N?.status||{},X=k?.template?.spec?.containers||[],Z=k?.template?.spec?.initContainers||[],z=k.replicas??1,ee=b.readyReplicas??0,We=b.currentReplicas??0,Ne=b.updatedReplicas??0,Y=b.desiredNumberScheduled??0,fe=b.currentNumberScheduled??0,se=b.numberReady??0,ve=b.numberAvailable??0,ye=b.updatedNumberScheduled??0,g=p==="StatefulSet",B=g?ee===z&&z>0:se===Y&&Y>0,a=k.updateStrategy||{},D=a.type||"RollingUpdate",te=k.volumeClaimTemplates||[],Se=k.selector?.matchLabels||{},Ce=N?.metadata?.labels||{},ae=N?.metadata?.annotations||{};return e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:190:5",className:"p-4 space-y-4",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:192:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/kubernetes/WorkloadViewPage.tsx:193:Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{h as t}from"./index-HuRw9UhJ.js";const g={getLatest:()=>t.get("/agent/latest"),getHistory:(e,a=1)=>t.get(`/agent/history/${e}?hours=${a}`),createTask:e=>t.post("/agent/tasks",e),listTasks:e=>t.get("/agent/tasks",e),execCommand:e=>t.post("/agent/exec",e),getAggregate:e=>t.get("/agent/aggregate",e),aggregate:e=>t.post("/agent/aggregate",e),listRules:()=>t.get("/agent/rules"),createRule:e=>t.post("/agent/rules",e),updateRule:(e,a)=>t.put(`/agent/rules/${e}`,a),deleteRule:e=>t.delete(`/agent/rules/${e}`),quickSetup:e=>t.post("/agent/rules/quick-setup",{type:e||"ecs"}),uninstallAgent:e=>t.post("/agent/uninstall",e),batchUninstall:e=>t.post("/agent/batch-uninstall",{server_ids:e}),batchUpgrade:e=>t.post("/agent/batch-upgrade",{server_ids:e}),listAlerts:e=>t.get("/agent/alerts",e),resolveAlert:e=>t.post(`/agent/alerts/${e}/resolve`),getHealthProbes:e=>t.get("/agent/health-probes",e),createHealthProbe:e=>t.post("/agent/health-probes",e),updateHealthProbe:(e,a)=>t.put(`/agent/health-probes/${e}`,a),deleteHealthProbe:e=>t.delete(`/agent/health-probes/${e}`),getPortPolicy:e=>t.get(`/agent/port-policies/${e}`),savePortPolicy:(e,a)=>t.put(`/agent/port-policies/${e}`,a)};export{g as a};
|
||||
@@ -0,0 +1,4 @@
|
||||
import{h as o,a3 as h}from"./index-HuRw9UhJ.js";const C={getConfig:()=>o.get("/aiops/llm-config"),saveConfig:e=>o.put("/aiops/llm-config",e),testConnection:()=>o.post("/aiops/llm-config/test"),chat:(e,s)=>o.post("/aiops/chat",{messages:e,session_id:s||""}),chatStream:async(e,s,d,g)=>{const c=h.getState().token,n=await fetch("/api/v1/aiops/chat/stream",{method:"POST",headers:{"Content-Type":"application/json",...c?{Authorization:`Bearer ${c}`}:{}},body:JSON.stringify({messages:e,session_id:g||""}),signal:d});if(n.status===401)throw h.getState().logout(),window.location.href="/login",new Error("登录已过期,请重新登录");if(!n.body)throw new Error("流式响应不可用");const m=n.body.getReader(),u=new TextDecoder("utf-8");let r="",f="";for(;;){const{done:w,value:y}=await m.read();if(w)break;r+=u.decode(y,{stream:!0});const p=r.split(`
|
||||
|
||||
`);r=p.pop()??"";for(const S of p){const b=S.split(`
|
||||
`);let a="message",l=[];for(const t of b)t.startsWith("event:")?a=t.slice(6).trim():t.startsWith("data:")&&l.push(t.slice(5).trim());const i=l.join("");if(i){if(a==="error")try{const t=JSON.parse(i);throw new Error(t.message||"LLM 流式响应错误")}catch(t){throw t instanceof Error&&t.message?t:new Error("LLM 流式响应错误")}if(a!=="done")try{const t=JSON.parse(i);typeof t.content=="string"&&(f+=t.content,s(t.content))}catch{}}}}return f},getHistory:e=>{const s=e?`?session_id=${encodeURIComponent(e)}`:"";return o.get(`/aiops/chat-history${s}`)},clearHistory:()=>o.delete("/aiops/chat-history")};export{C as a};
|
||||
@@ -0,0 +1 @@
|
||||
import{h as e}from"./index-HuRw9UhJ.js";const a={getAlerts:async t=>e.get("/alerts",t),getRules:async()=>e.get("/alerts/rules"),createRule:async t=>e.post("/alerts/rules",t),updateRule:async(t,r)=>e.put(`/alerts/rules/${t}`,r),deleteRule:async t=>e.delete(`/alerts/rules/${t}`),batchDeleteRules:async t=>e.delete("/alerts/rules/batch-delete",{ids:t}),toggleRule:async t=>e.post(`/alerts/rules/${t}/toggle`),acknowledge:async t=>e.post(`/alerts/${t}/ack`),getNotifyChannels:async()=>e.get("/alerts/notify-channels"),createNotifyChannel:async t=>e.post("/alerts/notify-channels",t),updateNotifyChannel:async(t,r)=>e.put(`/alerts/notify-channels/${t}`,r),deleteNotifyChannel:async t=>e.delete(`/alerts/notify-channels/${t}`),testNotifyChannel:async t=>e.post(`/alerts/notify-channels/${t}/test`),getContacts:async()=>e.get("/alerts/contacts"),createContact:async t=>e.post("/alerts/contacts",t),updateContact:async(t,r)=>e.put(`/alerts/contacts/${t}`,r),deleteContact:async t=>e.delete(`/alerts/contacts/${t}`),getContactGroups:async()=>e.get("/alerts/contact-groups"),createContactGroup:async t=>e.post("/alerts/contact-groups",t),updateContactGroup:async(t,r)=>e.put(`/alerts/contact-groups/${t}`,r),deleteContactGroup:async t=>e.delete(`/alerts/contact-groups/${t}`)};export{a};
|
||||
@@ -0,0 +1 @@
|
||||
import{h as t}from"./index-HuRw9UhJ.js";const l={getAlerts:async e=>t.get("/alerts",e),getRules:async()=>t.get("/alerts/rules"),getChannels:async()=>t.get("/alerts/notify-channels"),acknowledge:async e=>t.post(`/alerts/${e}/ack`),resolve:async e=>t.post(`/alerts/${e}/ack`),getSilences:async e=>t.get("/alerts/silences",e),createSilence:async e=>t.post("/alerts/silences",e),updateSilence:async(e,s)=>t.put(`/alerts/silences/${e}`,s),deleteSilence:async e=>t.delete(`/alerts/silences/${e}`),toggleSilence:async e=>t.post(`/alerts/silences/${e}/toggle`),toggleRule:async e=>t.post(`/alerts/rules/${e}/toggle`),createRule:async e=>t.post("/alerts/rules",e),deleteRule:async e=>t.delete(`/alerts/rules/${e}`),quickSetup:async(e="ecs")=>t.post("/alerts/quick-setup",{type:e})};export{l as a};
|
||||
@@ -0,0 +1 @@
|
||||
import{h as a}from"./index-HuRw9UhJ.js";const t={list:async e=>a.get("/approval-workflows",e),get:async e=>a.get(`/approval-workflows/${e}`),create:async e=>a.post("/approval-workflows",e),update:async(e,s)=>a.put(`/approval-workflows/${e}`,s),delete:async e=>a.delete(`/approval-workflows/${e}`),setDefault:async e=>a.put(`/approval-workflows/${e}/default`),getSteps:async e=>a.get(`/approval-workflows/${e}/steps`)},o={getTemplates:async e=>a.get("/approvals/templates",e),getTemplate:async e=>a.get(`/approvals/templates/${e}`),createTemplate:async e=>a.post("/approvals/templates",e),updateTemplate:async(e,s)=>a.put(`/approvals/templates/${e}`,s),deleteTemplate:async e=>a.delete(`/approvals/templates/${e}`),getProcesses:async e=>a.get("/approvals/processes",e),createProcess:async e=>a.post("/approvals/processes",e),approveProcess:async(e,s)=>a.post(`/approvals/processes/${e}/approve`,{comment:s}),rejectProcess:async(e,s)=>a.post(`/approvals/processes/${e}/reject`,{comment:s})};export{t as a,o as b};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as o}from"./index-HuRw9UhJ.js";const e=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],r=o("arrow-left",e);export{r as A};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as o}from"./index-HuRw9UhJ.js";const r=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],a=o("arrow-right",r);export{a as A};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as o}from"./index-HuRw9UhJ.js";const r=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],t=o("arrow-down",r);const a=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],c=o("arrow-up",a);export{c as A,t as a};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as o}from"./index-HuRw9UhJ.js";const e=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],a=o("arrow-up-down",e);export{a as A};
|
||||
@@ -0,0 +1 @@
|
||||
import{h as e}from"./index-HuRw9UhJ.js";const c={getJobs:async t=>e.get("/cron-jobs",t),getJob:async t=>e.get(`/cron-jobs/${t}`),createJob:async t=>e.post("/cron-jobs",t),updateJob:async(t,r)=>e.put(`/cron-jobs/${t}`,r),deleteJob:async t=>e.delete(`/cron-jobs/${t}`),toggleJob:async t=>e.post(`/cron-jobs/${t}/toggle`),executeJob:async t=>e.post(`/cron-jobs/${t}/execute`),batchDelete:async t=>e.delete("/cron-jobs/batch-delete",{ids:t})},n={getScripts:async t=>e.get("/scripts",t),getScript:async t=>e.get(`/scripts/${t}`),createScript:async t=>e.post("/scripts",t),updateScript:async(t,r)=>e.put(`/scripts/${t}`,r),deleteScript:async t=>e.delete(`/scripts/${t}`),batchDelete:async t=>e.post("/scripts/batch-delete",{ids:t}),executeScript:async t=>e.post(`/scripts/${t}/execute`)},o={getExecutions:async t=>e.get("/task-executions",t)};export{c,n as s,o as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{j as n,a1 as s,a0 as o,a2 as d}from"./index-HuRw9UhJ.js";const c=d("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function v({className:e,variant:r,asChild:t=!1,...a}){const i=t?s:"span";return n.jsx(i,{"code-path":"src/components/ui/badge.tsx:38:5","data-slot":"badge",className:o(c({variant:r}),e),...a})}export{v as B};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as a}from"./index-HuRw9UhJ.js";const o=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],e=a("box",o);export{e as B};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as e}from"./index-HuRw9UhJ.js";const t=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],c=e("calendar",t);export{c as C};
|
||||
@@ -0,0 +1 @@
|
||||
import{j as r,a0 as s}from"./index-HuRw9UhJ.js";function d({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:7:5","data-slot":"card",className:s("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a),...t})}function e({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:20:5","data-slot":"card-header",className:s("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a),...t})}function c({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:33:5","data-slot":"card-title",className:s("leading-none font-semibold",a),...t})}function n({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:43:5","data-slot":"card-description",className:s("text-muted-foreground text-sm",a),...t})}function i({className:a,...t}){return r.jsx("div",{"code-path":"src/components/ui/card.tsx:66:5","data-slot":"card-content",className:s("px-6",a),...t})}export{d as C,i as a,e as b,c,n as d};
|
||||
@@ -0,0 +1 @@
|
||||
import{r as i,j as o,ah as F,ai as L,aj as _,ak as H,al as N,am as j,an as G,a0 as K,O as U}from"./index-HuRw9UhJ.js";import{u as X}from"./index-DwvHXNyF.js";var y="Checkbox",[$]=F(y),[J,I]=$(y);function Q(t){const{__scopeCheckbox:n,checked:c,children:l,defaultChecked:a,disabled:e,form:h,name:b,onCheckedChange:d,required:k,value:x="on",internal_do_not_use_render:u}=t,[p,v]=H({prop:c,defaultProp:a??!1,onChange:d,caller:y}),[m,C]=i.useState(null),[g,r]=i.useState(null),s=i.useRef(!1),E=m?!!h||!!m.closest("form"):!0,R={checked:p,disabled:e,setChecked:v,control:m,setControl:C,name:b,form:h,value:x,hasConsumerStoppedPropagationRef:s,required:k,defaultChecked:f(a)?!1:a,isFormControl:E,bubbleInput:g,setBubbleInput:r};return o.jsx(J,{scope:n,...R,children:V(u)?u(R):l})}var w="CheckboxTrigger",S=i.forwardRef(({__scopeCheckbox:t,onKeyDown:n,onClick:c,...l},a)=>{const{control:e,value:h,disabled:b,checked:d,required:k,setControl:x,setChecked:u,hasConsumerStoppedPropagationRef:p,isFormControl:v,bubbleInput:m}=I(w,t),C=N(a,x),g=i.useRef(d);return i.useEffect(()=>{const r=e?.form;if(r){const s=()=>u(g.current);return r.addEventListener("reset",s),()=>r.removeEventListener("reset",s)}},[e,u]),o.jsx(_.button,{type:"button",role:"checkbox","aria-checked":f(d)?"mixed":d,"aria-required":k,"data-state":O(d),"data-disabled":b?"":void 0,disabled:b,value:h,...l,ref:C,onKeyDown:j(n,r=>{r.key==="Enter"&&r.preventDefault()}),onClick:j(c,r=>{u(s=>f(s)?!0:!s),m&&v&&(p.current=r.isPropagationStopped(),p.current||r.stopPropagation())})})});S.displayName=w;var B=i.forwardRef((t,n)=>{const{__scopeCheckbox:c,name:l,checked:a,defaultChecked:e,required:h,disabled:b,value:d,onCheckedChange:k,form:x,...u}=t;return o.jsx(Q,{__scopeCheckbox:c,checked:a,defaultChecked:e,disabled:b,required:h,onCheckedChange:k,name:l,form:x,value:d,internal_do_not_use_render:({isFormControl:p})=>o.jsxs(o.Fragment,{children:[o.jsx(S,{...u,ref:n,__scopeCheckbox:c}),p&&o.jsx(A,{__scopeCheckbox:c})]})})});B.displayName=y;var M="CheckboxIndicator",T=i.forwardRef((t,n)=>{const{__scopeCheckbox:c,forceMount:l,...a}=t,e=I(M,c);return o.jsx(L,{present:l||f(e.checked)||e.checked===!0,children:o.jsx(_.span,{"data-state":O(e.checked),"data-disabled":e.disabled?"":void 0,...a,ref:n,style:{pointerEvents:"none",...t.style}})})});T.displayName=M;var q="CheckboxBubbleInput",A=i.forwardRef(({__scopeCheckbox:t,...n},c)=>{const{control:l,hasConsumerStoppedPropagationRef:a,checked:e,defaultChecked:h,required:b,disabled:d,name:k,value:x,form:u,bubbleInput:p,setBubbleInput:v}=I(q,t),m=N(c,v),C=X(e),g=G(l);i.useEffect(()=>{const s=p;if(!s)return;const E=window.HTMLInputElement.prototype,P=Object.getOwnPropertyDescriptor(E,"checked").set,z=!a.current;if(C!==e&&P){const D=new Event("click",{bubbles:z});s.indeterminate=f(e),P.call(s,f(e)?!1:e),s.dispatchEvent(D)}},[p,C,e,a]);const r=i.useRef(f(e)?!1:e);return o.jsx(_.input,{type:"checkbox","aria-hidden":!0,defaultChecked:h??r.current,required:b,disabled:d,name:k,value:x,form:u,...n,tabIndex:-1,ref:m,style:{...n.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});A.displayName=q;function V(t){return typeof t=="function"}function f(t){return t==="indeterminate"}function O(t){return f(t)?"indeterminate":t?"checked":"unchecked"}function Z({className:t,...n}){return o.jsx(B,{"code-path":"src/components/ui/checkbox.tsx:14:5","data-slot":"checkbox",className:K("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...n,children:o.jsx(T,{"code-path":"src/components/ui/checkbox.tsx:22:7","data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:o.jsx(U,{"code-path":"src/components/ui/checkbox.tsx:26:9",className:"size-3.5"})})})}export{Z as C};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as o}from"./index-HuRw9UhJ.js";const e=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],n=o("chevron-up",e);export{n as C};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as c}from"./index-HuRw9UhJ.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],r=c("circle",e);export{r as C};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as c}from"./index-HuRw9UhJ.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],r=c("circle-check",e);export{r as C};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as c}from"./index-HuRw9UhJ.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],r=c("circle-stop",e);export{r as C};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as c}from"./index-HuRw9UhJ.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],i=c("circle-x",e);export{i as C};
|
||||
@@ -0,0 +1 @@
|
||||
import{h as e}from"./index-HuRw9UhJ.js";const c={getAccounts:async()=>e.get("/cloud-accounts"),createAccount:async t=>e.post("/cloud-accounts",t),updateAccount:async(t,n)=>e.put(`/cloud-accounts/${t}`,n),deleteAccount:async t=>e.delete(`/cloud-accounts/${t}`),syncRegions:async t=>e.post(`/cloud-accounts/${t}/sync-regions`),getAccountRegions:async t=>e.get(`/cloud-accounts/${t}/regions`),discoverInstances:async(t,n)=>e.post(`/cloud-accounts/${t}/discover-instances`,{regions:n}),importInstances:async(t,n,s)=>e.post(`/cloud-accounts/${t}/import-instances`,{instances:n,...s}),getDomains:async t=>e.get("/domains",t),createDomain:async t=>e.post("/domains",t),updateDomain:async(t,n)=>e.put(`/domains/${t}`,n),deleteDomain:async t=>e.delete(`/domains/${t}`)},a={list:async()=>e.get("/platforms"),create:async t=>e.post("/platforms",t),update:async(t,n)=>e.put(`/platforms/${t}`,n),delete:async t=>e.delete(`/platforms/${t}`)},l={getStats:async()=>e.get("/cloud-billings/stats"),list:async t=>e.get("/cloud-billings",t),create:async t=>e.post("/cloud-billings",t),batchCreate:async t=>e.post("/cloud-billings/batch",{records:t}),remove:async t=>e.delete(`/cloud-billings/${t}`),getProviders:async()=>e.get("/cloud-billings/providers"),listAlertRules:async()=>e.get("/billing-alerts"),createAlertRule:async t=>e.post("/billing-alerts",t),updateAlertRule:async(t,n)=>e.put(`/billing-alerts/${t}`,n),deleteAlertRule:async t=>e.delete(`/billing-alerts/${t}`),toggleAlertRule:async t=>e.post(`/billing-alerts/${t}/toggle`)};export{l as b,c,a as p};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as o}from"./index-HuRw9UhJ.js";const e=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],c=o("code",e);export{c as C};
|
||||
@@ -0,0 +1 @@
|
||||
import{h as o}from"./index-HuRw9UhJ.js";const p={getRepos:()=>o.get("/deploy/repos"),getRepo:e=>o.get(`/deploy/repos/${e}`),createRepo:e=>o.post("/deploy/repos",e),updateRepo:(e,t)=>o.put(`/deploy/repos/${e}`,t),deleteRepo:e=>o.delete(`/deploy/repos/${e}`),getRegistries:()=>o.get("/deploy/registries"),getRegistry:e=>o.get(`/deploy/registries/${e}`),createRegistry:e=>o.post("/deploy/registries",e),updateRegistry:(e,t)=>o.put(`/deploy/registries/${e}`,t),deleteRegistry:e=>o.delete(`/deploy/registries/${e}`),getEnvironments:()=>o.get("/deploy/environments"),createEnvironment:e=>o.post("/deploy/environments",e),updateEnvironment:(e,t)=>o.put(`/deploy/environments/${e}`,t),deleteEnvironment:e=>o.delete(`/deploy/environments/${e}`),getItemRoles:()=>o.get("/admin/item-roles"),createItemRole:e=>o.post("/admin/item-roles",e),updateItemRole:(e,t)=>o.put(`/admin/item-roles/${e}`,t),deleteItemRole:e=>o.delete(`/admin/item-roles/${e}`),getUserItemRoles:e=>o.get(`/admin/users/${e}/item-roles`),assignItemRole:(e,t)=>o.post(`/admin/users/${e}/item-roles`,t),removeItemRole:(e,t)=>o.delete(`/admin/users/${e}/item-roles/${t}`),getGroups:()=>o.get("/deploy/groups"),createGroup:e=>o.post("/deploy/groups",e),updateGroup:(e,t)=>o.put(`/deploy/groups/${e}`,t),deleteGroup:e=>o.delete(`/deploy/groups/${e}`),getGroupMembers:e=>o.get(`/deploy/groups/${e}/members`),addGroupMember:(e,t)=>o.post(`/deploy/groups/${e}/members`,t),removeGroupMember:(e,t)=>o.delete(`/deploy/groups/${e}/members/${t}`),getTools:()=>o.get("/deploy/tools"),getTool:e=>o.get(`/deploy/tools/${e}`),updateTool:(e,t)=>o.put(`/deploy/tools/${e}`,t),installTool:(e,t)=>o.post(`/deploy/tools/${e}/install`,t?{version:t}:{}),checkTool:e=>o.post(`/deploy/tools/${e}/check`),getToolVersions:e=>o.get(`/deploy/tools/${e}/versions`)};export{p as d};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as c}from"./index-HuRw9UhJ.js";const e=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],t=c("copy",e);export{t as C};
|
||||
@@ -0,0 +1 @@
|
||||
import{h as t}from"./index-HuRw9UhJ.js";const a={list:e=>t.get("/credentials",e),get:e=>t.get(`/credentials/${e}`),create:e=>t.post("/credentials",e),update:(e,s)=>t.put(`/credentials/${e}`,s),delete:e=>t.delete(`/credentials/${e}`),toggleActive:(e,s)=>t.put(`/credentials/${e}`,{is_active:s})},r={assign:(e,s)=>t.post(`/servers/${e}/assign-credential`,{credential_id:s})};export{a as c,r as s};
|
||||
@@ -0,0 +1 @@
|
||||
import{h as t}from"./index-HuRw9UhJ.js";const a={getStats:async()=>t.get("/dashboard/stats"),getAlerts:async e=>t.get("/dashboard/recent-alerts",e?{limit:e}:void 0),getReleases:async e=>t.get("/dashboard/recent-releases",e?{limit:e}:void 0),getMetrics:async e=>t.get("/dashboard/metrics",e?{hours:e}:void 0)};export{a as d};
|
||||
@@ -0,0 +1 @@
|
||||
import{h as e}from"./index-HuRw9UhJ.js";const o={list:()=>e.get("/prometheus-datasources"),get:t=>e.get(`/prometheus-datasources/${t}`),create:t=>e.post("/prometheus-datasources",t),update:(t,s)=>e.put(`/prometheus-datasources/${t}`,s),delete:t=>e.delete(`/prometheus-datasources/${t}`),setDefault:t=>e.post(`/prometheus-datasources/${t}/default`),testConnection:t=>e.post("/prometheus-datasources/test",t)},u={list:()=>e.get("/zabbix-datasources"),get:t=>e.get(`/zabbix-datasources/${t}`),create:t=>e.post("/zabbix-datasources",t),update:(t,s)=>e.put(`/zabbix-datasources/${t}`,s),delete:t=>e.delete(`/zabbix-datasources/${t}`),setDefault:t=>e.post(`/zabbix-datasources/${t}/default`),testConnection:t=>e.post("/zabbix-datasources/test",t)};export{o as p,u as z};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as c}from"./index-HuRw9UhJ.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]],o=c("disc",e);export{o as D};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as o}from"./index-HuRw9UhJ.js";const a=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],e=o("download",a);export{e as D};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as c}from"./index-HuRw9UhJ.js";const i=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],r=c("ellipsis",i);export{r as E};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as a}from"./index-HuRw9UhJ.js";const e=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],n=a("external-link",e);export{n as E};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as e}from"./index-HuRw9UhJ.js";const a=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],o=e("file-text",a);export{o as F};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as a}from"./index-HuRw9UhJ.js";const o=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],c=a("file",o);const e=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],d=a("folder",e);export{d as F,c as a};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as a}from"./index-HuRw9UhJ.js";const o=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],c=a("folder-open",o);export{c as F};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as e}from"./index-HuRw9UhJ.js";const n=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],a=e("funnel",n);export{a as F};
|
||||
@@ -0,0 +1,61 @@
|
||||
import{bf as Gn,bc as ue,r as N,ag as te,af as T}from"./index-HuRw9UhJ.js";var ka,ih;function Re(){if(ih)return ka;ih=1;var e=Array.isArray;return ka=e,ka}var Da,ah;function qm(){if(ah)return Da;ah=1;var e=typeof Gn=="object"&&Gn&&Gn.Object===Object&&Gn;return Da=e,Da}var Na,oh;function it(){if(oh)return Na;oh=1;var e=qm(),t=typeof self=="object"&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return Na=r,Na}var qa,uh;function Dn(){if(uh)return qa;uh=1;var e=it(),t=e.Symbol;return qa=t,qa}var Ba,ch;function Vx(){if(ch)return Ba;ch=1;var e=Dn(),t=Object.prototype,r=t.hasOwnProperty,n=t.toString,i=e?e.toStringTag:void 0;function a(o){var u=r.call(o,i),c=o[i];try{o[i]=void 0;var s=!0}catch{}var f=n.call(o);return s&&(u?o[i]=c:delete o[i]),f}return Ba=a,Ba}var La,sh;function Yx(){if(sh)return La;sh=1;var e=Object.prototype,t=e.toString;function r(n){return t.call(n)}return La=r,La}var Fa,lh;function gt(){if(lh)return Fa;lh=1;var e=Dn(),t=Vx(),r=Yx(),n="[object Null]",i="[object Undefined]",a=e?e.toStringTag:void 0;function o(u){return u==null?u===void 0?i:n:a&&a in Object(u)?t(u):r(u)}return Fa=o,Fa}var Ua,fh;function mt(){if(fh)return Ua;fh=1;function e(t){return t!=null&&typeof t=="object"}return Ua=e,Ua}var Wa,hh;function Cr(){if(hh)return Wa;hh=1;var e=gt(),t=mt(),r="[object Symbol]";function n(i){return typeof i=="symbol"||t(i)&&e(i)==r}return Wa=n,Wa}var za,ph;function Zl(){if(ph)return za;ph=1;var e=Re(),t=Cr(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function i(a,o){if(e(a))return!1;var u=typeof a;return u=="number"||u=="symbol"||u=="boolean"||a==null||t(a)?!0:n.test(a)||!r.test(a)||o!=null&&a in Object(o)}return za=i,za}var Ha,dh;function Pt(){if(dh)return Ha;dh=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return Ha=e,Ha}var Ga,vh;function Jl(){if(vh)return Ga;vh=1;var e=gt(),t=Pt(),r="[object AsyncFunction]",n="[object Function]",i="[object GeneratorFunction]",a="[object Proxy]";function o(u){if(!t(u))return!1;var c=e(u);return c==n||c==i||c==r||c==a}return Ga=o,Ga}var Ka,yh;function Zx(){if(yh)return Ka;yh=1;var e=it(),t=e["__core-js_shared__"];return Ka=t,Ka}var Xa,gh;function Jx(){if(gh)return Xa;gh=1;var e=Zx(),t=(function(){var n=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""})();function r(n){return!!t&&t in n}return Xa=r,Xa}var Va,mh;function Bm(){if(mh)return Va;mh=1;var e=Function.prototype,t=e.toString;function r(n){if(n!=null){try{return t.call(n)}catch{}try{return n+""}catch{}}return""}return Va=r,Va}var Ya,bh;function Qx(){if(bh)return Ya;bh=1;var e=Jl(),t=Jx(),r=Pt(),n=Bm(),i=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,o=Function.prototype,u=Object.prototype,c=o.toString,s=u.hasOwnProperty,f=RegExp("^"+c.call(s).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function l(h){if(!r(h)||t(h))return!1;var d=e(h)?f:a;return d.test(n(h))}return Ya=l,Ya}var Za,xh;function ew(){if(xh)return Za;xh=1;function e(t,r){return t?.[r]}return Za=e,Za}var Ja,wh;function Xt(){if(wh)return Ja;wh=1;var e=Qx(),t=ew();function r(n,i){var a=t(n,i);return e(a)?a:void 0}return Ja=r,Ja}var Qa,Oh;function ra(){if(Oh)return Qa;Oh=1;var e=Xt(),t=e(Object,"create");return Qa=t,Qa}var eo,_h;function tw(){if(_h)return eo;_h=1;var e=ra();function t(){this.__data__=e?e(null):{},this.size=0}return eo=t,eo}var to,Sh;function rw(){if(Sh)return to;Sh=1;function e(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}return to=e,to}var ro,Ah;function nw(){if(Ah)return ro;Ah=1;var e=ra(),t="__lodash_hash_undefined__",r=Object.prototype,n=r.hasOwnProperty;function i(a){var o=this.__data__;if(e){var u=o[a];return u===t?void 0:u}return n.call(o,a)?o[a]:void 0}return ro=i,ro}var no,Ph;function iw(){if(Ph)return no;Ph=1;var e=ra(),t=Object.prototype,r=t.hasOwnProperty;function n(i){var a=this.__data__;return e?a[i]!==void 0:r.call(a,i)}return no=n,no}var io,Th;function aw(){if(Th)return io;Th=1;var e=ra(),t="__lodash_hash_undefined__";function r(n,i){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=e&&i===void 0?t:i,this}return io=r,io}var ao,Eh;function ow(){if(Eh)return ao;Eh=1;var e=tw(),t=rw(),r=nw(),n=iw(),i=aw();function a(o){var u=-1,c=o==null?0:o.length;for(this.clear();++u<c;){var s=o[u];this.set(s[0],s[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=r,a.prototype.has=n,a.prototype.set=i,ao=a,ao}var oo,jh;function uw(){if(jh)return oo;jh=1;function e(){this.__data__=[],this.size=0}return oo=e,oo}var uo,Mh;function Ql(){if(Mh)return uo;Mh=1;function e(t,r){return t===r||t!==t&&r!==r}return uo=e,uo}var co,Ch;function na(){if(Ch)return co;Ch=1;var e=Ql();function t(r,n){for(var i=r.length;i--;)if(e(r[i][0],n))return i;return-1}return co=t,co}var so,$h;function cw(){if($h)return so;$h=1;var e=na(),t=Array.prototype,r=t.splice;function n(i){var a=this.__data__,o=e(a,i);if(o<0)return!1;var u=a.length-1;return o==u?a.pop()Line truncated
|
||||
A`).concat(o,",").concat(o,",0,1,1,").concat(2*u,",").concat(a,`
|
||||
H`).concat(Fe,"M").concat(2*u,",").concat(a,`
|
||||
A`).concat(o,",").concat(o,",0,1,1,").concat(u,",").concat(a),className:"recharts-legend-icon"});if(n.type==="rect")return T.createElement("path",{stroke:"none",fill:c,d:"M0,".concat(Fe/8,"h").concat(Fe,"v").concat(Fe*3/4,"h").concat(-Fe,"z"),className:"recharts-legend-icon"});if(T.isValidElement(n.legendIcon)){var s=QO({},n);return delete s.legendIcon,T.cloneElement(n.legendIcon,s)}return T.createElement(lf,{fill:c,cx:a,cy:a,size:Fe,sizeType:"diameter",type:n.type})}},{key:"renderItems",value:function(){var n=this,i=this.props,a=i.payload,o=i.iconSize,u=i.layout,c=i.formatter,s=i.inactiveColor,f={x:0,y:0,width:Fe,height:Fe},l={display:u==="horizontal"?"inline-block":"block",marginRight:10},h={display:"inline-block",verticalAlign:"middle",marginRight:4};return a.map(function(d,g){var v=d.formatter||c,p=te(tn(tn({"recharts-legend-item":!0},"legend-item-".concat(g),!0),"inactive",d.inactive));if(d.type==="none")return null;var m=Y(d.value)?null:d.value;ht(!Y(d.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: <Bar name="Name of my Data"/>`);var x=d.inactive?s:d.color;return T.createElement("li",Ks({className:p,style:l,key:"legend-item-".concat(g)},ci(n.props,d,g)),T.createElement(Ls,{width:o,height:o,viewBox:f,style:h},n.renderIcon(d)),T.createElement("span",{className:"recharts-legend-item-text",style:{color:x}},v?v(m,d,g):m))})}},{key:"render",value:function(){var n=this.props,i=n.payload,a=n.layout,o=n.align;if(!i||!i.length)return null;var u={padding:0,margin:0,textAlign:a==="horizontal"?o:"left"};return T.createElement("ul",{className:"recharts-default-legend",style:u},this.renderItems())}}])})(N.PureComponent);tn(ff,"displayName","Legend");tn(ff,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var Zo,Mp;function c1(){if(Mp)return Zo;Mp=1;var e=ia();function t(){this.__data__=new e,this.size=0}return Zo=t,Zo}var Jo,Cp;function s1(){if(Cp)return Jo;Cp=1;function e(t){var r=this.__data__,n=r.delete(t);return this.size=r.size,n}return Jo=e,Jo}var Qo,$p;function l1(){if($p)return Qo;$p=1;function e(t){return this.__data__.get(t)}return Qo=e,Qo}var eu,Ip;function f1(){if(Ip)return eu;Ip=1;function e(t){return this.__data__.has(t)}return eu=e,eu}var tu,Rp;function h1(){if(Rp)return tu;Rp=1;var e=ia(),t=ef(),r=tf(),n=200;function i(a,o){var u=this.__data__;if(u instanceof e){var c=u.__data__;if(!t||c.length<n-1)return c.push([a,o]),this.size=++u.size,this;u=this.__data__=new r(c)}return u.set(a,o),this.size=u.size,this}return tu=i,tu}var ru,kp;function fb(){if(kp)return ru;kp=1;var e=ia(),t=c1(),r=s1(),n=l1(),i=f1(),a=h1();function o(u){var c=this.__data__=new e(u);this.size=c.size}return o.prototype.clear=t,o.prototype.delete=r,o.prototype.get=n,o.prototype.has=i,o.prototype.set=a,ru=o,ru}var nu,Dp;function p1(){if(Dp)return nu;Dp=1;var e="__lodash_hash_undefined__";function t(r){return this.__data__.set(r,e),this}return nu=t,nu}var iu,Np;function d1(){if(Np)return iu;Np=1;function e(t){return this.__data__.has(t)}return iu=e,iu}var au,qp;function hb(){if(qp)return au;qp=1;var e=tf(),t=p1(),r=d1();function n(i){var a=-1,o=i==null?0:i.length;for(this.__data__=new e;++a<o;)this.add(i[a])}return n.prototype.add=n.prototype.push=t,n.prototype.has=r,au=n,au}var ou,Bp;function pb(){if(Bp)return ou;Bp=1;function e(t,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(t[n],n,t))return!0;return!1}return ou=e,ou}var uu,Lp;function db(){if(Lp)return uu;Lp=1;function e(t,r){return t.has(r)}return uu=e,uu}var cu,Fp;function vb(){if(Fp)return cu;Fp=1;var e=hb(),t=pb(),r=db(),n=1,i=2;function a(o,u,c,s,f,l){var h=c&n,d=o.length,g=u.length;if(d!=g&&!(h&&g>d))return!1;var v=l.get(o),p=l.get(u);if(v&&p)return v==u&&p==o;var m=-1,x=!0,w=c&i?new e:void 0;for(l.set(o,u),l.set(u,o);++m<d;){var O=o[m],y=u[m];if(s)var b=h?s(y,O,m,u,o,l):s(O,y,m,o,u,l);if(b!==void 0){if(b)continue;x=!1;break}if(w){if(!t(u,function(_,S){if(!r(w,S)&&(O===_||f(O,_,c,s,l)))return w.push(S)})){x=!1;break}}else if(!(O===y||f(O,y,c,s,l))){x=!1;break}}return l.delete(o),l.delete(u),x}return cu=a,cu}var su,Up;function v1(){if(Up)return su;Up=1;var e=it(),t=e.Uint8Array;return su=t,su}var lu,Wp;function y1(){if(Wp)return lu;Wp=1;function e(t){var r=-1,n=Array(t.size);return t.forEach(function(i,a){n[++r]=[a,i]}),n}return lu=e,lu}var fu,zp;function hf(){if(zp)return fu;zp=1;function e(t){var r=-1,n=Array(t.size);return t.forEach(function(i){n[++r]=i}),n}return fu=e,fu}var hu,Hp;function g1(){if(Hp)return hu;Hp=1;var e=Dn(),t=v1(),r=Ql(),n=vb(),i=y1(),a=hf(),o=1,u=2,c="[object Boolean]",s="[object Date]",f="[object Error]",l="[object Map]",h="[object Number]",d="[object RegExp]",g="[object Set]",v="[object String]",p="[object Symbol]",m="[object ArrayBuffer]",x="[object DataView]",w=e?e.prototype:void 0,O=w?w.valueOf:void 0;function y(b,_,S,P,M,A,E){switch(S){case x:if(b.byteLength!=_.byteLength||b.byteOffset!=_.byteOffset)re
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function k_(e,t){if(e){if(typeof e=="string")return xv(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return xv(e,t)}}function xv(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function D_(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function N_(e){if(Array.isArray(e))return e}function wv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function kc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?wv(Object(r),!0).forEach(function(n){q_(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wv(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function q_(e,t,r){return t=B_(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function B_(e){var t=L_(e,"string");return rn(t)=="symbol"?t:t+""}function L_(e,t){if(rn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(rn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function F_(e){return Array.isArray(e)&&xe(e[0])&&xe(e[1])?e.join(" ~ "):e}var U_=function(t){var r=t.separator,n=r===void 0?" : ":r,i=t.contentStyle,a=i===void 0?{}:i,o=t.itemStyle,u=o===void 0?{}:o,c=t.labelStyle,s=c===void 0?{}:c,f=t.payload,l=t.formatter,h=t.itemSorter,d=t.wrapperClassName,g=t.labelClassName,v=t.label,p=t.labelFormatter,m=t.accessibilityLayer,x=m===void 0?!1:m,w=function(){if(f&&f.length){var E={padding:0,margin:0},j=(h?mf(f,h):f).map(function(I,$){if(I.type==="none")return null;var R=kc({display:"block",paddingTop:4,paddingBottom:4,color:I.color||"#000"},u),D=I.formatter||l||F_,B=I.value,L=I.name,z=B,G=L;if(D&&z!=null&&G!=null){var U=D(B,L,I,$,f);if(Array.isArray(U)){var K=I_(U,2);z=K[0],G=K[1]}else z=U}return T.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat($),style:R},xe(G)?T.createElement("span",{className:"recharts-tooltip-item-name"},G):null,xe(G)?T.createElement("span",{className:"recharts-tooltip-item-separator"},n):null,T.createElement("span",{className:"recharts-tooltip-item-value"},z),T.createElement("span",{className:"recharts-tooltip-item-unit"},I.unit||""))});return T.createElement("ul",{className:"recharts-tooltip-item-list",style:E},j)}return null},O=kc({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},a),y=kc({margin:0},s),b=!Z(v),_=b?v:"",S=te("recharts-default-tooltip",d),P=te("recharts-tooltip-label",g);b&&p&&f!==void 0&&f!==null&&(_=p(v,f));var M=x?{role:"status","aria-live":"assertive"}:{};return T.createElement("div",Ys({className:S,style:O},M),T.createElement("p",{className:P,style:y},T.isValidElement(_)?_:"".concat(_)),w())};function nn(e){"@babel/helpers - typeof";return nn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nn(e)}function Xn(e,t,r){return t=W_(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function W_(e){var t=z_(e,"string");return nn(t)=="symbol"?t:t+""}function z_(e,t){if(nn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(nn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var qr="recharts-tooltip-wrapper",H_={visibility:"hidden"};function G_(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return te(qr,Xn(Xn(Xn(Xn({},"".concat(qr,"-right"),q(r)&&t&&q(t.x)&&r>=t.x),"".concat(qr,"-left"),q(r)&&t&&q(t.x)&&r<t.x),"".concat(qr,"-bottom"),q(n)&&t&&q(t.y)&&n>=t.y),"".concat(qr,"-top"),q(n)&&t&&q(t.y)&&n<t.y))}function Ov(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.key,i=e.offsetTopLeft,a=e.position,o=e.reverseDirection,u=e.tooltipDimension,c=e.viewBox,s=e.viewBoxDimension;if(a&&q(a[n]))return a[n];var f=r[n]-u-i,l=r[n]+i;if(t[n])return o[n]?f:l;if(o[n]){var h=f,d=c[n];return h<d?Math.max(l,c[n]):Math.max(f,c[n])}var g=l+u,v=c[n]+s;return g>v?Math.max(f,c[n]):Math.max(l,c[n])}function K_(e){
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function PS(e,t){if(e){if(typeof e=="string")return kv(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kv(e,t)}}function kv(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function TS(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function ES(e){if(Array.isArray(e))return e}var RD=N.forwardRef(function(e,t){var r=e.aspect,n=e.initialDimension,i=n===void 0?{width:-1,height:-1}:n,a=e.width,o=a===void 0?"100%":a,u=e.height,c=u===void 0?"100%":u,s=e.minWidth,f=s===void 0?0:s,l=e.minHeight,h=e.maxHeight,d=e.children,g=e.debounce,v=g===void 0?0:g,p=e.id,m=e.className,x=e.onResize,w=e.style,O=w===void 0?{}:w,y=N.useRef(null),b=N.useRef();b.current=x,N.useImperativeHandle(t,function(){return Object.defineProperty(y.current,"current",{get:function(){return console.warn("The usage of ref.current.current is deprecated and will no longer be supported."),y.current},configurable:!0})});var _=N.useState({containerWidth:i.width,containerHeight:i.height}),S=SS(_,2),P=S[0],M=S[1],A=N.useCallback(function(j,I){M(function($){var R=Math.round(j),D=Math.round(I);return $.containerWidth===R&&$.containerHeight===D?$:{containerWidth:R,containerHeight:D}})},[]);N.useEffect(function(){var j=function(L){var z,G=L[0].contentRect,U=G.width,K=G.height;A(U,K),(z=b.current)===null||z===void 0||z.call(b,U,K)};v>0&&(j=Nb(j,v,{trailing:!0,leading:!1}));var I=new ResizeObserver(j),$=y.current.getBoundingClientRect(),R=$.width,D=$.height;return A(R,D),I.observe(y.current),function(){I.disconnect()}},[A,v]);var E=N.useMemo(function(){var j=P.containerWidth,I=P.containerHeight;if(j<0||I<0)return null;ht(Nt(o)||Nt(c),`The width(%s) and height(%s) are both fixed numbers,
|
||||
maybe you don't need to use a ResponsiveContainer.`,o,c),ht(!r||r>0,"The aspect(%s) must be greater than zero.",r);var $=Nt(o)?j:o,R=Nt(c)?I:c;r&&r>0&&($?R=$/r:R&&($=R*r),h&&R>h&&(R=h)),ht($>0||R>0,`The width(%s) and height(%s) of chart should be greater than 0,
|
||||
please check the style of container, or the props width(%s) and height(%s),
|
||||
or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
|
||||
height and width.`,$,R,o,c,f,l,r);var D=!Array.isArray(d)&&ft(d.type).endsWith("Chart");return T.Children.map(d,function(B){return T.isValidElement(B)?N.cloneElement(B,Vn({width:$,height:R},D?{style:Vn({height:"100%",width:"100%",maxHeight:R,maxWidth:$},B.props.style)}:{})):B})},[r,d,c,h,l,f,P,o]);return T.createElement("div",{id:p?"".concat(p):void 0,className:te("recharts-responsive-container",m),style:Vn(Vn({},O),{},{width:o,height:c,minWidth:f,minHeight:l,maxHeight:h}),ref:y},E)}),qb=function(t){return null};qb.displayName="Cell";function on(e){"@babel/helpers - typeof";return on=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},on(e)}function Dv(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function el(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Dv(Object(r),!0).forEach(function(n){jS(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Dv(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function jS(e,t,r){return t=MS(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function MS(e){var t=CS(e,"string");return on(t)=="symbol"?t:t+""}function CS(e,t){if(on(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(on(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var er={widthCache:{},cacheCount:0},$S=2e3,IS={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},Nv="recharts_measurement_span";function RS(e){var t=el({},e);return Object.keys(t).forEach(function(r){t[r]||delete t[r]}),t}var Yr=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Bn.isSsr)return{width:0,height:0};var n=RS(r),i=JSON.stringify({text:t,copyStyle:n});if(er.widthCache[i])return er.widthCache[i];try{var a=document.getElementById(Nv);a||(a=document.createElement("span"),a.setAttribute("id",Nv),a.setAttribute("aria-hidden","true"),document.body.appendChild(a));var o=el(el({},IS),n);Object.assign(a.style,o),a.textContent="".concat(t);var u=a.getBoundingClientRect(),c={width:u.width,height:u.height};return er.widthCache[i]=c,++er.cacheCount>$S&&(er.cacheCount=0,er.widthCache={}),c}catch{return{width:0,height:0}}},kS=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function un(e){"@babel/helpers - typeof";return un=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},un(e)}function mi(e,t){return BS(e)||qS(e,t)||NS(e,t)||DS()}function DS(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function NS(e,t){if(e){if(typeof e=="string")return qv(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qv(e,t)}}function qv(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function qS(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function BS(e){if(Array.isArray(e))return e}function LS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Bv(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,US(n.key),n)}}function FS(e,t,r){return t&&Bv(e.prototype,t),r&&Bv(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function US(e){var t=WS(e,"string");return un(t)=="symbol"?t:t+""}function WS(e,t){if(un(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(un(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Lv=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,Fv=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,zS=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,HS=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,Bb={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},GS=Object.keys(Bb),nr="NaN";function KS(e,t){return e*Bb[t]}var Yn=(function(){function e(t,r){LS(this,e),this.num=t,this.unit=r,this.num=t,this.unit=r,Number.isNaN(t)&&(this.unit=""),r!==""&&!zS.test(r)&&(this.num=NaN,this.unit=""),GS.includes(r)&&(this.num=KS(t,r),this.unit="px")}return FS(e,[{key:"add",value:function(r){return this.unit!==r.unit?new e(NaN,""):new e(this.num+r.num,this.unit)}},{key:"subtract",value:function(r){return this.unit!==r.unit?new e(NaN,""):new e(this.num-r.num,this.unit)}},{key:"multiply",value:function(r){return this.unit!==""&&r.unit!==""&&this.unit!==r.unit?new e(NaN,""):new e(this.num*r.num,this.unit||r.unit)}},{key:"divide",value:function(r){return this.unit!==""&&r.unit!==""&&this.unit!==r.unit?new e(NaN,""):new e(this.num/r.num,this.unit||r.unit)}},{key:"toString",value:function(){return"".concat(this.num).concat(this.unit)}},{key:"isNaN",value:function(){return Number.isNaN(this.num)}}],[{key:"parse",value:function(r){var n,i=(n=HS.exec(r))!==null&&n!==void 0?n:[],a=mi(i,3),o=a[1],u=a[2];return new e(parseFloat(o),u??"")}}])})();function Lb(e){if(e.includes(nr))return nr;for(var t=e;t.includes("*")||t.includes("/");){var r,n=(r=Lv.exec(t))!==null&&r!==void 0?r:[],i=mi(n,4),a=i[1],o=i[2],u=i[3],c=Yn.parse(a??""),s=Yn.parse(u??""),f=o==="*"?c.multiply(s):c.divide(s);if(f.isNaN())return nr;t=t.replace(Lv,f.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var l,h=(l=Fv.exec(t))!==null&&l!==void 0?l:[],d=mi(h,4),g=d[1],v=d[2],p=d[3],m=Yn.parse(g??""),x=Yn.parse(p??""),w=v==="+"?m.add(x):m.subtract(x);if(w.isNaN())return nr;t=t.replace(Fv,w.toString())}return t}var Uv=/\(([^()]*)\)/;function XS(e){for(var t=e;t.includes("(");){var r=Uv.exec(t),n=mi(r,2),i=n[1];t=t.replace(Uv,Lb(i))}return t}function VS(e){var t=e.replace(/\s+/g,"");return t=XS(t),t=Lb(t),t}function YS(e){try{return VS(e)}catch{return nr}}function Uc(e){var t=YS(e.slice(5,-1));return t===nr?"":t}var ZS=["x","y","lineHeight","capHeight","scaleToFit","textAnchor","verticalAnchor","fill"],JS=["dx","dy","angle","className","breakAll"];function tl(){return tl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},tl.apply(this,arguments)}function Wv(e,t){if(e==null)return{};var r=QS(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function QS(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function zv(e,t){return nA(e)||rA(e,t)||tA(e,t)||eA()}function eA(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tA(e,t){if(e){if(typeof e=="string")return Hv(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Hv(e,t)}}function Hv(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function rA(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function nA(e){if(Array.isArray(e))return e}var Fb=/[ \f\n\r\t\v\u2028\u2029]+/,Ub=function(t){var r=t.children,n=t.breakAll,i=t.style;try{var a=[];Z(r)||(n?a=r.toString().split(""):a=r.toString().split(Fb));var o=a.map(function(c){return{word:c,width:Yr(c,i).width}}),u=n?0:Yr(" ",i).width;return{wordsWithComputedWidth:o,spaceWidth:u}}catch{return null}},iA=function(t,r,n,i,a){var o=t.maxLines,u=t.children,c=t.style,s=t.breakAll,f=q(o),l=u,h=function(){var $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return $.reduce(function(R,D){var B=D.word,L=D.width,z=R[R.length-1];if(z&&(i==null||a||z.width+L+n<Number(i)))z.words.push(B),z.width+=L+n;else{var G={words:[B],width:L};R.push(G)}return R},[])},d=h(r),g=function($){return $.reduce(function(R,D){return R.width>D.width?R:D})};if(!f)return d;for(var v="…",p=function($){var R=l.slice(0,$),D=Ub({breakAll:s,style:c,children:R+v}).wordsWithComputedWidth,B=h(D),L=B.length>o||g(B).width>Number(i);return[L,B]},m=0,x=l.length-1,w=0,O;m<=x&&w<=l.length-1;){var y=Math.floor((m+x)/2),b=y-1,_=p(b),S=zv(_,2),P=S[0],M=S[1],A=p(y),E=zv(A,1),j=E[0];if(!P&&!j&&(m=y+1),P&&j&&(x=y-1),!P&&j){O=M;break}w++}return O||d},Gv=function(t){var r=Z(t)?[]:t.toString().split(Fb);return[{words:r}]},aA=function(t){var r=t.width,n=t.scaleToFit,i=t.children,a=t.style,o=t.breakAll,u=t.maxLines;if((r||n)&&!Bn.isSsr){var c,s,f=Ub({breakAll:o,children:i,style:a});if(f){var l=f.wordsWithComputedWidth,h=f.spaceWidth;c=l,s=h}else return Gv(i);return iA({breakAll:o,children:i,maxLines:u,style:a},c,s,r,n)}return Gv(i)},Kv="#808080",bi=function(t){var r=t.x,n=r===void 0?0:r,i=t.y,a=i===void 0?0:i,o=t.lineHeight,u=o===void 0?"1em":o,c=t.capHeight,s=c===void 0?"0.71em":c,f=t.scaleToFit,l=f===void 0?!1:f,h=t.textAnchor,d=h===void 0?"start":h,g=t.verticalAnchor,v=g===void 0?"end":g,p=t.fill,m=p===void 0?Kv:p,x=Wv(t,ZS),w=N.useMemo(function(){return aA({breakAll:x.breakAll,children:x.children,maxLines:x.maxLines,scaleToFit:l,style:x.style,width:x.width})},[x.breakAll,x.children,x.maxLines,l,x.style,x.width]),O=x.dx,y=x.dy,b=x.angle,_=x.className,S=x.breakAll,P=Wv(x,JS);if(!xe(n)||!xe(a))return null;var M=n+(q(O)?O:0),A=a+(q(y)?y:0),E;switch(v){case"start":E=Uc("calc(".concat(s,")"));break;case"middle":E=Uc("calc(".concat((w.length-1)/2," * -").concat(u," + (").concat(s," / 2))"));break;default:E=Uc("calc(".concat(w.length-1," * -").concat(u,")"));break}var j=[];if(l){var I=w[0].width,$=x.width;j.push("scale(".concat((q($)?$/I:1)/I,")"))}return b&&j.push("rotate(".concat(b,", ").concat(M,", ").concat(A,")")),j.length&&(P.transform=j.join(" ")),T.createElement("text",tl({},ee(P,!0),{x:M,y:A,className:te("recharts-text",_),textAnchor:d,fill:m.includes("url")?Kv:m}),w.map(function(R,D){var B=R.words.join(S?"":" ");return T.createElement("tspan",{x:M,dy:D===0?E:u,key:"".concat(B,"-").concat(D)},B)}))};function St(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function oA(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function xf(e){let t,r,n;e.length!==2?(t=St,r=(u,c)=>St(e(u),c),n=(u,c)=>e(u)-c):(t=e===St||e===oA?e:uA,r=e,n=e);function i(u,c,s=0,f=u.length){if(s<f){if(t(c,c)!==0)return f;do{const l=s+f>>>1;r(u[l],c)<0?s=l+1:f=l}while(s<f)}return s}function a(u,c,s=0,f=u.length){if(s<f){if(t(c,c)!==0)return f;do{const l=s+f>>>1;r(u[l],c)<=0?s=l+1:f=l}while(s<f)}return s}function o(u,c,s=0,f=u.length){const l=i(u,c,s,f-1);return l>s&&n(u[l-1],c)>-n(u[l],c)?l-1:l}return{left:i,center:o,right:a}}function uA(){return 0}function Wb(e){return e===null?NaN:+e}function*cA(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const sA=xf(St),Ln=sA.right;xf(Wb).center;class Xv extends Map{constructor(t,r=hA){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,i]of t)this.set(n,i)}get(t){return super.get(Vv(this,t))}has(t){return super.has(Vv(this,t))}set(t,r){return super.set(lA(this,t),r)}delete(t){return super.delete(fA(this,t))}}function Vv({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function lA({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YT(e,t){if(e){if(typeof e=="string")return sl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return sl(e,t)}}function ZT(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function JT(e){if(Array.isArray(e))return sl(e)}function sl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var QT=function(t){return t},E0={},j0=function(t){return t===E0},Uy=function(t){return function r(){return arguments.length===0||arguments.length===1&&j0(arguments.length<=0?void 0:arguments[0])?r:t.apply(void 0,arguments)}},eE=function e(t,r){return t===1?r:Uy(function(){for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];var o=i.filter(function(u){return u!==E0}).length;return o>=t?r.apply(void 0,i):e(t-o,Uy(function(){for(var u=arguments.length,c=new Array(u),s=0;s<u;s++)c[s]=arguments[s];var f=i.map(function(l){return j0(l)?c.shift():l});return r.apply(void 0,XT(f).concat(c))}))})},_a=function(t){return eE(t.length,t)},ll=function(t,r){for(var n=[],i=t;i<r;++i)n[i-t]=i;return n},tE=_a(function(e,t){return Array.isArray(t)?t.map(e):Object.keys(t).map(function(r){return t[r]}).map(e)}),rE=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];if(!r.length)return QT;var i=r.reverse(),a=i[0],o=i.slice(1);return function(){return o.reduce(function(u,c){return c(u)},a.apply(void 0,arguments))}},fl=function(t){return Array.isArray(t)?t.reverse():t.split("").reverse.join("")},M0=function(t){var r=null,n=null;return function(){for(var i=arguments.length,a=new Array(i),o=0;o<i;o++)a[o]=arguments[o];return r&&a.every(function(u,c){return u===r[c]})||(r=a,n=t.apply(void 0,a)),n}};function nE(e){var t;return e===0?t=1:t=Math.floor(new ie(e).abs().log(10).toNumber())+1,t}function iE(e,t,r){for(var n=new ie(e),i=0,a=[];n.lt(t)&&i<1e5;)a.push(n.toNumber()),n=n.add(r),i++;return a}var aE=_a(function(e,t,r){var n=+e,i=+t;return n+r*(i-n)}),oE=_a(function(e,t,r){var n=t-+e;return n=n||1/0,(r-e)/n}),uE=_a(function(e,t,r){var n=t-+e;return n=n||1/0,Math.max(0,Math.min(1,(r-e)/n))});const Sa={rangeStep:iE,getDigitCount:nE,interpolateNumber:aE,uninterpolateNumber:oE,uninterpolateTruncation:uE};function hl(e){return lE(e)||sE(e)||C0(e)||cE()}function cE(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sE(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function lE(e){if(Array.isArray(e))return pl(e)}function dn(e,t){return pE(e)||hE(e,t)||C0(e,t)||fE()}function fE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function C0(e,t){if(e){if(typeof e=="string")return pl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return pl(e,t)}}function pl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function hE(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var r=[],n=!0,i=!1,a=void 0;try{for(var o=e[Symbol.iterator](),u;!(n=(u=o.next()).done)&&(r.push(u.value),!(t&&r.length===t));n=!0);}catch(c){i=!0,a=c}finally{try{!n&&o.return!=null&&o.return()}finally{if(i)throw a}}return r}}function pE(e){if(Array.isArray(e))return e}function $0(e){var t=dn(e,2),r=t[0],n=t[1],i=r,a=n;return r>n&&(i=n,a=r),[i,a]}function I0(e,t,r){if(e.lte(0))return new ie(0);var n=Sa.getDigitCount(e.toNumber()),i=new ie(10).pow(n),a=e.div(i),o=n!==1?.05:.1,u=new ie(Math.ceil(a.div(o).toNumber())).add(r).mul(o),c=u.mul(i);return t?c:new ie(Math.ceil(c))}function dE(e,t,r){var n=1,i=new ie(e);if(!i.isint()&&r){var a=Math.abs(e);a<1?(n=new ie(10).pow(Sa.getDigitCount(e)-1),i=new ie(Math.floor(i.div(n).toNumber())).mul(n)):a>1&&(i=new ie(Math.floor(e)))}else e===0?i=new ie(Math.floor((t-1)/2)):r||(i=new ie(Math.floor(e)));var o=Math.floor((t-1)/2),u=rE(tE(function(c){return i.add(new ie(c-o).mul(n)).toNumber()}),ll);return u(0,t)}function R0(e,t,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(r-1)))return{step:new ie(0),tickMin:new ie(0),tickMax:new ie(0)};var a=I0(new ie(t).sub(e).div(r-1),n,i),o;e<=0&&t>=0?o=new ie(0):(o=new ie(e).add(t).div(2),o=o.sub(new ie(o).mod(a)));var u=Math.ceil(o.sub(e).div(a).toNumber()),c=Math.ceil(new ie(t).sub(o).div(a).toNumber()),s=u+c+1;return s>r?R0(e,t,r,n,i+1):(s<r&&(c=t>0?c+(r-s):c,u=t>0?u:u+(r-s)),{step:a,tickMin:o.sub(new ie(u).mul(a)),tickMax:o.add(new ie(c).mul(a))})}function vE(e){var t=dn(e,2),r=t[0],n=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(i,2),u=$0([r,n]),c=dn(u,2),s=c[0],f=c[1];if(s===-1/0||f===1/0){var l=f===1/0?[s].concat(hl(ll(0,i-1).map(function(){return 1/0}))):[].concat(hl(ll(0,i-1).map(function(){return-1/0})),[f]);return r>n?fl(l):l}if(s===f)return dE(s,i,a);var h=R0(s,f,o,a),d=h.step,g=h.tickMin,v=h.tickMax,p=Sa.rangeStep(g,v.add(new ie(.1).mul(d)),d);return r>n?fl(p):p}function yE(e,t){var r=dn(e,2),n=r[0],i=r[1],a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=$0([n,i]),u=dn(o,2),c=u[0],s=u[1];if(c===-1/0||s===1/0)return[n,i];if(c===s)return[c];var f=Math.max(t,2),l=I0(new ie(s).sub(c).div(f-1),a,0),h=[].concat(hl(Sa.rangeStep(new ie(c),new ie(s).sub(new ie(.99).mul(l)),l)),[s]);return n>i?fl(h):h}var gE=M0(vE),mE=M0(yE),bE="Invariant failed";function Gt(e,t){throw new Error(bE)}var xE=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function mr(e){"@babel/helpers - typeof";return mr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mr(e)}function Ci(){return Ci=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ci.apply(this,arguments)}function wE(e,t){return AE(e)||SE(e,t)||_E(e,t)||OE()}function OE(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _E(e,t){if(e){if(typeof e=="string")return Wy(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Wy(e,t)}}function Wy(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function SE(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function AE(e){if(Array.isArray(e))return e}function PE(e,t){if(e==null)return{};var r=TE(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function TE(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function EE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jE(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,N0(n.key),n)}}function ME(e,t,r){return t&&jE(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function CE(e,t,r){return t=$i(t),$E(e,k0()?Reflect.construct(t,r||[],$i(e).constructor):t.apply(e,r))}function $E(e,t){if(t&&(mr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return IE(e)}function IE(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function k0(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(k0=function(){return!!e})()}function $i(e){return $i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},$i(e)}function RE(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&dl(e,t)}function dl(e,t){return dl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},dl(e,t)}function D0(e,t,r){return t=N0(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function N0(e){var t=kE(e,"string");return mr(t)=="symbol"?t:t+""}function kE(e,t){if(mr(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(mr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Aa=(function(e){function t(){return EE(this,t),CE(this,t,arguments)}return RE(t,e),ME(t,[{key:"render",value:function(){var n=this.props,i=n.offset,a=n.layout,o=n.width,u=n.dataKey,c=n.data,s=n.dataPointFormatter,f=n.xAxis,l=n.yAxis,h=PE(n,xE),d=ee(h,!1);this.props.direction==="x"&&f.type!=="number"&&Gt();var g=c.map(function(v){var p=s(v,u),m=p.x,x=p.y,w=p.value,O=p.errorVal;if(!O)return null;var y=[],b,_;if(Array.isArray(O)){var S=wE(O,2);b=S[0],_=S[1]}else b=_=O;if(a==="vertical"){var P=f.scale,M=x+i,A=M+o,E=M-o,j=P(w-b),I=P(w+_);y.push({x1:I,y1:A,x2:I,y2:E}),y.push({x1:j,y1:M,x2:I,y2:M}),y.push({x1:j,y1:A,x2:j,y2:E})}else if(a==="horizontal"){var $=l.scale,R=m+i,D=R-o,B=R+o,L=$(w-b),z=$(w+_);y.push({x1:D,y1:z,x2:B,y2:z}),y.push({x1:R,y1:L,x2:R,y2:z}),y.push({x1:D,y1:L,x2:B,y2:L})}return T.createElement(_e,Ci({className:"recharts-errorBar",key:"bar-".concat(y.map(function(G){return"".concat(G.x1,"-").concat(G.x2,"-").concat(G.y1,"-").concat(G.y2)}))},d),y.map(function(G){return T.createElement("line",Ci({},G,{key:"line-".concat(G.x1,"-").concat(G.x2,"-").concat(G.y1,"-").concat(G.y2)}))}))});return T.createElement(_e,{className:"recharts-errorBars"},g)}}])})(T.Component);D0(Aa,"defaultProps",{stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"});D0(Aa,"displayName","ErrorBar");function vn(e){"@babel/helpers - typeof";return vn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vn(e)}function zy(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Rt(e){for(var t=1;t<argume
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function LE(e,t){if(e){if(typeof e=="string")return vl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return vl(e,t)}}function FE(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function UE(e){if(Array.isArray(e))return vl(e)}function vl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Gy(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function he(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Gy(Object(r),!0).forEach(function(n){sr(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gy(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function sr(e,t,r){return t=WE(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function WE(e){var t=zE(e,"string");return yn(t)=="symbol"?t:t+""}function zE(e,t){if(yn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(yn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Je(e,t,r){return Z(e)||Z(t)?r:xe(t)?We(e,t,r):Y(t)?t(e):r}function Jr(e,t,r,n){var i=UT(e,function(u){return Je(u,t)});if(r==="number"){var a=i.filter(function(u){return q(u)||parseFloat(u)});return a.length?[Oa(a),wa(a)]:[1/0,-1/0]}var o=n?i.filter(function(u){return!Z(u)}):i;return o.map(function(u){return xe(u)||u instanceof Date?u:""})}var HE=function(t){var r,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,o=-1,u=(r=n?.length)!==null&&r!==void 0?r:0;if(u<=1)return 0;if(a&&a.axisType==="angleAxis"&&Math.abs(Math.abs(a.range[1]-a.range[0])-360)<=1e-6)for(var c=a.range,s=0;s<u;s++){var f=s>0?i[s-1].coordinate:i[u-1].coordinate,l=i[s].coordinate,h=s>=u-1?i[0].coordinate:i[s+1].coordinate,d=void 0;if(Ve(l-f)!==Ve(h-l)){var g=[];if(Ve(h-l)===Ve(c[1]-c[0])){d=h;var v=l+c[1]-c[0];g[0]=Math.min(v,(v+f)/2),g[1]=Math.max(v,(v+f)/2)}else{d=f;var p=h+c[1]-c[0];g[0]=Math.min(l,(p+l)/2),g[1]=Math.max(l,(p+l)/2)}var m=[Math.min(l,(d+l)/2),Math.max(l,(d+l)/2)];if(t>m[0]&&t<=m[1]||t>=g[0]&&t<=g[1]){o=i[s].index;break}}else{var x=Math.min(f,h),w=Math.max(f,h);if(t>(x+l)/2&&t<=(w+l)/2){o=i[s].index;break}}}else for(var O=0;O<u;O++)if(O===0&&t<=(n[O].coordinate+n[O+1].coordinate)/2||O>0&&O<u-1&&t>(n[O].coordinate+n[O-1].coordinate)/2&&t<=(n[O].coordinate+n[O+1].coordinate)/2||O===u-1&&t>(n[O].coordinate+n[O-1].coordinate)/2){o=n[O].index;break}return o},Hf=function(t){var r,n=t,i=n.type.displayName,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?he(he({},t.type.defaultProps),t.props):t.props,o=a.stroke,u=a.fill,c;switch(i){case"Line":c=o;break;case"Area":case"Radar":c=o&&o!=="none"?o:u;break;default:c=u;break}return c},GE=function(t){var r=t.barSize,n=t.totalSize,i=t.stackGroups,a=i===void 0?{}:i;if(!a)return{};for(var o={},u=Object.keys(a),c=0,s=u.length;c<s;c++)for(var f=a[u[c]].stackGroups,l=Object.keys(f),h=0,d=l.length;h<d;h++){var g=f[l[h]],v=g.items,p=g.cateAxisId,m=v.filter(function(_){return ft(_.type).indexOf("Bar")>=0});if(m&&m.length){var x=m[0].type.defaultProps,w=x!==void 0?he(he({},x),m[0].props):m[0].props,O=w.barSize,y=w[p];o[y]||(o[y]=[]);var b=Z(O)?r:O;o[y].push({item:m[0],stackList:m.slice(1),barSize:Z(b)?void 0:Ye(b,n,0)})}}return o},KE=function(t){var r=t.barGap,n=t.barCategoryGap,i=t.bandSize,a=t.sizeList,o=a===void 0?[]:a,u=t.maxBarSize,c=o.length;if(c<1)return null;var s=Ye(r,i,0,!0),f,l=[];if(o[0].barSize===+o[0].barSize){var h=!1,d=i/c,g=o.reduce(function(O,y){return O+y.barSize||0},0);g+=(c-1)*s,g>=i&&(g-=(c-1)*s,s=0),g>=i&&d>0&&(h=!0,d*=.9,g=c*d);var v=(i-g)/2>>0,p={offset:v-s,size:0};f=o.reduce(function(O,y){var b={item:y.item,position:{offset:p.offset+p.size+s,size:h?d:y.barSize}},_=[].concat(Hy(O),[b]);return p=_[_.length-1].position,y.stackList&&y.stackList.length&&y.stackList.forEach(function(S){_.push({item:S,position:p})}),_},l)}else{var m=Ye(n,i,0,!0);i-2*m-(c-1)*s<=0&&(s=0);var x=(i-2*m-(c-1)*s)/c;x>1&&(x>>=0);var w=u===+u?Math.min(x,u):x;f=o.reduce(function(O,y,b){var _=[].concat(Hy(O),[{item:y.item,position:{offset:m+(x+s)*b+(x-w)/2,size:w}}]);return y.stackList&&y.stackList.length&&y.stackList.forEach(function(S){_.push({item:S,position:_[_.length-1].position})}),_},l)}return f},XE=function(t,r,n,i){var a=n.children,o=n.width,u=n.margin,c=o-(u.left||0)-(u.ri
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fj(e,t){if(e){if(typeof e=="string")return Qy(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Qy(e,t)}}function Qy(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function hj(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function pj(e){if(Array.isArray(e))return e}var Ri=Math.PI/180,dj=function(t){return t*180/Math.PI},Pe=function(t,r,n,i){return{x:t+Math.cos(-Ri*i)*n,y:r+Math.sin(-Ri*i)*n}},vj=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},DD=function(t,r,n,i,a){var o=t.width,u=t.height,c=t.startAngle,s=t.endAngle,f=Ye(t.cx,o,o/2),l=Ye(t.cy,u,u/2),h=vj(o,u,n),d=Ye(t.innerRadius,h,0),g=Ye(t.outerRadius,h,h*.8),v=Object.keys(r);return v.reduce(function(p,m){var x=r[m],w=x.domain,O=x.reversed,y;if(Z(x.range))i==="angleAxis"?y=[c,s]:i==="radiusAxis"&&(y=[d,g]),O&&(y=[y[1],y[0]]);else{y=x.range;var b=y,_=sj(b,2);c=_[0],s=_[1]}var S=W0(x,a),P=S.realScaleType,M=S.scale;M.domain(w).range(y),z0(M);var A=H0(M,ut(ut({},x),{},{realScaleType:P})),E=ut(ut(ut({},x),A),{},{range:y,radius:g,realScaleType:P,scale:M,cx:f,cy:l,innerRadius:d,outerRadius:g,startAngle:c,endAngle:s});return ut(ut({},p),{},X0({},m,E))},{})},yj=function(t,r){var n=t.x,i=t.y,a=r.x,o=r.y;return Math.sqrt(Math.pow(n-a,2)+Math.pow(i-o,2))},gj=function(t,r){var n=t.x,i=t.y,a=r.cx,o=r.cy,u=yj({x:n,y:i},{x:a,y:o});if(u<=0)return{radius:u};var c=(n-a)/u,s=Math.acos(c);return i>o&&(s=2*Math.PI-s),{radius:u,angle:dj(s),angleInRadian:s}},mj=function(t){var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),a=Math.floor(n/360),o=Math.min(i,a);return{startAngle:r-o*360,endAngle:n-o*360}},bj=function(t,r){var n=r.startAngle,i=r.endAngle,a=Math.floor(n/360),o=Math.floor(i/360),u=Math.min(a,o);return t+u*360},eg=function(t,r){var n=t.x,i=t.y,a=gj({x:n,y:i},r),o=a.radius,u=a.angle,c=r.innerRadius,s=r.outerRadius;if(o<c||o>s)return!1;if(o===0)return!0;var f=mj(r),l=f.startAngle,h=f.endAngle,d=u,g;if(l<=h){for(;d>h;)d-=360;for(;d<l;)d+=360;g=d>=l&&d<=h}else{for(;d>l;)d-=360;for(;d<h;)d+=360;g=d>=h&&d<=l}return g?ut(ut({},r),{},{radius:o,angle:bj(d,r)}):null},ND=function(t){return!N.isValidElement(t)&&!Y(t)&&typeof t!="boolean"?t.className:""};function mn(e){"@babel/helpers - typeof";return mn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mn(e)}var xj=["offset"];function wj(e){return Aj(e)||Sj(e)||_j(e)||Oj()}function Oj(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _j(e,t){if(e){if(typeof e=="string")return gl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gl(e,t)}}function Sj(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Aj(e){if(Array.isArray(e))return gl(e)}function gl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Pj(e,t){if(e==null)return{};var r=Tj(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Tj(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function tg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function be(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?tg(Object(r),!0).forEach(function(n){Ej(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):tg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ej(e,t,r){return t=jj(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function jj(e){var t=Mj(e,"string");return mn(t)=="symbol"?t:t+""}function Mj(e,t){if(mn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(mn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function bn(){return bn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},bn.apply(this,arguments)}var Cj=function(t){var r=t.value,n=t.formatter,i=Z(t.children)?r:t.children;return Y(n)?n(i):i},$j=function(t,r){var n=Ve(r-t),i=Math.min(Math.abs(r-t),360);return n*i},Ij=function(t,r,n){var i=t.position,a=t.viewBox,o=t.offset,u=t.className,c=a,s=c.cx,f=c.cy,l=c.innerRadius,h=c.outerRadius,d=c.startAngle,g=c.endAngle,v=c.clockWise,p=(l+h)/2,m=$j(d,g),x=m>=0?1:-1,w,O;i==="insideStart"?(w=d+x*o,O=v):i==="insideEnd"?(w=g-x*o,O=!v):i==="end"&&(w=g+x*o,O=v),O=m<=0?O:!O;var y=Pe(s,f,p,w),b=Pe(s,f,p,w+(O?1:-1)*359),_="M".concat(y.x,",").concat(y.y,`
|
||||
A`).concat(p,",").concat(p,",0,1,").concat(O?0:1,`,
|
||||
`).concat(b.x,",").concat(b.y),S=Z(t.id)?ua("recharts-radial-line-"):t.id;return T.createElement("text",bn({},n,{dominantBaseline:"central",className:te("recharts-radial-bar-label",u)}),T.createElement("defs",null,T.createElement("path",{id:S,d:_})),T.createElement("textPath",{xlinkHref:"#".concat(S)},r))},Rj=function(t){var r=t.viewBox,n=t.offset,i=t.position,a=r,o=a.cx,u=a.cy,c=a.innerRadius,s=a.outerRadius,f=a.startAngle,l=a.endAngle,h=(f+l)/2;if(i==="outside"){var d=Pe(o,u,s+n,h),g=d.x,v=d.y;return{x:g,y:v,textAnchor:g>=o?"start":"end",verticalAnchor:"middle"}}if(i==="center")return{x:o,y:u,textAnchor:"middle",verticalAnchor:"middle"};if(i==="centerTop")return{x:o,y:u,textAnchor:"middle",verticalAnchor:"start"};if(i==="centerBottom")return{x:o,y:u,textAnchor:"middle",verticalAnchor:"end"};var p=(c+s)/2,m=Pe(o,u,p,h),x=m.x,w=m.y;return{x,y:w,textAnchor:"middle",verticalAnchor:"middle"}},kj=function(t){var r=t.viewBox,n=t.parentViewBox,i=t.offset,a=t.position,o=r,u=o.x,c=o.y,s=o.width,f=o.height,l=f>=0?1:-1,h=l*i,d=l>0?"end":"start",g=l>0?"start":"end",v=s>=0?1:-1,p=v*i,m=v>0?"end":"start",x=v>0?"start":"end";if(a==="top"){var w={x:u+s/2,y:c-l*i,textAnchor:"middle",verticalAnchor:d};return be(be({},w),n?{height:Math.max(c-n.y,0),width:s}:{})}if(a==="bottom"){var O={x:u+s/2,y:c+f+h,textAnchor:"middle",verticalAnchor:g};return be(be({},O),n?{height:Math.max(n.y+n.height-(c+f),0),width:s}:{})}if(a==="left"){var y={x:u-p,y:c+f/2,textAnchor:m,verticalAnchor:"middle"};return be(be({},y),n?{width:Math.max(y.x-n.x,0),height:f}:{})}if(a==="right"){var b={x:u+s+p,y:c+f/2,textAnchor:x,verticalAnchor:"middle"};return be(be({},b),n?{width:Math.max(n.x+n.width-b.x,0),height:f}:{})}var _=n?{width:s,height:f}:{};return a==="insideLeft"?be({x:u+p,y:c+f/2,textAnchor:x,verticalAnchor:"middle"},_):a==="insideRight"?be({x:u+s-p,y:c+f/2,textAnchor:m,verticalAnchor:"middle"},_):a==="insideTop"?be({x:u+s/2,y:c+h,textAnchor:"middle",verticalAnchor:g},_):a==="insideBottom"?be({x:u+s/2,y:c+f-h,textAnchor:"middle",verticalAnchor:d},_):a==="insideTopLeft"?be({x:u+p,y:c+h,textAnchor:x,verticalAnchor:g},_):a==="insideTopRight"?be({x:u+s-p,y:c+h,textAnchor:m,verticalAnchor:g},_):a==="insideBottomLeft"?be({x:u+p,y:c+f-h,textAnchor:x,verticalAnchor:d},_):a==="insideBottomRight"?be({x:u+s-p,y:c+f-h,textAnchor:m,verticalAnchor:d},_):$r(a)&&(q(a.x)||Nt(a.x))&&(q(a.y)||Nt(a.y))?be({x:u+Ye(a.x,s),y:c+Ye(a.y,f),textAnchor:"end",verticalAnchor:"end"},_):be({x:u+s/2,y:c+f/2,textAnchor:"middle",verticalAnchor:"middle"},_)},Dj=function(t){return"cx"in t&&q(t.cx)};function Ee(e){var t=e.offset,r=t===void 0?5:t,n=Pj(e,xj),i=be({offset:r},n),a=i.viewBox,o=i.position,u=i.value,c=i.children,s=i.content,f=i.className,l=f===void 0?"":f,h=i.textBreakAll;if(!a||Z(u)&&Z(c)&&!N.isValidElement(s)&&!Y(s))return null;if(N.isValidElement(s))return N.cloneElement(s,i);var d;if(Y(s)){if(d=N.createElement(s,i),N.isValidElement(d))return d}else d=Cj(i);var g=Dj(a),v=ee(i,!0);if(g&&(o==="insideStart"||o==="insideEnd"||o==="end"))return Ij(i,d,v);var p=g?Rj(i):kj(i);return T.createElement(bi,bn({className:te("recharts-label",l)},v,p,{breakAll:h}),d)}Ee.displayName="Label";var V0=function(t){var r=t.cx,n=t.cy,i=t.angle,a=t.startAngle,o=t.endAngle,u=t.r,c=t.radius,s=t.innerRadius,f=t.outerRadius,l=t.x,h=t.y,d=t.top,g=t.left,v=t.width,p=t.height,m=t.clockWise,x=t.labelViewBox;if(x)return x;if(q(v)&&q(p)){if(q(l)&&q(h))return{x:l,y:h,width:v,height:p};if(q(d)&&q(g))return{x:d,y:g,width:v,height:p}}return q(l)&&q(h)?{x:l,y:h,width:0,height:0}:q(r)&&q(n)?{cx:r,cy:n,startAngle:a||i||0,endAngle:o||i||0,innerRadius:s||0,outerRadius:f||c||u||0,clockWise:m}:t.viewBox?t.viewBox:{}},Nj=function(t,r){return t?t===!0?T.createElement(Ee,{key:"label-implicit",viewBox:r}):xe(t)?T.createElement(Ee,{key:"label-implicit",viewBox:r,value:t}):N.isValidElement(t)?t.type===Ee?N.cloneElement(t,{key:"label-implicit",viewBox:r}):T.createElement(Ee,{key:"label-implicit",content:t,viewBox:r}):Y(t)?T.createElement(Ee,{key:"label-implicit",content:t,viewBox:r}):$r(t)?T.createElement(Ee,bn({viewBox:r},t,{key:"label-implicit"})):null:null},qj=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var i=t.children,a=V0(t),o=Ze(i,Ee).map(function(c,s){return N.cloneElement(c,{viewBox:r||a,key:"label-".concat(s)})});if(!n)return o;var u=Nj(t.label,r||a);return[u].concat(wj(o))};Ee.parseViewBox=V0;Ee.renderCallByParent=qj;var os,rg;function Bj(){if(rg)return os;rg=1;function e(t){var r=t==null?0:t.length;return r?t[r-1]:void 0}return os=e,os}var Lj=Bj();const Fj=ue(Lj);function xn(e){"@babel/helpers - typeof";return xn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xn(e)}var Uj=["valueAccessor"],Wj=["data","dataKey","clockWise","id","textBreakAll"];function zj(e){return Xj(e)||Kj(e)|
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gj(e,t){if(e){if(typeof e=="string")return ml(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ml(e,t)}}function Kj(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Xj(e){if(Array.isArray(e))return ml(e)}function ml(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function ki(){return ki=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ki.apply(this,arguments)}function ng(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ig(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ng(Object(r),!0).forEach(function(n){Vj(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ng(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vj(e,t,r){return t=Yj(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Yj(e){var t=Zj(e,"string");return xn(t)=="symbol"?t:t+""}function Zj(e,t){if(xn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(xn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ag(e,t){if(e==null)return{};var r=Jj(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Jj(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var Qj=function(t){return Array.isArray(t.value)?Fj(t.value):t.value};function Wt(e){var t=e.valueAccessor,r=t===void 0?Qj:t,n=ag(e,Uj),i=n.data,a=n.dataKey,o=n.clockWise,u=n.id,c=n.textBreakAll,s=ag(n,Wj);return!i||!i.length?null:T.createElement(_e,{className:"recharts-label-list"},i.map(function(f,l){var h=Z(a)?r(f,l):Je(f&&f.payload,a),d=Z(u)?{}:{id:"".concat(u,"-").concat(l)};return T.createElement(Ee,ki({},ee(f,!0),s,d,{parentViewBox:f.parentViewBox,value:h,textBreakAll:c,viewBox:Ee.parseViewBox(Z(o)?f:ig(ig({},f),{},{clockWise:o})),key:"label-".concat(l),index:l}))}))}Wt.displayName="LabelList";function eM(e,t){return e?e===!0?T.createElement(Wt,{key:"labelList-implicit",data:t}):T.isValidElement(e)||Y(e)?T.createElement(Wt,{key:"labelList-implicit",data:t,content:e}):$r(e)?T.createElement(Wt,ki({data:t},e,{key:"labelList-implicit"})):null:null}function tM(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&r&&!e.label)return null;var n=e.children,i=Ze(n,Wt).map(function(o,u){return N.cloneElement(o,{data:t,key:"labelList-".concat(u)})});if(!r)return i;var a=eM(e.label,t);return[a].concat(zj(i))}Wt.renderCallByParent=tM;function wn(e){"@babel/helpers - typeof";return wn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},wn(e)}function bl(){return bl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},bl.apply(this,arguments)}function og(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ug(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?og(Object(r),!0).forEach(function(n){rM(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):og(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function rM(e,t,r){return t=nM(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nM(e){var t=iM(e,"string");return wn(t)=="symbol"?t:t+""}function iM(e,t){if(wn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(wn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var aM=function(t,r){var n=Ve
Line truncated
|
||||
A `).concat(a,",").concat(a,`,0,
|
||||
`).concat(+(Math.abs(c)>180),",").concat(+(o>s),`,
|
||||
`).concat(l.x,",").concat(l.y,`
|
||||
`);if(i>0){var d=Pe(r,n,i,o),g=Pe(r,n,i,s);h+="L ".concat(g.x,",").concat(g.y,`
|
||||
A `).concat(i,",").concat(i,`,0,
|
||||
`).concat(+(Math.abs(c)>180),",").concat(+(o<=s),`,
|
||||
`).concat(d.x,",").concat(d.y," Z")}else h+="L ".concat(r,",").concat(n," Z");return h},oM=function(t){var r=t.cx,n=t.cy,i=t.innerRadius,a=t.outerRadius,o=t.cornerRadius,u=t.forceCornerRadius,c=t.cornerIsExternal,s=t.startAngle,f=t.endAngle,l=Ve(f-s),h=ti({cx:r,cy:n,radius:a,angle:s,sign:l,cornerRadius:o,cornerIsExternal:c}),d=h.circleTangency,g=h.lineTangency,v=h.theta,p=ti({cx:r,cy:n,radius:a,angle:f,sign:-l,cornerRadius:o,cornerIsExternal:c}),m=p.circleTangency,x=p.lineTangency,w=p.theta,O=c?Math.abs(s-f):Math.abs(s-f)-v-w;if(O<0)return u?"M ".concat(g.x,",").concat(g.y,`
|
||||
a`).concat(o,",").concat(o,",0,0,1,").concat(o*2,`,0
|
||||
a`).concat(o,",").concat(o,",0,0,1,").concat(-o*2,`,0
|
||||
`):Y0({cx:r,cy:n,innerRadius:i,outerRadius:a,startAngle:s,endAngle:f});var y="M ".concat(g.x,",").concat(g.y,`
|
||||
A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(d.x,",").concat(d.y,`
|
||||
A`).concat(a,",").concat(a,",0,").concat(+(O>180),",").concat(+(l<0),",").concat(m.x,",").concat(m.y,`
|
||||
A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(x.x,",").concat(x.y,`
|
||||
`);if(i>0){var b=ti({cx:r,cy:n,radius:i,angle:s,sign:l,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),_=b.circleTangency,S=b.lineTangency,P=b.theta,M=ti({cx:r,cy:n,radius:i,angle:f,sign:-l,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),A=M.circleTangency,E=M.lineTangency,j=M.theta,I=c?Math.abs(s-f):Math.abs(s-f)-P-j;if(I<0&&o===0)return"".concat(y,"L").concat(r,",").concat(n,"Z");y+="L".concat(E.x,",").concat(E.y,`
|
||||
A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(A.x,",").concat(A.y,`
|
||||
A`).concat(i,",").concat(i,",0,").concat(+(I>180),",").concat(+(l>0),",").concat(_.x,",").concat(_.y,`
|
||||
A`).concat(o,",").concat(o,",0,0,").concat(+(l<0),",").concat(S.x,",").concat(S.y,"Z")}else y+="L".concat(r,",").concat(n,"Z");return y},uM={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},Z0=function(t){var r=ug(ug({},uM),t),n=r.cx,i=r.cy,a=r.innerRadius,o=r.outerRadius,u=r.cornerRadius,c=r.forceCornerRadius,s=r.cornerIsExternal,f=r.startAngle,l=r.endAngle,h=r.className;if(o<a||f===l)return null;var d=te("recharts-sector",h),g=o-a,v=Ye(u,g,0,!0),p;return v>0&&Math.abs(f-l)<360?p=oM({cx:n,cy:i,innerRadius:a,outerRadius:o,cornerRadius:Math.min(v,g/2),forceCornerRadius:c,cornerIsExternal:s,startAngle:f,endAngle:l}):p=Y0({cx:n,cy:i,innerRadius:a,outerRadius:o,startAngle:f,endAngle:l}),T.createElement("path",bl({},ee(r,!0),{className:d,d:p,role:"img"}))};function On(e){"@babel/helpers - typeof";return On=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},On(e)}function xl(){return xl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},xl.apply(this,arguments)}function cg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function sg(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?cg(Object(r),!0).forEach(function(n){cM(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):cg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function cM(e,t,r){return t=sM(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sM(e){var t=lM(e,"string");return On(t)=="symbol"?t:t+""}function lM(e,t){if(On(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(On(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var lg={curveBasisClosed:EO,curveBasisOpen:jO,curveBasis:TO,curveBumpX:pO,curveBumpY:dO,curveLinearClosed:MO,curveLinear:la,curveMonotoneX:CO,curveMonotoneY:$O,curveNatural:IO,curveStep:RO,curveStepAfter:DO,curveStepBefore:kO},ri=function(t){return t.x===+t.x&&t.y===+t.y},Wr=function(t){return t.x},zr=function(t){return t.y},fM=function(t,r){if(Y(t))return t;var n="curve".concat(ca(t));return(n==="curveMonotone"||n==="curveBump")&&r?lg["".concat(n).concat(r==="vertical"?"Y":"X")]:lg[n]||la},hM=function(t){var r=t.type,n=r===void 0?"linear":r,i=t.points,a=i===void 0?[]:i,o=t.baseLine,u=t.layout,c=t.connectNulls,s=c===void 0?!1:c,f=fM(n,u),l=s?a.filter(function(v){return ri(v)}):a,h;if(Array.isArray(o)){var d=s?o.filter(function(v){return ri(v)}):o,g=l.map(function(v,p){return sg(sg({},v),{},{base:d[p]})});return u==="vertical"?h=Kn().y(zr).x1(Wr).x0(function(v){return v.base.x}):h=Kn().x(Wr).y1(zr).y0(function(v){return v.base.y}),h.defined(ri).curve(f),h(g)}return u==="vertical"&&q(o)?h=Kn().y(zr).x1(Wr).x0(o):q(o)?h=Kn().x(Wr).y1(zr).y0(o):h=Zm().x(Wr).y(zr),h.defined(ri).curve(f),h(l)},fg=function(t){var r=t.className,n=t.points,i=t.path,a=t.pathRef;if((!n||!n.length)&&!i)return null;var o=n&&n.length?hM(t):i;return N.createElement("path",xl({},ee(t,!1),ui(t),{className:te("recharts-curve",r),d:o,ref:a}))},us={exports:{}},cs,hg;function pM(){if(hg)return cs;hg=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return cs=e,cs}var ss,pg;function dM(){if(pg)return ss;pg=1;var e=pM();function t(){}function r(){}return r.resetWarningCache=t,ss=function(){function n(o,u,c,s,f,l){if(l!==e){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}}n.isRequired=n;function i(){return n}var a={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:i,element:n,elementType:n,instanceOf:i,node:n,objectOf:i,oneOf:i,oneOfType:i,shape:i,exact:i,checkPropTypes:r,resetWarningCache:t};return a.PropTypes=a,a},ss}var dg;function vM(){return dg||(dg=1,us.exports=dM()()),us.exports}var yM=vM();const ne=ue(yM),{getOwnPropertyNames:gM,getOwnPropertySymbols:mM}=Object,{hasOwnProperty:bM}=Object.prototype;function ls(e,t){return function(n,i,a){return e(n,i,a)&&t(n,i,a)}}function ni(e){return function(r,n,i){if(!r||!n||typeof r!="object"||typeof n!="object")return e(r,n,i);const{cache:a}=i,o=a.get(r),u=a.get(n);if(o&&u)return o===n&&u===r;a.set(r,n),a.set(n,r);const c=e(r,n,i);return a.delete(r),a.delete(n),c}}function xM(e){return e?.
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function aC(e,t){if(e){if(typeof e=="string")return wg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wg(e,t)}}function wg(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function oC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function uC(e){if(Array.isArray(e))return e}function cC(){var e={},t=function(){return null},r=!1,n=function i(a){if(!r){if(Array.isArray(a)){if(!a.length)return;var o=a,u=nC(o),c=u[0],s=u.slice(1);if(typeof c=="number"){xg(i.bind(null,s),c);return}i(c),xg(i.bind(null,s));return}wl(a)==="object"&&(e=a,t(e)),typeof a=="function"&&a()}};return{stop:function(){r=!0},start:function(a){r=!1,n(a)},subscribe:function(a){return t=a,function(){t=function(){return null}}}}}function _n(e){"@babel/helpers - typeof";return _n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_n(e)}function Og(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function _g(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Og(Object(r),!0).forEach(function(n){Q0(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Og(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Q0(e,t,r){return t=sC(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sC(e){var t=lC(e,"string");return _n(t)==="symbol"?t:String(t)}function lC(e,t){if(_n(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(_n(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var fC=function(t,r){return[Object.keys(t),Object.keys(r)].reduce(function(n,i){return n.filter(function(a){return i.includes(a)})})},hC=function(t){return t},pC=function(t){return t.replace(/([A-Z])/g,function(r){return"-".concat(r.toLowerCase())})},Qr=function(t,r){return Object.keys(r).reduce(function(n,i){return _g(_g({},n),{},Q0({},i,t(i,r[i])))},{})},Sg=function(t,r,n){return t.map(function(i){return"".concat(pC(i)," ").concat(r,"ms ").concat(n)}).join(",")};function dC(e,t){return gC(e)||yC(e,t)||ex(e,t)||vC()}function vC(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yC(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function gC(e){if(Array.isArray(e))return e}function mC(e){return wC(e)||xC(e)||ex(e)||bC()}function bC(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ex(e,t){if(e){if(typeof e=="string")return Ol(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ol(e,t)}}function xC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function wC(e){if(Array.isArray(e))return Ol(e)}function Ol(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Ni=1e-4,tx=function(t,r){return[0,3*t,3*r-6*t,3*t-3*r+1]},rx=function(t,r){return t.map(function(n,i){return n*Math.pow(r,i)}).reduce(function(n,i){return n+i})},Ag=function(t,r){return function(n){var i=tx(t,r);return rx(i,n)}},OC=function(t,r){return function(n){var i=tx(t,r),a=[].concat(mC(i.map(function(o,u){return o*u}).slice(1)),[0]);return rx(a,n)}},Pg=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=r[0],a=r[1],o=r[2],u=r[3];if(r.length===1)switch(r[0]){case"linear":i=0,a=0,o=1,u=1;break;case"ease":i=.25,a=.1,o=.25,u=1;break;case"ease-in":i=.42,a=0,o=1,u=1;break;case"ease-out":i=.42,a=0,o=.58,u=1;break;case"ease-in-out":i=0,a=0,o=.58,u=1;break;default:{var c=r[0].split("(");if(c[0]==="cubic-bezier"&&c[1].split(")")[0].split(",").length===4){var s=c[1].split(")")[0].split(",").map(function(p){return parseFloat(p)}),f=dC(s,4);i=f[0],a=f[1],o=f[2],u=f[3]}}}var l=Ag(i,o),h=Ag(a,u),d=OC(i,o),g=function(m){return m>1?1:m<0?0:m},v=function(m){for(var x=m>1?1:m,w=x,O=0;O<8;++O){var y=l(w)-x,b=d(w);if(Math.abs(y-x)<Ni||b<Ni)return h(w);w=g(w-y/b)}return h(w)};return v.isStepper=!1,v},_C=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,a=i===void 0?8:i,o=t.dt,u=o===void 0?17:o,c=function(f,l,h){var d=-(f-l)*n,g=h*a,v=h+(d-g)*u/1e3,p=h*u/1e3+f;return Math.abs(p-l)<Ni&&Math.abs(v)<Ni?[l,0]:[p,v]};return c.isStepper=!0,c.dt=u,c},SC=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=r[0];if(typeof i=="string")switch(i){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return Pg(i);case"spring":return _C();default:if(i.split("(")[0]==="cubic-bezier")return Pg(i)}return typeof i=="function"?i:null};function Sn(e){"@babel/helpers - typeof";return Sn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sn(e)}function Tg(e){return TC(e)||PC(e)||nx(e)||AC()}function AC(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function PC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function TC(e){if(Array.isArray(e))return Sl(e)}function Eg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ae(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Eg(Object(r),!0).forEach(function(n){_l(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Eg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function _l(e,t,r){return t=EC(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function EC(e){var t=jC(e,"string");return Sn(t)==="symbol"?t:String(t)}function jC(e,t){if(Sn(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Sn(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function MC(e,t){return IC(e)||$C(e,t)||nx(e,t)||CC()}function CC(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nx(e,t){if(e){if(typeof e=="string")return Sl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Sl(e,t)}}function Sl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function $C(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function IC(e){if(Array.isArray(e))return e}var qi=function(t,r,n){return t+(r-t)*n},Al=function(t){var r=t.from,n=t.to;return r!==n},RC=function e(t,r,n){var i=Qr(function(a,o){if(Al(o)){var u=t(o.from,o.to,o.velocity),c=MC(u,2),s=c[0],f=c[1];return Ae(Ae({},o),{},{from:s,velocity:f})}return o},r);return n<1?Qr(function(a,o){return Al(o)?Ae(Ae({},o),{},{velocity:qi(o.velocity,i[a].velocity,n),from:qi(o.from,i[a].from,n)}):o},r):e(t,i,n-1)};const kC=(function(e,t,r,n,i){var a=fC(e,t),o=a.reduce(function(p,m){return Ae(Ae({},p),{},_l({},m,[e[m],t[m]]))},{}),u=a.reduce(function(p,m){return Ae(Ae({},p),{},_l({},m,{from:e[m],velocity:0,to:t[m]}))},{}),c=-1,s,f,l=function(){return null},h=function(){return Qr(function(m,x){return x.from},u)},d=function(){return!Object.values(u).filter(Al).length},g=function(m){s||(s=m);var x=m-s,w=x/r.dt;u=RC(r,u,w),i(Ae(Ae(Ae({},e),t),h())),s=m,d()||(c=requestAnimationFrame(l))},v=function(m){f||(f=m);var x=(m-f)/n,w=Qr(function(y,b){return qi.apply(void 0,Tg(b).concat([r(x)]))},o);if(i(Ae(Ae(Ae({},e),t),w)),x<1)c=requestAnimationFrame(l);else{var O=Qr(function(y,b){return qi.apply(void 0,Tg(b).concat([r(1)]))},o);i(Ae(Ae(Ae({},e),t),O))}};return l=r.isStepper?g:v,function(){return requestAnimationFrame(l),function(){cancelAnimationFrame(c)}}});function br(e){"@babel/helpers - typeof";return br=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},br(e)}var DC=["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"];function NC(e,t){if(e==null)return{};var r=qC(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function qC(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,a;for(a=0;a<n.length;a++)i=n[a],!(t.indexOf(i)>=0)&&(r[i]=e[i]);return r}function fs(e){return UC(e)||FC(e)||LC(e)||BC()}function BC(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function LC(e,t){if(e){if(typeof e=="string")return Pl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Pl(e,t)}}function FC(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function UC(e){if(Array.isArray(e))return Pl(e)}function Pl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function jg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ge(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?jg(Object(r),!0).forEach(function(n){Vr(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):jg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Vr(e,t,r){return t=ix(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function WC(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zC(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,ix(n.key),n)}}function HC(e,t,r){return t&&zC(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function ix(e){var t=GC(e,"string");return br(t)==="symbol"?t:String(t)}function GC(e,t){if(br(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(br(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function KC(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Tl(e,t)}function Tl(e,t){return Tl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Tl(e,t)}function XC(e){var t=VC();return function(){var n=Bi(e),i;if(t){var a=Bi(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return El(this,i)}}function El(e,t){if(t&&(br(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return jl(e)}function jl(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function VC(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Bi(e){return Bi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Bi(e)}var At=(function(e){KC(r,e);var t=XC(r);function r(n,i){var a;WC(this,r),a=t.call(this,n,i);var o=a.props,u=o.isActive,c=o.attributeName,s=o.from,f=o.to,l=o.steps,h=o.children,d=o.duration;if(a.handleStyleChange=a.handleStyleChange.bind(jl(a)),a.changeStyle=a.changeStyle.bind(jl(a)),!u||d<=0)return a.state={style:{}},typeof h=="function"&&(a.state={style:f}),El(a);if(l&&l.length)a.state={style:l[0].style};else if(s){if(typeof h=="function")return a.state={style:s},El(a);a.state={style:c?Vr({},c,s):s}}else a.state={style:{}};return a}return HC(r,[{key:"componentDidMount",value:function(){var i=this.props,a=i.isActive,o=i.canBegin;this.mounted=!0,!(!a||!o)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(i){var a=this.props,o=a.isActive,u=a.canBegin,c=a.attributeName,s=a.shouldReAnimate,f=a.to,l=a.from,h=this.state.style;if(u){if(!o){var d={style:c?Vr({},c,f):f};this.state&&h&&(c&&h[c]!==f||!c&&h!==f)&&this.setState(d);return}if(!(tC(i.to,f)&&i.canBegin&&i.isActive)){var g=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var v=g||s?l:i.to;if(this.state&&h){var p={style:c?Vr({},c,v):v};(c&&h[c]!==v||!c&&h!==v)&&this.setState(p)}this.runAnimation(Ge(Ge({},this.props),{},{from:v,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var i=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),i&&i()}},{key:"handleStyleChange",value:function(i){this.changeStyle(i)}},{key:"changeStyle",value:function(i){this.mounted&&this.setState({style:i})}},{key:"runJSAnimation",value:function(i)
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JC(e,t){if(e){if(typeof e=="string")return Mg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Mg(e,t)}}function Mg(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function QC(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function e$(e){if(Array.isArray(e))return e}function Cg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function $g(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Cg(Object(r),!0).forEach(function(n){t$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Cg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function t$(e,t,r){return t=r$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r$(e){var t=n$(e,"string");return An(t)=="symbol"?t:t+""}function n$(e,t){if(An(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(An(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Ig=function(t,r,n,i,a){var o=Math.min(Math.abs(n)/2,Math.abs(i)/2),u=i>=0?1:-1,c=n>=0?1:-1,s=i>=0&&n>=0||i<0&&n<0?1:0,f;if(o>0&&a instanceof Array){for(var l=[0,0,0,0],h=0,d=4;h<d;h++)l[h]=a[h]>o?o:a[h];f="M".concat(t,",").concat(r+u*l[0]),l[0]>0&&(f+="A ".concat(l[0],",").concat(l[0],",0,0,").concat(s,",").concat(t+c*l[0],",").concat(r)),f+="L ".concat(t+n-c*l[1],",").concat(r),l[1]>0&&(f+="A ".concat(l[1],",").concat(l[1],",0,0,").concat(s,`,
|
||||
`).concat(t+n,",").concat(r+u*l[1])),f+="L ".concat(t+n,",").concat(r+i-u*l[2]),l[2]>0&&(f+="A ".concat(l[2],",").concat(l[2],",0,0,").concat(s,`,
|
||||
`).concat(t+n-c*l[2],",").concat(r+i)),f+="L ".concat(t+c*l[3],",").concat(r+i),l[3]>0&&(f+="A ".concat(l[3],",").concat(l[3],",0,0,").concat(s,`,
|
||||
`).concat(t,",").concat(r+i-u*l[3])),f+="Z"}else if(o>0&&a===+a&&a>0){var g=Math.min(o,a);f="M ".concat(t,",").concat(r+u*g,`
|
||||
A `).concat(g,",").concat(g,",0,0,").concat(s,",").concat(t+c*g,",").concat(r,`
|
||||
L `).concat(t+n-c*g,",").concat(r,`
|
||||
A `).concat(g,",").concat(g,",0,0,").concat(s,",").concat(t+n,",").concat(r+u*g,`
|
||||
L `).concat(t+n,",").concat(r+i-u*g,`
|
||||
A `).concat(g,",").concat(g,",0,0,").concat(s,",").concat(t+n-c*g,",").concat(r+i,`
|
||||
L `).concat(t+c*g,",").concat(r+i,`
|
||||
A `).concat(g,",").concat(g,",0,0,").concat(s,",").concat(t,",").concat(r+i-u*g," Z")}else f="M ".concat(t,",").concat(r," h ").concat(n," v ").concat(i," h ").concat(-n," Z");return f},i$=function(t,r){if(!t||!r)return!1;var n=t.x,i=t.y,a=r.x,o=r.y,u=r.width,c=r.height;if(Math.abs(u)>0&&Math.abs(c)>0){var s=Math.min(a,a+u),f=Math.max(a,a+u),l=Math.min(o,o+c),h=Math.max(o,o+c);return n>=s&&n<=f&&i>=l&&i<=h}return!1},a$={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Gf=function(t){var r=$g($g({},a$),t),n=N.useRef(),i=N.useState(-1),a=YC(i,2),o=a[0],u=a[1];N.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var O=n.current.getTotalLength();O&&u(O)}catch{}},[]);var c=r.x,s=r.y,f=r.width,l=r.height,h=r.radius,d=r.className,g=r.animationEasing,v=r.animationDuration,p=r.animationBegin,m=r.isAnimationActive,x=r.isUpdateAnimationActive;if(c!==+c||s!==+s||f!==+f||l!==+l||f===0||l===0)return null;var w=te("recharts-rectangle",d);return x?T.createElement(At,{canBegin:o>0,from:{width:f,height:l,x:c,y:s},to:{width:f,height:l,x:c,y:s},duration:v,animationEasing:g,isActive:x},function(O){var y=O.width,b=O.height,_=O.x,S=O.y;return T.createElement(At,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:p,duration:v,isActive:m,easing:g},T.createElement("path",Li({},ee(r,!0),{className:w,d:Ig(_,S,y,b,h),ref:n})))}):T.createElement("path",Li({},ee(r,!0),{className:w,d:Ig(c,s,f,l,h)}))};function Ml(){return Ml=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ml.apply(this,arguments)}var ax=function(t){var r=t.cx,n=t.cy,i=t.r,a=t.className,o=te("recharts-dot",a);return r===+r&&n===+n&&i===+i?N.createElement("circle",Ml({},ee(t,!1),ui(t),{className:o,cx:r,cy:n,r:i})):null};function Pn(e){"@babel/helpers - typeof";return Pn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pn(e)}var o$=["x","y","top","left","width","height","className"];function Cl(){return Cl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Cl.apply(this,arguments)}function Rg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function u$(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Rg(Object(r),!0).forEach(function(n){c$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function c$(e,t,r){return t=s$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s$(e){var t=l$(e,"string");return Pn(t)=="symbol"?t:t+""}function l$(e,t){if(Pn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Pn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function f$(e,t){if(e==null)return{};var r=h$(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function h$(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var p$=function(t,r,n,i,a,o){return"M".concat(t,",").concat(a,"v").concat(i,"M").concat(o,",").concat(r,"h").concat(n)},d$=function(t){var r=t.x,n=r===void 0?0:r,i=t.y,a=i===void 0?0:i,o=t.top,u=o===void 0?0:o,c=t.left,s=c===void 0?0:c,f=t.width,l=f===void 0?0:f,h=t.height,d=h===void 0?0:h,g=t.className,v=f$(t,o$),p=u$({x:n,y:a,top:u,left:s,width:l,height:d},v);return!q(n)||!q(a)||!q(l)||!q(d)||!q(u)||!q(s)?null:T.createElement("path",Cl({},ee(p,!0),{className:te("recharts-cross",g),d:p$(n,a,l,d,u,s)}))},hs,kg;function v$(){if(kg)return hs;kg=1;var e=xb(),t=e(Object.getPrototypeOf,Object);return hs=t,hs}var ps,Dg;function y$(){if(Dg)return ps;Dg=1;var e=gt(),t=v$(),r=mt(),n="[object Object]",i=Function.prototype,a=Object.prototype,o=i.toString,u=a.hasOwnProperty,c=o.call(Object);function s(f){if(!r(f)||e(f)!=n)return!1;var l=t(f);if(l===null)return!0;var h=u.call(l,"constructor")&&l.constructor;return typeof h=="function"&&h instanceof h&&o.call(h)==c}return ps=s,ps}var g$=y$();const m$=ue(g$);var ds,Ng;function b$(){if(Ng
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function S$(e,t){if(e){if(typeof e=="string")return qg(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return qg(e,t)}}function qg(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function A$(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function P$(e){if(Array.isArray(e))return e}function Bg(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Lg(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Bg(Object(r),!0).forEach(function(n){T$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Bg(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function T$(e,t,r){return t=E$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E$(e){var t=j$(e,"string");return Tn(t)=="symbol"?t:t+""}function j$(e,t){if(Tn(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(Tn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Fg=function(t,r,n,i,a){var o=n-i,u;return u="M ".concat(t,",").concat(r),u+="L ".concat(t+n,",").concat(r),u+="L ".concat(t+n-o/2,",").concat(r+a),u+="L ".concat(t+n-o/2-i,",").concat(r+a),u+="L ".concat(t,",").concat(r," Z"),u},M$={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},C$=function(t){var r=Lg(Lg({},M$),t),n=N.useRef(),i=N.useState(-1),a=O$(i,2),o=a[0],u=a[1];N.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var w=n.current.getTotalLength();w&&u(w)}catch{}},[]);var c=r.x,s=r.y,f=r.upperWidth,l=r.lowerWidth,h=r.height,d=r.className,g=r.animationEasing,v=r.animationDuration,p=r.animationBegin,m=r.isUpdateAnimationActive;if(c!==+c||s!==+s||f!==+f||l!==+l||h!==+h||f===0&&l===0||h===0)return null;var x=te("recharts-trapezoid",d);return m?T.createElement(At,{canBegin:o>0,from:{upperWidth:0,lowerWidth:0,height:h,x:c,y:s},to:{upperWidth:f,lowerWidth:l,height:h,x:c,y:s},duration:v,animationEasing:g,isActive:m},function(w){var O=w.upperWidth,y=w.lowerWidth,b=w.height,_=w.x,S=w.y;return T.createElement(At,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:p,duration:v,easing:g},T.createElement("path",Fi({},ee(r,!0),{className:x,d:Fg(_,S,O,y,b),ref:n})))}):T.createElement("g",null,T.createElement("path",Fi({},ee(r,!0),{className:x,d:Fg(c,s,f,l,h)})))},$$=["option","shapeType","propTransformer","activeClassName","isActive"];function En(e){"@babel/helpers - typeof";return En=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},En(e)}function I$(e,t){if(e==null)return{};var r=R$(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function R$(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Ug(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ui(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ug(Object(r),!0).forEach(function(n){k$(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ug(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function k$(e,t,r){return t=D$(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function D$(e){var t=N$(e,"string");return En(t)=="symbol"?t:t+""}function N$(e,t){if(En(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(En(n)!="object")return n;throw new TypeError("@@t
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gR(e,t){if(e){if(typeof e=="string")return bm(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return bm(e,t)}}function bm(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function mR(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function bR(e){if(Array.isArray(e))return e}function Dl(){return Dl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Dl.apply(this,arguments)}var xR=function(t,r){var n;return T.isValidElement(t)?n=T.cloneElement(t,r):Y(t)?n=t(r):n=T.createElement("line",Dl({},r,{className:"recharts-reference-line-line"})),n},wR=function(t,r,n,i,a,o,u,c,s){var f=a.x,l=a.y,h=a.width,d=a.height;if(n){var g=s.y,v=t.y.apply(g,{position:o});if(rt(s,"discard")&&!t.y.isInRange(v))return null;var p=[{x:f+h,y:v},{x:f,y:v}];return c==="left"?p.reverse():p}if(r){var m=s.x,x=t.x.apply(m,{position:o});if(rt(s,"discard")&&!t.x.isInRange(x))return null;var w=[{x,y:l+d},{x,y:l}];return u==="top"?w.reverse():w}if(i){var O=s.segment,y=O.map(function(b){return t.apply(b,{position:o})});return rt(s,"discard")&&dI(y,function(b){return!t.isInRange(b)})?null:y}return null};function OR(e){var t=e.x,r=e.y,n=e.segment,i=e.xAxisId,a=e.yAxisId,o=e.shape,u=e.className,c=e.alwaysShow,s=rR(),f=Ox(i),l=_x(a),h=aR();if(!s||!h)return null;ht(c===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var d=Kf({x:f.scale,y:l.scale}),g=xe(t),v=xe(r),p=n&&n.length===2,m=wR(d,g,v,p,h,e.position,f.orientation,l.orientation,e);if(!m)return null;var x=vR(m,2),w=x[0],O=w.x,y=w.y,b=x[1],_=b.x,S=b.y,P=rt(e,"hidden")?"url(#".concat(s,")"):void 0,M=mm(mm({clipPath:P},ee(e,!0)),{},{x1:O,y1:y,x2:_,y2:S});return T.createElement(_e,{className:te("recharts-reference-line",u)},xR(o,M),Ee.renderCallByParent(e,zI({x1:O,y1:y,x2:_,y2:S})))}var Qf=(function(e){function t(){return uR(this,t),lR(this,t,arguments)}return pR(t,e),sR(t,[{key:"render",value:function(){return T.createElement(OR,this.props)}}])})(T.Component);Jf(Qf,"displayName","ReferenceLine");Jf(Qf,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle"});function Nl(){return Nl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Nl.apply(this,arguments)}function Sr(e){"@babel/helpers - typeof";return Sr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sr(e)}function xm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function wm(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?xm(Object(r),!0).forEach(function(n){ja(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function _R(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function SR(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Tx(n.key),n)}}function AR(e,t,r){return t&&SR(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function PR(e,t,r){return t=Vi(t),TR(e,Px()?Reflect.construct(t,r||[],Vi(e).constructor):t.apply(e,r))}function TR(e,t){if(t&&(Sr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ER(e)}function ER(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Px(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Px=function(){return!!e})()}function Vi(e){return Vi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Vi(e)}function jR(
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lk(e,t){if(e){if(typeof e=="string")return Gl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gl(e,t)}}function Fk(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Uk(e){if(Array.isArray(e))return Gl(e)}function Gl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var Kl=function(t,r,n,i,a){var o=Ze(t,Qf),u=Ze(t,Ma),c=[].concat(jm(o),jm(u)),s=Ze(t,$a),f="".concat(i,"Id"),l=i[0],h=r;if(c.length&&(h=c.reduce(function(v,p){if(p.props[f]===n&&rt(p.props,"extendDomain")&&q(p.props[l])){var m=p.props[l];return[Math.min(v[0],m),Math.max(v[1],m)]}return v},h)),s.length){var d="".concat(l,"1"),g="".concat(l,"2");h=s.reduce(function(v,p){if(p.props[f]===n&&rt(p.props,"extendDomain")&&q(p.props[d])&&q(p.props[g])){var m=p.props[d],x=p.props[g];return[Math.min(v[0],m,x),Math.max(v[1],m,x)]}return v},h)}return a&&a.length&&(h=a.reduce(function(v,p){return q(p)?[Math.min(v[0],p),Math.max(v[1],p)]:v},h)),h},$s={exports:{}},Mm;function Wk(){return Mm||(Mm=1,(function(e){var t=Object.prototype.hasOwnProperty,r="~";function n(){}Object.create&&(n.prototype=Object.create(null),new n().__proto__||(r=!1));function i(c,s,f){this.fn=c,this.context=s,this.once=f||!1}function a(c,s,f,l,h){if(typeof f!="function")throw new TypeError("The listener must be a function");var d=new i(f,l||c,h),g=r?r+s:s;return c._events[g]?c._events[g].fn?c._events[g]=[c._events[g],d]:c._events[g].push(d):(c._events[g]=d,c._eventsCount++),c}function o(c,s){--c._eventsCount===0?c._events=new n:delete c._events[s]}function u(){this._events=new n,this._eventsCount=0}u.prototype.eventNames=function(){var s=[],f,l;if(this._eventsCount===0)return s;for(l in f=this._events)t.call(f,l)&&s.push(r?l.slice(1):l);return Object.getOwnPropertySymbols?s.concat(Object.getOwnPropertySymbols(f)):s},u.prototype.listeners=function(s){var f=r?r+s:s,l=this._events[f];if(!l)return[];if(l.fn)return[l.fn];for(var h=0,d=l.length,g=new Array(d);h<d;h++)g[h]=l[h].fn;return g},u.prototype.listenerCount=function(s){var f=r?r+s:s,l=this._events[f];return l?l.fn?1:l.length:0},u.prototype.emit=function(s,f,l,h,d,g){var v=r?r+s:s;if(!this._events[v])return!1;var p=this._events[v],m=arguments.length,x,w;if(p.fn){switch(p.once&&this.removeListener(s,p.fn,void 0,!0),m){case 1:return p.fn.call(p.context),!0;case 2:return p.fn.call(p.context,f),!0;case 3:return p.fn.call(p.context,f,l),!0;case 4:return p.fn.call(p.context,f,l,h),!0;case 5:return p.fn.call(p.context,f,l,h,d),!0;case 6:return p.fn.call(p.context,f,l,h,d,g),!0}for(w=1,x=new Array(m-1);w<m;w++)x[w-1]=arguments[w];p.fn.apply(p.context,x)}else{var O=p.length,y;for(w=0;w<O;w++)switch(p[w].once&&this.removeListener(s,p[w].fn,void 0,!0),m){case 1:p[w].fn.call(p[w].context);break;case 2:p[w].fn.call(p[w].context,f);break;case 3:p[w].fn.call(p[w].context,f,l);break;case 4:p[w].fn.call(p[w].context,f,l,h);break;default:if(!x)for(y=1,x=new Array(m-1);y<m;y++)x[y-1]=arguments[y];p[w].fn.apply(p[w].context,x)}}return!0},u.prototype.on=function(s,f,l){return a(this,s,f,l,!1)},u.prototype.once=function(s,f,l){return a(this,s,f,l,!0)},u.prototype.removeListener=function(s,f,l,h){var d=r?r+s:s;if(!this._events[d])return this;if(!f)return o(this,d),this;var g=this._events[d];if(g.fn)g.fn===f&&(!h||g.once)&&(!l||g.context===l)&&o(this,d);else{for(var v=0,p=[],m=g.length;v<m;v++)(g[v].fn!==f||h&&!g[v].once||l&&g[v].context!==l)&&p.push(g[v]);p.length?this._events[d]=p.length===1?p[0]:p:o(this,d)}return this},u.prototype.removeAllListeners=function(s){var f;return s?(f=r?r+s:s,this._events[f]&&o(this,f)):(this._events=new n,this._eventsCount=0),this},u.prototype.off=u.prototype.removeListener,u.prototype.addListener=u.prototype.on,u.prefixed=r,u.EventEmitter=u,e.exports=u})($s)),$s.exports}var zk=Wk();const Hk=ue(zk);var Is=new Hk,Rs="recharts.syncMouseEvents";function Rn(e){"@babel/helpers - typeof";return Rn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rn(e)}function Gk(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Kk(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Ux(n.key),n)}}function Xk(e,t,r){return t&&Kk(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function ks(e,t,r){return t=Ux(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ux(e){var t=Vk(e,"string");return Rn(t)=="symbol"?t:t+""}function Vk(e
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uD(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,t!==0)for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(f){s=!0,i=f}finally{try{if(!c&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(s)throw i}}return u}}function cD(e){if(Array.isArray(e))return e}function Im(e,t){if(e==null)return{};var r=sD(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function sD(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function lD(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function fD(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Gx(n.key),n)}}function hD(e,t,r){return t&&fD(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function pD(e,t,r){return t=ta(t),dD(e,zx()?Reflect.construct(t,r||[],ta(e).constructor):t.apply(e,r))}function dD(e,t){if(t&&(jr(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vD(e)}function vD(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zx(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(zx=function(){return!!e})()}function ta(e){return ta=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},ta(e)}function yD(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Xl(e,t)}function Xl(e,t){return Xl=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Xl(e,t)}function Mr(e){return bD(e)||mD(e)||Hx(e)||gD()}function gD(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hx(e,t){if(e){if(typeof e=="string")return Vl(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Vl(e,t)}}function mD(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function bD(e){if(Array.isArray(e))return Vl(e)}function Vl(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Rm(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function C(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Rm(Object(r),!0).forEach(function(n){H(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rm(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function H(e,t,r){return t=Gx(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Gx(e){var t=xD(e,"string");return jr(t)=="symbol"?t:t+""}function xD(e,t){if(jr(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(jr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var wD={xAxis:["bottom","top"],yAxis:["left","right"]},OD={width:"100%",height:"100%"},Kx={x:0,y:0};function ai(e){return e}var _D=function(t,r){return r==="horizontal"?t.x:r==="vertical"?t.y:r==="centric"?t.angle:t.radius},SD=function(t,r,n,i){var a=r.find(function(f){return f&&f.index===n});if(a){if(t==="horizontal")return{x:a.coordinate,y:i.y};if(t==="vertical")return{x:i.x,y:a.coordinate};if(t==="centric"){var o=a.coordinate,u=i.radius;return C(C(C({},i),Pe(i.cx,i.cy,u,o)),{},{angle:o,radius:u})}var c=a.coordinate,s=i.angle;return C(C(C({},i),Pe(i.cx,i.cy,c,s)),{},{angle:s,radius:c})}return Kx},Ia=function(t,r){var n=r.graphicalItems,i=r.dataStartIndex,a=r.dataEndIndex,o=(n??[]).reduce(function(u,c){var s=c.props.data;return s&&s.length?[].concat(Mr(u),Mr(s)):u},[]);return o.length>0?o:t&&t.length&&q(i)&&q(a)?t.slice(i,a+1):[]};function Xx(e){return e==="number"?[0,"auto"]:void 0}var Yl=function(t,r,n,i){var a=t.graphicalItems,o=t.tooltipAxis,u=Ia(r,t);return n<0||!a||!a.length||n>=u.length?null:a.reduce(function(c,s){var f,l=(f=s.props.data)!==null&&f!==void 0?f:r;l&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(l=l.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(o.dataKey&&!o.allowDuplicatedCategory){var d=l===void 0?u:l;h=oi(d,o.dataKey,i)}else h=l&&l[n]||u[n];return h?[].concat(Mr(c),[K0(s,h)]):c},[])},km=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=_D(a,n),u=t.orderedTooltipTicks,c=t.tooltipAxis,s=t.tooltipTicks,f=HE(o,u,s,c);if(f>=0&&s){var l=s[f]&&s[f].value,h=Yl(t,r,f,l),d=SD(n,u,f,a);return{activeTooltipIndex:f,activeLabel:l,activePayload:h,activeCoordinate:d}}return null},AD=function(t,r){var n=r.axes,i=r.graphicalItems,a=r.axisType,o=r.axisIdKey,u=r.stackGroups,c=r.dataStartIndex,s=r.dataEndIndex,f=t.layout,l=t.children,h=t.stackOffset,d=F0(f,a);return n.reduce(function(g,v){var p,m=v.type.defaultProps!==void 0?C(C({},v.type.defaultProps),v.props):v.props,x=m.type,w=m.dataKey,O=m.allowDataOverflow,y=m.allowDuplicatedCategory,b=m.scale,_=m.ticks,S=m.includeHidden,P=m[o];if(g[P])return g;var M=Ia(t.data,{graphicalItems:i.filter(function(U){var K,ce=o in U.props?U.props[o]:(K=U.type.defaultProps)===null||K===void 0?void 0:K[o];return ce===P}),dataStartIndex:c,dataEndIndex:s}),A=M.length,E,j,I;Zk(m.domain,O,x)&&(E=yl(m.domain,null,O),d&&(x==="number"||b!=="auto")&&(I=Jr(M,w,"category")));var $=Xx(x);if(!E||E.length===0){var R,D=(R=m.domain)!==null&&R!==void 0?R:$;if(w){if(E=Jr(M,w,x),x==="category"&&d){var B=Nw(E);y&&B?(j=E,E=Wi(0,A)):y||(E=Zy(D,E,v).reduce(function(U,K){return U.indexOf(K)>=0?U:[].concat(Mr(U),[K])},[]))}else if(x==="category")y?E=E.filter(function(U){return U!==""&&!Z(U)}):E=Zy(D,E,v).reduce(function(U,K){return U.indexOf(K)>=0||K===""||Z(K)?U:[].concat(Mr(U),[K])},[]);else if(x==="number"){var L=YE(M,i.filter(function(U){var K,ce,pe=o in U.props?U.props[o]:(K=U.type.defaultProps)===null||K===void 0?void 0:K[o],ke="hide"in U.props?U.props.hide:(ce=U.type.defaultProps)===null||ce===void 0?void 0:ce.hide;return pe===P&&(S||!ke)}),w,a,f);L&&(E=L)}d&&(x==="number"||b!=="auto")&&(I=Jr(M,w,"category"))}else d?E=Wi(0,A):u&&u[P]&&u[P].hasStack&&x==="number"?E=h==="expand"?[0,1]:G0(u[P].stackGroups,c,s):E=L0(M,i.filter(function(U){var K=o in U.props?U.props[o]:U.type.defaultProps[o],ce="hide"in U.props?U.props.hide:U.type.defau
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
const e={getDashboards:async()=>({data:[],total:0}),getDatasources:async()=>({data:[],total:0}),createDashboard:async a=>({success:!1}),updateDashboard:async(a,s)=>({success:!1}),deleteDashboard:async a=>({success:!1}),createDatasource:async a=>({success:!1})};export{e as d};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as e}from"./index-HuRw9UhJ.js";const y=[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]],a=e("hard-drive",y);export{a as H};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as o}from"./index-HuRw9UhJ.js";const t=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],a=o("history",t);export{a as H};
|
||||
@@ -0,0 +1 @@
|
||||
import{l as a,u as o}from"./index-HuRw9UhJ.js";import{d as i}from"./dashboard-H9WVvG1k.js";import{r as t,s as A}from"./server-BQNr9a-x.js";import{k as x}from"./index-GZwpRmKU.js";import{p as l}from"./pipeline-CRmSOJEC.js";import{d}from"./config-J-uY34Cv.js";import{c as b,s as u}from"./credential-snjgV65G.js";import{c as k,s as v,t as z}from"./automation-B8G9u7Xj.js";import{a as y}from"./alert-Bnyn6ibM.js";import{a as D}from"./alert-center-BbLaFZ2d.js";import{s as S}from"./site-DAeTLSaK.js";import{t as E}from"./trace-L8uY5gM3.js";import{d as L}from"./grafana-DTc3taUi.js";import{p as j,z as q}from"./datasource-CLdSbgtw.js";import{m as F,p as G,s as H,z as I}from"./metrics-Q051aLdz.js";import{a as M}from"./agent-CTqsAA8l.js";import{b as O,c as Q,p as R}from"./cloud-sEaHmpLm.js";import{a as U,l as V,s as X,t as Y}from"./terminal-DvxWm4UP.js";import{b as _,a as $}from"./approval-BpnRjDXJ.js";import{a as rp}from"./ai-CnRvgCA9.js";export{M as agentApi,rp as aiApi,y as alertApi,D as alertCenterApi,_ as approvalApi,$ as approvalWorkflowApi,U as auditApi,O as billingApi,Q as cloudApi,b as credentialApi,k as cronJobApi,L as dashboardApi,i as dashboardStatsApi,d as deployApi,x as kubernetesApi,a as ldapApi,V as loginLogApi,F as metricsApi,l as pipelineApi,R as platformApi,j as promDatasourceApi,G as prometheusProxyApi,t as regionApi,v as scriptApi,A as serverApi,u as serverCredentialApi,X as sessionCommandApi,S as siteApi,H as snmpApi,z as taskExecutionApi,Y as terminalSessionApi,E as traceApi,o as userApi,q as zabbixDatasourceApi,I as zabbixProxyApi};
|
||||
@@ -0,0 +1 @@
|
||||
import{r as u}from"./index-HuRw9UhJ.js";function o(r){const e=u.useRef({value:r,previous:r});return u.useMemo(()=>(e.current.value!==r&&(e.current.previous=e.current.value,e.current.value=r),e.current.previous),[r])}export{o as u};
|
||||
@@ -0,0 +1,2 @@
|
||||
import{h as n,aX as u,aY as l,aZ as i}from"./index-HuRw9UhJ.js";const m={getClusters:async()=>n.get("/kubernetes-clusters"),getClusterDetail:async e=>n.get(`/kubernetes-clusters/${e}/detail`),createCluster:async e=>n.post("/kubernetes-clusters",e),updateCluster:async(e,s)=>n.put(`/kubernetes-clusters/${e}`,s),deleteCluster:async e=>n.delete(`/kubernetes-clusters/${e}`),getPods:async e=>n.get(`/kubernetes-clusters/${e}/pods`),getDeployments:async e=>n.get(`/kubernetes-clusters/${e}/deployments`),getServices:async e=>n.get(`/kubernetes-clusters/${e}/services`),getIngresses:async e=>n.get(`/kubernetes-clusters/${e}/ingresses`),syncCluster:async e=>n.post(`/kubernetes-clusters/${e}/sync`),exportAllResources:async e=>n.download(`/kubernetes/${e}/export`,`cluster-${e}-resources.tar.gz`),getTopology:async e=>n.get(`/kubernetes-clusters/${e}/topology`),saveTopology:async(e,s)=>n.put(`/kubernetes-clusters/${e}/topology`,{layout_data:s}),getMultiClusterComparison:async()=>n.get("/kubernetes/compare")},g={getNodes:async e=>n.get(`/kubernetes-clusters/${e}/nodes`),getClusterNodes:async e=>n.get(`/kubernetes/${e}/nodes`),getNodeDetail:async(e,s)=>n.get(`/kubernetes/${e}/nodes/${encodeURIComponent(s)}`)};function y(e,s){if(s.length===0)return;const t=Object.keys(s[0]),a=[t.join(","),...s.map(o=>t.map(p=>JSON.stringify(o[p]??"")).join(","))].join(`
|
||||
`),r=new Blob(["\uFEFF"+a],{type:"text/csv;charset=utf-8;"}),c=document.createElement("a");c.href=URL.createObjectURL(r),c.download=e,c.click(),URL.revokeObjectURL(c.href)}function b(e,s){const t=new Blob([JSON.stringify(s,null,2)],{type:"application/json"}),a=document.createElement("a");a.href=URL.createObjectURL(t),a.download=e,a.click(),URL.revokeObjectURL(a.href)}function d(e,s,t,a={}){const r=new URLSearchParams;return r.set("stream","true"),a.container&&r.set("container",a.container),a.tailLines&&a.tailLines>0&&r.set("tailLines",String(a.tailLines)),a.previous&&r.set("previous","true"),a.sinceTime&&r.set("sinceTime",a.sinceTime),l(`/kubernetes/${e}/namespace/${s}/pods/${t}/logs`,r)}function k(e,s,t,a,r){const c=new URLSearchParams;a&&c.set("container",a),r&&c.set("command",r);const o=u();o&&c.set("token",o);const p=c.toString();return`${i()}/ws/kubernetes-exec/${e}/namespaces/${s}/pods/${t}${p?`?${p}`:""}`}function $(e,s,t,a,r){const c=new URLSearchParams({path:a});r&&c.set("container",r);const o=u();return o&&c.set("token",o),l(`/kubernetes/${e}/namespace/${s}/pods/${t}/files/download`,c)}async function f(e,s,t,a,r){const c=$(e,s,t,a,r),o=await fetch(c);if(!o.ok)throw new Error(`HTTP ${o.status}`);return o.text()}async function S(e,s,t,a,r,c){const o=new FormData;return o.append("file",r),o.append("path",a),c&&o.append("container",c),n.upload(`/kubernetes/${e}/namespace/${s}/pods/${t}/files/upload`,o)}const v={getPodLogs:async(e,s,t,a=200,r)=>{const c=new URLSearchParams({tail:String(a)});return r&&c.set("container",r),n.get(`/kubernetes/${e}/namespace/${s}/pods/${t}/logs?${c}`)},getPodLogsEnhanced:async(e,s,t,a={})=>{const r=new URLSearchParams;a.container&&r.set("container",a.container),a.tailLines&&a.tailLines>0&&r.set("tailLines",String(a.tailLines)),a.previous&&r.set("previous","true"),a.sinceTime&&r.set("sinceTime",a.sinceTime);const c=r.toString();return n.get(`/kubernetes/${e}/namespace/${s}/pods/${t}/logs${c?`?${c}`:""}`)},buildPodLogsStreamUrl:d,execPod:async(e,s,t,a,r)=>n.post(`/kubernetes/${e}/namespace/${s}/pods/${t}/exec`,{command:a,container:r}),buildPodExecWsUrl:k,listPodFiles:async(e,s,t,a,r)=>n.post(`/kubernetes/${e}/namespace/${s}/pods/${t}/files/list`,{path:a,container:r}),buildPodFileDownloadUrl:$,readPodFileText:f,uploadPodFile:S,getPodMetrics:async(e,s)=>{const t=s?{namespace:s}:void 0;return n.get(`/kubernetes/${e}/metrics/pods`,t)},getAllPods:async e=>n.get(`/kubernetes/${e}/pods`),getNamespacePods:async(e,s)=>n.get(`/kubernetes/${e}/namespace/${s}/pods`)},L={scaleDeployment:async(e,s,t,a)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/scale`,{replicas:a}),restartDeployment:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/restart`),pauseDeployment:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/pause`),resumeDeployment:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/resume`),updateDeploymentImage:async(e,s,t,a,r)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/update-image`,{image:a,container_name:r}),getHPAs:async(e,s)=>s?n.get(`/kubernetes/${e}/namespace/${s}/hpas`):n.get(`/kubernetes/${e}/hpas`),createHPA:async(e,s)=>n.post(`/kubernetes/${e}/namespace/${s.namespace}/hpas`,s),deleteHPA:async(e,s,t)=>n.delete(`/kubernetes/${e}/namespace/${s}/hpas/${t}`),getCronJobs:async(e,s)=>s?n.get(`/kubernetes/${e}/namespace/${s}/cronjobs`):n.get(`/kubernetes-clusters/${e}/cronjobs`),createCronJob:async(e,s)=>n.post(`/kubernetes/${e}/namespace/${s.namespace}/cronjobs`,s),suspendCronJob:async(e,s,t,a)=>n.post(`/kubernetes/${e}/namespace/${s}/cronjobs/${t}/suspend`,{suspend:a}),triggerCronJob:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/cronjobs/${t}/trigger`),deleteCronJob:async(e,s,t)=>n.delete(`/kubernetes/${e}/namespace/${s}/cronjobs/${t}`),getNamespaceDeployments:async(e,s)=>n.get(`/kubernetes/${e}/namespace/${s}/deployments`),getAllDeployments:async e=>n.get(`/kubernetes/${e}/deployments`),getStatefulSets:async(e,s)=>n.get(`/kubernetes/${e}/namespace/${s}/statefulsets`),getDaemonSets:async(e,s)=>n.get(`/kubernetes/${e}/namespace/${s}/daemonsets`),getStatefulSetDetail:async(e,s,t)=>n.get(`/kubernetes/${e}/namespace/${s}/statefulsets/${t}`),getDaemonSetDetail:async(e,s,t)=>n.get(`/kubernetes/${e}/namespace/${s}/daemonsets/${t}`),scaleStatefulSet:async(e,s,t,a)=>n.post(`/kubernetes/${e}/namespace/${s}/statefulsets/${t}/scale`,{replicas:a}),restartStatefulSet:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/statefulsets/${t}/restart`,{}),restartDaemonSet:async(e,s,t)=>n.post(`/kubernetes/${e}/namespace/${s}/daemonsets/${t}/restart`,{}),getReplicaSets:async(e,s)=>n.get(`/kubernetes/${e}/namespace/${s}/replicasets`),getDeploymentRevisions:async(e,s,t)=>n.get(`/kubernetes/${e}/namespace/${s}/deployments/${t}/revisions`),rollbackDeployment:async(e,s,t,a)=>n.post(`/kubernetes/${e}/namespace/${s}/deployments/${t}/rollback`,{revision:a}),getDeployment:async(e,s,t)=>{try{return await n.get(`/kLine truncated
|
||||
@@ -0,0 +1,103 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Dashboard-Bnak5ucm.js","./dashboard-H9WVvG1k.js","./server-BQNr9a-x.js","./index-GZwpRmKU.js","./stat-strip-CVviXwc6.js","./card-B2Wqa0sK.js","./badge-CeS-g-Od.js","./hard-drive-laLCm9TI.js","./generateCategoricalChart-DrSMejeS.js","./AreaChart-CTVvt9LZ.js","./BarChart-DrZfTE9F.js","./memory-stick-CLkdveMl.js","./arrow-right-C1YbOgFu.js","./circle-DV2nF4ie.js","./ServerManager-BdA0wLle.js","./input-C9Xfv8um.js","./checkbox-B7nWBaO4.js","./index-DwvHXNyF.js","./table-Du1vU-OM.js","./select-KDzbUQs3.js","./chevron-up-GXrRy2ul.js","./cloud-sEaHmpLm.js","./refresh-cw-CSycAyA2.js","./search-CcKEpJIn.js","./xterm-DSqgeKvr.js","./xterm-DXOU9pbP.css","./xterm-utils-slbfdUHf.js","./credential-snjgV65G.js","./minimize-2-UErWMOt6.js","./folder-open-BKJ-_5eY.js","./upload-oCjAhX91.js","./folder-CyecCkCR.js","./arrow-left-J2A6V6Vq.js","./download-CjFatm64.js","./trash-2-Cf9-88KL.js","./label-DvRDtaMA.js","./textarea-Bzol9o6k.js","./save-PutEGGnz.js","./ellipsis-DJJV1WjU.js","./square-pen-DoCLytAo.js","./plus-BVwIGPvl.js","./CloudAccountManager-CLQenaRF.js","./circle-check-C5nUiTvE.js","./circle-x-BVvXVx7p.js","./pencil-BZ7zX3m0.js","./DomainManager-CHC6sChS.js","./pen-C8XHRV1-.js","./RegionManager-BFNjY75O.js","./PlatformManager-DYWQVw7P.js","./external-link-JBfQbjOd.js","./CloudBilling-C3BHo3kq.js","./switch--ZaqVsRJ.js","./KubernetesClusters-B4vM2QEv.js","./tabs-XYsjnHzX.js","./ClusterOverviewPage-BPSLpoOc.js","./use-toast-B25j_Fg3.js","./NodeDetailPage-IxQ40-DV.js","./NamespaceOverviewPage-BumTO5ru.js","./file-text-BqORyhNh.js","./NamespaceManagementPage-C1sCMII5.js","./NamespaceResourcePage-BmrlmCyr.js","./PodFileBrowser-DmjH49sm.js","./copy-Ci4WwJkK.js","./sparkles-DEwze8TU.js","./box-DPoVh2_c.js","./rotate-cw-Dt34Qj6N.js","./DeploymentDetailPage-aR6BSOsO.js","./history-CLAzTAyT.js","./minus-BLAorVC4.js","./zap-CS68N0Jd.js","./play-BXdOitsb.js","./disc-DI2GsPrr.js","./pause-R-v_3hMV.js","./WorkloadViewPage-NQ3P_0qZ.js","./tag-DcJS0iSd.js","./TopologyView-BXbq9t6z.js","./KubernetesNodes-Cd8cE9T3.js","./PodMetricsPage-DHZlrrD1.js","./EventsPage-PYWulpek.js","./layers-DZGQE4Gb.js","./CapacityPage-C5V-gcbH.js","./AlertManager-CIlo8zNg.js","./alert-Bnyn6ibM.js","./AlertRuleDialog-prj74zKK.js","./message-square-D6FQV-gp.js","./phone-xS_7A3bu.js","./ApprovalFlow-CBfXmRHu.js","./approval-BpnRjDXJ.js","./funnel-D7YDgUpE.js","./ApprovalResourcePage-D5tLYuMB.js","./ApprovalCategoryPage-DAN5ugD6.js","./ApprovalAppPage-Cb_9-VSM.js","./ApprovalPermissionPage-sD3jOkW3.js","./ApprovalWorkflowPage-CkiDNOXx.js","./star-CJEUXmIA.js","./arrow-up-CmLz9pAr.js","./ScriptManager-BtBVGWKQ.js","./automation-B8G9u7Xj.js","./SystemManager-Cttw8UXN.js","./user-plus-DK2M0PwG.js","./AuditPage-C5Vt2l8W.js","./unwrap-s5xDIyKq.js","./useMutation-ChnF9A9K.js","./terminal-DvxWm4UP.js","./CredentialManager-C46yBTw4.js","./PipelineManager-DEcxTfnk.js","./pipeline-CRmSOJEC.js","./circle-stop-CNrDSTTb.js","./config-J-uY34Cv.js","./code-CQ7c-p8-.js","./DeployCredentials-CD3-Crfj.js","./wrench-BNS3BrjG.js","./PipelineEditor-BgDAvyBk.js","./PipelineRunDetail-602z_gJG.js","./square-DC6JUotK.js","./DeployRBAC-DAr86RmB.js","./UserGroupsManager-D865-bMJ.js","./CronJobManager-Cc8oTcmF.js","./package-open-DtPFmjqV.js","./AIOpsAssistant-BPaKdP8e.js","./agent-CTqsAA8l.js","./ai-CnRvgCA9.js","./trending-up-C97I6AeO.js","./wifi-DF9mrE-Q.js","./AIAlertAnalyzer-Dq6bqdDE.js","./AIPredictiveAnalytics-B2FT7nSj.js","./calendar-DY9lnH9R.js","./AlertCenter-CV_ShMbm.js","./alert-center-BbLaFZ2d.js","./TraceManager-BQ4plJoS.js","./trace-L8uY5gM3.js","./HostMonitor-CTNG5an2.js","./GrafanaDashboard-B-wruqMH.js","./grafana-DTc3taUi.js","./datasource-CLdSbgtw.js","./metrics-Q051aLdz.js","./arrow-up-down-C2LsDqn8.js","./MonitorCenter-QkAKQ3Hb.js","./site-DAeTLSaK.js","./MetricsExplorer-CYgoYJCp.js","./DatasourcePage-BdYbKb3w.js"])))=>i.map(i=>d[i]);
|
||||
function W2(n,r){for(var l=0;l<r.length;l++){const s=r[l];if(typeof s!="string"&&!Array.isArray(s)){for(const i in s)if(i!=="default"&&!(i in n)){const u=Object.getOwnPropertyDescriptor(s,i);u&&Object.defineProperty(n,i,u.get?u:{enumerable:!0,get:()=>s[i]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const u of i)if(u.type==="childList")for(const f of u.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&s(f)}).observe(document,{childList:!0,subtree:!0});function l(i){const u={};return i.integrity&&(u.integrity=i.integrity),i.referrerPolicy&&(u.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?u.credentials="include":i.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function s(i){if(i.ep)return;i.ep=!0;const u=l(i);fetch(i.href,u)}})();var EO=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function pv(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var od={exports:{}},Qo={};var qg;function eS(){if(qg)return Qo;qg=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function l(s,i,u){var f=null;if(u!==void 0&&(f=""+u),i.key!==void 0&&(f=""+i.key),"key"in i){u={};for(var h in i)h!=="key"&&(u[h]=i[h])}else u=i;return i=u.ref,{$$typeof:n,type:s,key:f,ref:i!==void 0?i:null,props:u}}return Qo.Fragment=r,Qo.jsx=l,Qo.jsxs=l,Qo}var Vg;function tS(){return Vg||(Vg=1,od.exports=eS()),od.exports}var p=tS(),ld={exports:{}},xe={};var Gg;function nS(){if(Gg)return xe;Gg=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),w=Symbol.iterator;function A(T){return T===null||typeof T!="object"?null:(T=w&&T[w]||T["@@iterator"],typeof T=="function"?T:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,E={};function M(T,Y,F){this.props=T,this.context=Y,this.refs=E,this.updater=F||_}M.prototype.isReactComponent={},M.prototype.setState=function(T,Y){if(typeof T!="object"&&typeof T!="function"&&T!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,T,Y,"setState")},M.prototype.forceUpdate=function(T){this.updater.enqueueForceUpdate(this,T,"forceUpdate")};function L(){}L.prototype=M.prototype;function D(T,Y,F){this.props=T,this.context=Y,this.refs=E,this.updater=F||_}var U=D.prototype=new L;U.constructor=D,C(U,M.prototype),U.isPureReactComponent=!0;var q=Array.isArray;function Z(){}var G={H:null,A:null,T:null,S:null},K=Object.prototype.hasOwnProperty;function ee(T,Y,F){var J=F.ref;return{$$typeof:n,type:T,key:Y,ref:J!==void 0?J:null,props:F}}function se(T,Y){return ee(T.type,Y,T.props)}function pe(T){return typeof T=="object"&&T!==null&&T.$$typeof===n}function ge(T){var Y={"=":"=0",":":"=2"};return"$"+T.replace(/[=:]/g,function(F){return Y[F]})}var Ae=/\/+/g;function be(T,Y){return typeof T=="object"&&T!==null&&T.key!=null?ge(""+T.key):Y.toString(36)}function ve(T){switch(T.status){case"fulfilled":return T.value;case"rejected":throw T.reason;default:switch(typeof T.status=="string"?T.then(Z,Z):(T.status="pending",T.then(function(Y){T.status==="pending"&&(T.status="fulfilled",T.value=Y)},function(Y){T.status==="pending"&&(T.status="rejected",T.reason=Y)})),T.status){case"fulfilled":return T.value;case"rejected":throw T.reason}}throw T}function N(T,Y,F,J,ce){var me=typeof T;(me==="undefined"||me==="boolean")&&(T=null);var te=!1;if(T===null)te=!0;else switch(me){case"bigint":case"string":case"number":te=!0;break;case"object":switch(T.$$typeof){case n:case r:te=!0;break;case x:return te=T._init,N(te(T._payload),Y,F,J,ce)}}if(te)return ce=ce(T),te=J===""?"."+be(T,0):J,q(ce)?(F="",te!=null&&(F=te.replace(Ae,"$&/")+"/"),N(ce,Y,F,"",function(Vt){return Vt})):ce!=null&&(pe(ce)&&(ce=se(ce,F+(ce.key==null||T&&T.key===ce.key?"":(""+ce.key).replace(Ae,"$&/")+"/")+te)),Y.push(ce)),1;te=0;var Qe=J===""?".":J+":";if(q(T))for(var Le=0;Le<T.length;Le++)J=T[Le],me=Qe+be(J,Le),te+=N(J,Y,F,me,ce);else if(Le=A(T),typeof Le=="function")for(T=Le.call(T),Le=0;!(J=T.next()).done;)J=J.value,me=Qe+be(J,Le++),te+=N(J,Y,F,me,ce);else if(me==="object"){if(typeof T.then=="function")return N(ve(T),Y,F,J,ce);throw Y=String(T),Error("Objects are not valid as a React child (found: "+(Y==="[object Object]"?"objectLine truncated
|
||||
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
|
||||
`+hn+e+_a}var Vi=!1;function Gi(e,t){if(!e||Vi)return"";Vi=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var o={DetermineComponentFrameRoot:function(){try{if(t){var Q=function(){throw Error()};if(Object.defineProperty(Q.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Q,[])}catch(B){var H=B}Reflect.construct(e,[],Q)}else{try{Q.call()}catch(B){H=B}e.call(Q.prototype)}}else{try{throw Error()}catch(B){H=B}(Q=e())&&typeof Q.catch=="function"&&Q.catch(function(){})}}catch(B){if(B&&H&&typeof B.stack=="string")return[B.stack,H.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var c=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,"name");c&&c.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var d=o.DetermineComponentFrameRoot(),v=d[0],S=d[1];if(v&&S){var R=v.split(`
|
||||
`),k=S.split(`
|
||||
`);for(c=o=0;o<R.length&&!R[o].includes("DetermineComponentFrameRoot");)o++;for(;c<k.length&&!k[c].includes("DetermineComponentFrameRoot");)c++;if(o===R.length||c===k.length)for(o=R.length-1,c=k.length-1;1<=o&&0<=c&&R[o]!==k[c];)c--;for(;1<=o&&0<=c;o--,c--)if(R[o]!==k[c]){if(o!==1||c!==1)do if(o--,c--,0>c||R[o]!==k[c]){var V=`
|
||||
`+R[o].replace(" at new "," at ");return e.displayName&&V.includes("<anonymous>")&&(V=V.replace("<anonymous>",e.displayName)),V}while(1<=o&&0<=c);break}}}finally{Vi=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Ra(a):""}function Ox(e,t){switch(e.tag){case 26:case 27:case 5:return Ra(e.type);case 16:return Ra("Lazy");case 13:return e.child!==t&&t!==null?Ra("Suspense Fallback"):Ra("Suspense");case 19:return Ra("SuspenseList");case 0:case 15:return Gi(e.type,!1);case 11:return Gi(e.type.render,!1);case 1:return Gi(e.type,!0);case 31:return Ra("Activity");default:return""}}function qf(e){try{var t="",a=null;do t+=Ox(e,a),a=e,e=e.return;while(e);return t}catch(o){return`
|
||||
Error generating stack: `+o.message+`
|
||||
`+o.stack}}var Yi=Object.prototype.hasOwnProperty,Xi=n.unstable_scheduleCallback,Qi=n.unstable_cancelCallback,jx=n.unstable_shouldYield,Nx=n.unstable_requestPaint,Tt=n.unstable_now,Dx=n.unstable_getCurrentPriorityLevel,Vf=n.unstable_ImmediatePriority,Gf=n.unstable_UserBlockingPriority,vl=n.unstable_NormalPriority,zx=n.unstable_LowPriority,Yf=n.unstable_IdlePriority,kx=n.log,Lx=n.unstable_setDisableYieldValue,Wr=null,Mt=null;function Fn(e){if(typeof kx=="function"&&Lx(e),Mt&&typeof Mt.setStrictMode=="function")try{Mt.setStrictMode(Wr,e)}catch{}}var Ot=Math.clz32?Math.clz32:Bx,Hx=Math.log,Ux=Math.LN2;function Bx(e){return e>>>=0,e===0?32:31-(Hx(e)/Ux|0)|0}var xl=256,bl=262144,Sl=4194304;function Ta(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function wl(e,t,a){var o=e.pendingLanes;if(o===0)return 0;var c=0,d=e.suspendedLanes,v=e.pingedLanes;e=e.warmLanes;var S=o&134217727;return S!==0?(o=S&~d,o!==0?c=Ta(o):(v&=S,v!==0?c=Ta(v):a||(a=S&~e,a!==0&&(c=Ta(a))))):(S=o&~d,S!==0?c=Ta(S):v!==0?c=Ta(v):a||(a=o&~e,a!==0&&(c=Ta(a)))),c===0?0:t!==0&&t!==c&&(t&d)===0&&(d=c&-c,a=t&-t,d>=a||d===32&&(a&4194048)!==0)?t:c}function eo(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Px(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Xf(){var e=Sl;return Sl<<=1,(Sl&62914560)===0&&(Sl=4194304),e}function Ki(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function to(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function qx(e,t,a,o,c,d){var v=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var S=e.entanglements,R=e.expirationTimes,k=e.hiddenUpdates;for(a=v&~a;0<a;){var V=31-Ot(a),Q=1<<V;S[V]=0,R[V]=-1;var H=k[V];if(H!==null)for(k[V]=null,V=0;V<H.length;V++){var B=H[V];B!==null&&(B.lane&=-536870913)}a&=~Q}o!==0&&Qf(e,o,0),d!==0&&c===0&&e.tag!==0&&(e.suspendedLanes|=d&~(v&~t))}function Qf(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var o=31-Ot(t);e.entangledLanes|=t,e.entanglements[o]=e.entanglements[o]|1073741824|a&261930}function Kf(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var o=31-Ot(a),c=1<<o;c&t|e[o]&t&&(e[o]|=t),a&=~c}}function $f(e,t){var a=t&-t;return a=(a&42)!==0?1:$i(a),(a&(e.suspendedLanes|t))!==0?0:a}function $i(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Fi(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Ff(){var e=$.p;return e!==0?e:(e=window.event,e===void 0?32:zg(e.type))}function Zf(e,t){var a=$.p;try{return $.p=e,t()}finally{$.p=a}}var Zn=Math.random().toString(36).slice(2),st="__reactFiber$"+Zn,vt="__reactProps$"+Zn,Ja="__reactContainer$"+Zn,Zi="__reactEvents$"+Zn,Vx="__reactListeners$"+Zn,Gx="__reactHandles$"+Zn,If="__reactResources$"+Zn,no="__reactMarker$"+Zn;function Ii(e){delete e[st],delete e[vt],delete e[Zi],delete e[Vx],delete e[Gx]}function Wa(e){var t=e[st];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Ja]||a[st]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=vg(e);e!==null;){if(a=e[st])return a;e=vg(e)}return t}e=a,a=e.parentNode}return null}function er(e){if(e=e[st]||e[Ja]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function ao(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(s(33))}function tr(e){var t=e[If];return t||(t=e[If]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function ot(e){e[no]=!0}var Jf=new Set,Wf={};function Ma(e,t){nr(e,t),nr(e+"Capture",t)}function nr(e,t){for(Wf[e]=t,e=0;e<t.length;e++)Jf.add(t[e])}var Yx=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u21
Line truncated
|
||||
`).replace(S2,"")}function ig(e,t){return t=sg(t),sg(e)===t}function Ue(e,t,a,o,c,d){switch(a){case"children":typeof o=="string"?t==="body"||t==="textarea"&&o===""||rr(e,o):(typeof o=="number"||typeof o=="bigint")&&t!=="body"&&rr(e,""+o);break;case"className":Al(e,"class",o);break;case"tabIndex":Al(e,"tabindex",o);break;case"dir":case"role":case"viewBox":case"width":case"height":Al(e,a,o);break;case"style":ip(e,o,d);break;case"data":if(t!=="object"){Al(e,"data",o);break}case"src":case"href":if(o===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(o==null||typeof o=="function"||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(a);break}o=_l(""+o),e.setAttribute(a,o);break;case"action":case"formAction":if(typeof o=="function"){e.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof d=="function"&&(a==="formAction"?(t!=="input"&&Ue(e,t,"name",c.name,c,null),Ue(e,t,"formEncType",c.formEncType,c,null),Ue(e,t,"formMethod",c.formMethod,c,null),Ue(e,t,"formTarget",c.formTarget,c,null)):(Ue(e,t,"encType",c.encType,c,null),Ue(e,t,"method",c.method,c,null),Ue(e,t,"target",c.target,c,null)));if(o==null||typeof o=="symbol"||typeof o=="boolean"){e.removeAttribute(a);break}o=_l(""+o),e.setAttribute(a,o);break;case"onClick":o!=null&&(e.onclick=Rn);break;case"onScroll":o!=null&&_e("scroll",e);break;case"onScrollEnd":o!=null&&_e("scrollend",e);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(s(61));if(a=o.__html,a!=null){if(c.children!=null)throw Error(s(60));e.innerHTML=a}}break;case"multiple":e.multiple=o&&typeof o!="function"&&typeof o!="symbol";break;case"muted":e.muted=o&&typeof o!="function"&&typeof o!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(o==null||typeof o=="function"||typeof o=="boolean"||typeof o=="symbol"){e.removeAttribute("xlink:href");break}a=_l(""+o),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(a,""+o):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":o&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":o===!0?e.setAttribute(a,""):o!==!1&&o!=null&&typeof o!="function"&&typeof o!="symbol"?e.setAttribute(a,o):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":o!=null&&typeof o!="function"&&typeof o!="symbol"&&!isNaN(o)&&1<=o?e.setAttribute(a,o):e.removeAttribute(a);break;case"rowSpan":case"start":o==null||typeof o=="function"||typeof o=="symbol"||isNaN(o)?e.removeAttribute(a):e.setAttribute(a,o);break;case"popover":_e("beforetoggle",e),_e("toggle",e),El(e,"popover",o);break;case"xlinkActuate":_n(e,"http://www.w3.org/1999/xlink","xlink:actuate",o);break;case"xlinkArcrole":_n(e,"http://www.w3.org/1999/xlink","xlink:arcrole",o);break;case"xlinkRole":_n(e,"http://www.w3.org/1999/xlink","xlink:role",o);break;case"xlinkShow":_n(e,"http://www.w3.org/1999/xlink","xlink:show",o);break;case"xlinkTitle":_n(e,"http://www.w3.org/1999/xlink","xlink:title",o);break;case"xlinkType":_n(e,"http://www.w3.org/1999/xlink","xlink:type",o);break;case"xmlBase":_n(e,"http://www.w3.org/XML/1998/namespace","xml:base",o);break;case"xmlLang":_n(e,"http://www.w3.org/XML/1998/namespace","xml:lang",o);break;case"xmlSpace":_n(e,"http://www.w3.org/XML/1998/namespace","xml:space",o);break;case"is":El(e,"is",o);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Fx.get(a)||a,El(e,a,o))}}function qu(e,t,a,o,c,d){switch(a){case"style":ip(e,o,d);break;case"dangerouslySetInnerHTML":if(o!=null){if(typeof o!="object"||!("__html"in o))throw Error(s(61));if(a=o.__html,a!=null){if(c.children!=null)throw Error(s(60));e.innerHTML=a}}break;case"children":typeof o=="string"?rr(e,o):(typeof o=="number"||typeof o=="bigint")&&rr(e,""+o);break;case"onScroll":o!=null&&_e("scroll",e);break;case"onScrollEnd":o!=null&&_e("scrollend",e);break;case"onClick":o!=null&&(e.onclick=Rn);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"inne
Line truncated
|
||||
|
||||
Please change the parent <Route path="${E}"> to <Route path="${E==="/"?"*":`${E}/*`}">.`)}let x=_t(),b;if(r){let E=typeof r=="string"?Qr(r):r;$e(y==="/"||E.pathname?.startsWith(y),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${y}" but pathname "${E.pathname}" was given in the \`location\` prop.`),b=E}else b=x;let w=b.pathname||"/",A=w;if(y!=="/"){let E=y.replace(/^\//,"").split("/");A="/"+w.replace(/^\//,"").split("/").slice(E.length).join("/")}let _=mv(n,{pathname:A});tn(g||_!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),tn(_==null||_[_.length-1].route.element!==void 0||_[_.length-1].route.Component!==void 0||_[_.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let C=ew(_&&_.map(E=>Object.assign({},E,{params:Object.assign({},f,E.params),pathname:Sn([y,s.encodeLocation?s.encodeLocation(E.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:E.pathname]),pathnameBase:E.pathnameBase==="/"?y:Sn([y,s.encodeLocation?s.encodeLocation(E.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:E.pathnameBase])})),i,l);return r&&C?m.createElement(cl.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...b},navigationType:"POP"}},C):C}function ZS(){let n=ow(),r=kS(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),l=n instanceof Error?n.stack:null,s="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:s},u={padding:"2px 4px",backgroundColor:s},f=null;return console.error("Error handled by React Router default ErrorBoundary:",n),f=m.createElement(m.Fragment,null,m.createElement("p",null,"💿 Hey developer 👋"),m.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",m.createElement("code",{style:u},"ErrorBoundary")," or"," ",m.createElement("code",{style:u},"errorElement")," prop on your route.")),m.createElement(m.Fragment,null,m.createElement("h2",null,"Unexpected Application Error!"),m.createElement("h3",{style:{fontStyle:"italic"}},r),l?m.createElement("pre",{style:i},l):null,f)}var IS=m.createElement(ZS,null),_v=class extends m.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,r){return r.location!==n.location||r.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:r.error,location:r.location,revalidation:n.revalidation||r.revalidation}}componentDidCatch(n,r){this.props.onError?this.props.onError(n,r):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const l=YS(n.digest);l&&(n=l)}let r=n!==void 0?m.createElement(nn.Provider,{value:this.props.routeContext},m.createElement(rf.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?m.createElement(JS,{error:n},r):r}};_v.contextType=US;var fd=new WeakMap;function JS({children:n,error:r}){let{basename:l}=m.useContext(qt);if(typeof r=="object"&&r&&"digest"in r&&typeof r.digest=="string"){let s=GS(r.digest);if(s){let i=fd.get(r);if(i)throw i;let u=xv(s.location,l);if(vv&&!fd.get(r))if(u.isExternal||s.reloadDocument)window.location.href=u.absoluteURL||u.to;else{const f=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(u.to,{replace:s.replace}));throw fd.set(r,f),f}return m.createElement("meta",{httpEquiv:"refresh",content:`0;url=${u.absoluteURL||u.to}`})}}return n}function WS({routeContext:n,match:r,children:l}){let s=m.useContext(Kr);return s&&s.static&&s.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=r.route.id),m.createElement(nn.Provider,{value:n},l)}function ew(n,r=[],l){let s=l?.state;if(n==null){if(!s)return null;if(s.errors)n=s.matches;else if(r.length===0&&!s.initialized&&s.matches.length>0)n=s.matches;else return null}let i=n,u=s?.errors;if(u!=null){let x=i.findIndex(b=>b.route.id&&u?.[b.route.id]!==void 0);$e(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(u).join(",")}`),i=i.slice(0,Math.min(i.length,x+1))}let f=!1,h=-1;if(l&&s){f=s.renderFallback;for(let x=0;x<i.length;x++){let b=i[x];if((b.route.HydrateFallback||b.route.hydrateFallbackElement)&&(h=x),b.route.id){let{loaderData:w,errors:A}=s,_=b.route.loader&&!w.hasOwnProperty(b.route.id)&&(!A||A[b.route.idLine truncated
|
||||
.`.concat(UT,` {
|
||||
overflow: hidden `).concat(s,`;
|
||||
padding-right: `).concat(h,"px ").concat(s,`;
|
||||
}
|
||||
body[`).concat(qr,`] {
|
||||
overflow: hidden `).concat(s,`;
|
||||
overscroll-behavior: contain;
|
||||
`).concat([r&&"position: relative ".concat(s,";"),l==="margin"&&`
|
||||
padding-left: `.concat(i,`px;
|
||||
padding-top: `).concat(u,`px;
|
||||
padding-right: `).concat(f,`px;
|
||||
margin-left:0;
|
||||
margin-top:0;
|
||||
margin-right: `).concat(h,"px ").concat(s,`;
|
||||
`),l==="padding"&&"padding-right: ".concat(h,"px ").concat(s,";")].filter(Boolean).join(""),`
|
||||
}
|
||||
|
||||
.`).concat(Ws,` {
|
||||
right: `).concat(h,"px ").concat(s,`;
|
||||
}
|
||||
|
||||
.`).concat(ei,` {
|
||||
margin-right: `).concat(h,"px ").concat(s,`;
|
||||
}
|
||||
|
||||
.`).concat(Ws," .").concat(Ws,` {
|
||||
right: 0 `).concat(s,`;
|
||||
}
|
||||
|
||||
.`).concat(ei," .").concat(ei,` {
|
||||
margin-right: 0 `).concat(s,`;
|
||||
}
|
||||
|
||||
body[`).concat(qr,`] {
|
||||
`).concat(BT,": ").concat(h,`px;
|
||||
}
|
||||
`)},nv=function(){var n=parseInt(document.body.getAttribute(qr)||"0",10);return isFinite(n)?n:0},r5=function(){m.useEffect(function(){return document.body.setAttribute(qr,(nv()+1).toString()),function(){var n=nv()-1;n<=0?document.body.removeAttribute(qr):document.body.setAttribute(qr,n.toString())}},[])},o5=function(n){var r=n.noRelative,l=n.noImportant,s=n.gapMode,i=s===void 0?"margin":s;r5();var u=m.useMemo(function(){return t5(i)},[i]);return m.createElement(n5,{styles:a5(u,!r,i,l?"":"!important")})},Id=!1;if(typeof window<"u")try{var Xs=Object.defineProperty({},"passive",{get:function(){return Id=!0,!0}});window.addEventListener("test",Xs,Xs),window.removeEventListener("test",Xs,Xs)}catch{Id=!1}var Ur=Id?{passive:!1}:!1,l5=function(n){return n.tagName==="TEXTAREA"},M1=function(n,r){if(!(n instanceof Element))return!1;var l=window.getComputedStyle(n);return l[r]!=="hidden"&&!(l.overflowY===l.overflowX&&!l5(n)&&l[r]==="visible")},s5=function(n){return M1(n,"overflowY")},i5=function(n){return M1(n,"overflowX")},av=function(n,r){var l=r.ownerDocument,s=r;do{typeof ShadowRoot<"u"&&s instanceof ShadowRoot&&(s=s.host);var i=O1(n,s);if(i){var u=j1(n,s),f=u[1],h=u[2];if(f>h)return!0}s=s.parentNode}while(s&&s!==l.body);return!1},c5=function(n){var r=n.scrollTop,l=n.scrollHeight,s=n.clientHeight;return[r,l,s]},u5=function(n){var r=n.scrollLeft,l=n.scrollWidth,s=n.clientWidth;return[r,l,s]},O1=function(n,r){return n==="v"?s5(r):i5(r)},j1=function(n,r){return n==="v"?c5(r):u5(r)},d5=function(n,r){return n==="h"&&r==="rtl"?-1:1},f5=function(n,r,l,s,i){var u=d5(n,window.getComputedStyle(r).direction),f=u*s,h=l.target,y=r.contains(h),g=!1,x=f>0,b=0,w=0;do{if(!h)break;var A=j1(n,h),_=A[0],C=A[1],E=A[2],M=C-E-u*_;(_||M)&&O1(n,h)&&(b+=M,w+=_);var L=h.parentNode;h=L&&L.nodeType===Node.DOCUMENT_FRAGMENT_NODE?L.host:L}while(!y&&h!==document.body||y&&(r.contains(h)||r===h));return(x&&Math.abs(b)<1||!x&&Math.abs(w)<1)&&(g=!0),g},Qs=function(n){return"changedTouches"in n?[n.changedTouches[0].clientX,n.changedTouches[0].clientY]:[0,0]},rv=function(n){return[n.deltaX,n.deltaY]},ov=function(n){return n&&"current"in n?n.current:n},p5=function(n,r){return n[0]===r[0]&&n[1]===r[1]},h5=function(n){return`
|
||||
.block-interactivity-`.concat(n,` {pointer-events: none;}
|
||||
.allow-interactivity-`).concat(n,` {pointer-events: all;}
|
||||
`)},m5=0,Br=[];function g5(n){var r=m.useRef([]),l=m.useRef([0,0]),s=m.useRef(),i=m.useState(m5++)[0],u=m.useState(T1)[0],f=m.useRef(n);m.useEffect(function(){f.current=n},[n]),m.useEffect(function(){if(n.inert){document.body.classList.add("block-interactivity-".concat(i));var C=HT([n.lockRef.current],(n.shards||[]).map(ov),!0).filter(Boolean);return C.forEach(function(E){return E.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),C.forEach(function(E){return E.classList.remove("allow-interactivity-".concat(i))})}}},[n.inert,n.lockRef.current,n.shards]);var h=m.useCallback(function(C,E){if("touches"in C&&C.touches.length===2||C.type==="wheel"&&C.ctrlKey)return!f.current.allowPinchZoom;var M=Qs(C),L=l.current,D="deltaX"in C?C.deltaX:L[0]-M[0],U="deltaY"in C?C.deltaY:L[1]-M[1],q,Z=C.target,G=Math.abs(D)>Math.abs(U)?"h":"v";if("touches"in C&&G==="h"&&Z.type==="range")return!1;var K=window.getSelection(),ee=K&&K.anchorNode,se=ee?ee===Z||ee.contains(Z):!1;if(se)return!1;var pe=av(G,Z);if(!pe)return!0;if(pe?q=G:(q=G==="v"?"h":"v",pe=av(G,Z)),!pe)return!1;if(!s.current&&"changedTouches"in C&&(D||U)&&(s.current=q),!q)return!0;var ge=s.current||q;return f5(ge,E,C,ge==="h"?D:U)},[]),y=m.useCallback(function(C){var E=C;if(!(!Br.length||Br[Br.length-1]!==u)){var M="deltaY"in E?rv(E):Qs(E),L=r.current.filter(function(q){return q.name===E.type&&(q.target===E.target||E.target===q.shadowParent)&&p5(q.delta,M)})[0];if(L&&L.should){E.cancelable&&E.preventDefault();return}if(!L){var D=(f.current.shards||[]).map(ov).filter(Boolean).filter(function(q){return q.contains(E.target)}),U=D.length>0?h(E,D[0]):!f.current.noIsolation;U&&E.cancelable&&E.preventDefault()}}},[]),g=m.useCallback(function(C,E,M,L){var D={name:C,delta:E,target:M,should:L,shadowParent:y5(M)};r.current.push(D),setTimeout(function(){r.current=r.current.filter(function(U){return U!==D})},1)},[]),x=m.useCallback(function(C){l.current=Qs(C),s.current=void 0},[]),b=m.useCallback(function(C){g(C.type,rv(C),C.target,h(C,n.lockRef.current))},[]),w=m.useCallback(function(C){g(C.type,Qs(C),C.target,h(C,n.lockRef.current))},[]);m.useEffect(function(){return Br.push(u),n.setCallbacks({onScrollCapture:b,onWheelCapture:b,onTouchMoveCapture:w}),document.addEventListener("wheel",y,Ur),document.addEventListener("touchmove",y,Ur),document.addEventListener("touchstart",x,Ur),function(){Br=Br.filter(function(C){return C!==u}),document.removeEventListener("wheel",y,Ur),document.removeEventListener("touchmove",y,Ur),document.removeEventListener("touchstart",x,Ur)}},[]);var A=n.removeScrollBar,_=n.inert;return m.createElement(m.Fragment,null,_?m.createElement(u,{styles:h5(i)}):null,A?m.createElement(o5,{noRelative:n.noRelative,gapMode:n.gapMode}):null)}function y5(n){for(var r=null;n!==null;)n instanceof ShadowRoot&&(r=n.host,n=n.host),n=n.parentNode;return r}const v5=QT(R1,g5);var Of=m.forwardRef(function(n,r){return m.createElement(Hi,xn({},n,{ref:r,sideCar:v5}))});Of.classNames=Hi.classNames;var Jd=["Enter"," "],x5=["ArrowDown","PageUp","Home"],N1=["ArrowUp","PageDown","End"],b5=[...x5,...N1],S5={ltr:[...Jd,"ArrowRight"],rtl:[...Jd,"ArrowLeft"]},w5={ltr:["ArrowLeft"],rtl:["ArrowRight"]},gl="Menu",[sl,E5,A5]=h1(gl),[Za,D1]=Ca(gl,[A5,Ni,v1]),Ui=Ni(),z1=v1(),[C5,Ia]=Za(gl),[_5,yl]=Za(gl),k1=n=>{const{__scopeMenu:r,open:l=!1,children:s,dir:i,onOpenChange:u,modal:f=!0}=n,h=Ui(r),[y,g]=m.useState(null),x=m.useRef(!1),b=ht(u),w=mf(i);return m.useEffect(()=>{const A=()=>{x.current=!0,document.addEventListener("pointerdown",_,{capture:!0,once:!0}),document.addEventListener("pointermove",_,{capture:!0,once:!0})},_=()=>x.current=!1;return document.addEventListener("keydown",A,{capture:!0}),()=>{document.removeEventListener("keydown",A,{capture:!0}),document.removeEventListener("pointerdown",_,{capture:!0}),document.removeEventListener("pointermove",_,{capture:!0})}},[]),p.jsx(I0,{...h,children:p.jsx(C5,{scope:r,open:l,onOpenChange:b,content:y,onContentChange:g,children:p.jsx(_5,{scope:r,onClose:m.useCallback(()=>b(!1),[b]),isUsingKeyboardRef:x,dir:w,modal:f,children:s})})})};k1.displayName=gl;var R5="MenuAnchor",jf=m.forwardRef((n,r)=>{const{__scopeMenu:l,...s}=n,i=Ui(l);return p.jsx(J0,{...i,...s,ref:r})});jf.displayName=R5;var Nf="MenuPortal",[T5,L1]=Za(Nf,{forceMount:void 0}),H1=n=>{const{__scopeMenu:r,forceMount:l,children:s,container:i}=n,u=Ia(Nf,r);return p.jsx(T5,{scope:r,forceMount:l,children:p.jsx(Rt,{present:l||u.open,children:p.jsx(Di,{asChild:!0,container:i,children:s})})})};H1.displayName=Nf;var en="MenuContent",[M5,Df]=Za(en),U1=m.forwardRef((n,r)=>{const l=L1(en,n.__scopeMenu),{forceMount:s=l.forceMount,...i}=n,u=Ia(en,n.__scopeMenu),f=yl(en,n.__scopeMenu);return p.jsx(sl.Provider,{scope:n.__scopeMenu,children:p.jsx(Rt,{present:s||u.open,children:p.jsx(sl.Slot,{scope:n.__scopeMenu,children:f.modal?p.jsx(O5,{...i,ref:r}):p.jsx(j5,{...i,ref:r})})})})}),O5=m.forwardRef((n,r)=>{const l=Ia(en,n.__scopeMenu
Line truncated
|
||||
|
||||
If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
|
||||
|
||||
For more information, see https://radix-ui.com/primitives/docs/components/${r.docsSlug}`;return m.useEffect(()=>{n&&(document.getElementById(n)||console.error(l))},[l,n]),null},a4="DialogDescriptionWarning",r4=({contentRef:n,descriptionId:r})=>{const s=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Tx(a4).contentName}}.`;return m.useEffect(()=>{const i=n.current?.getAttribute("aria-describedby");r&&i&&(document.getElementById(r)||console.warn(s))},[s,n,r]),null},o4=hx,l4=gx,s4=vx,i4=xx,c4=bx,u4=wx,d4=Ax,f4=_x;function p4({...n}){return p.jsx(o4,{"code-path":"src/components/ui/dialog.tsx:10:10","data-slot":"dialog",...n})}function DO({...n}){return p.jsx(l4,{"code-path":"src/components/ui/dialog.tsx:16:10","data-slot":"dialog-trigger",...n})}function h4({...n}){return p.jsx(s4,{"code-path":"src/components/ui/dialog.tsx:22:10","data-slot":"dialog-portal",...n})}function m4({className:n,...r}){return p.jsx(i4,{"code-path":"src/components/ui/dialog.tsx:36:5","data-slot":"dialog-overlay",className:Oe("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",n),...r})}function g4({className:n,children:r,showCloseButton:l=!0,showOverlay:s=!0,...i}){return p.jsxs(h4,{"code-path":"src/components/ui/dialog.tsx:58:5","data-slot":"dialog-portal",children:[s&&p.jsx(m4,{"code-path":"src/components/ui/dialog.tsx:59:23"}),p.jsxs(c4,{"code-path":"src/components/ui/dialog.tsx:60:7","data-slot":"dialog-content",className:Oe("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",n),...i,children:[r,l&&p.jsxs(f4,{"code-path":"src/components/ui/dialog.tsx:70:11","data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[p.jsx(e_,{"code-path":"src/components/ui/dialog.tsx:74:13"}),p.jsx("span",{"code-path":"src/components/ui/dialog.tsx:75:13",className:"sr-only",children:"Close"})]})]})]})}function y4({className:n,...r}){return p.jsx("div",{"code-path":"src/components/ui/dialog.tsx:85:5","data-slot":"dialog-header",className:Oe("flex flex-col gap-2 text-center sm:text-left",n),...r})}function v4({className:n,...r}){return p.jsx("div",{"code-path":"src/components/ui/dialog.tsx:95:5","data-slot":"dialog-footer",className:Oe("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",n),...r})}function x4({className:n,...r}){return p.jsx(u4,{"code-path":"src/components/ui/dialog.tsx:111:5","data-slot":"dialog-title",className:Oe("text-lg leading-none font-semibold",n),...r})}function b4({className:n,...r}){return p.jsx(d4,{"code-path":"src/components/ui/dialog.tsx:124:5","data-slot":"dialog-description",className:Oe("text-muted-foreground text-sm",n),...r})}const Mx=m.createContext(null);function zO(){const n=m.useContext(Mx);if(!n)throw new Error("useConfirm must be used within ConfirmProvider");return n.confirm}function S4({children:n}){const[r,l]=m.useState(!1),[s,i]=m.useState({title:"确认操作",description:"",confirmText:"确认",cancelText:"取消",variant:"default"}),[u,f]=m.useState(null),h=m.useCallback(x=>{const b=typeof x=="string"?{title:"确认操作",description:x}:x;return i({title:b.title||"确认操作",description:b.description||"",confirmText:b.confirmText||"确认",cancelText:b.cancelText||"取消",variant:b.variant||"default"}),l(!0),new Promise(w=>f(()=>w))},[]),y=()=>{l(!1),u?.(!0),f(null)},g=()=>{l(!1),u?.(!1),f(null)};return p.jsxs(Mx.Provider,{"code-path":"src/components/ui/confirm-dialog.tsx:68:5",value:{confirm:h},children:[n,p.jsx(p4,{"code-path":"src/components/ui/confirm-dialog.tsx:70:7",open:r,onOpenChange:x=>{x||g()},children:p.jsxs(g4,{"code-path":"src/components/ui/confirm-dialog.tsx:71:9",className:"max-w-sm bg-slate-900 border-slate-800",onCloseAutoFocus:x=>x.preventDefault(),children:[p.jsxs(y4,{"code-path":"src/components/ui/confirm-dialog.tsx:72:11",children:[p.jsx(x4,{"code-path":"src/components/ui/confirm-dialog.tsx:73:13",className:"text-slate-100",children:s.title}),s.description&&p.jsx(b4,{"code-path":"src/components/ui/confirm-dialog.tsx:75:15",className:"text-slate-400",children:s.description})]}),p.jsxs(v4,{"code-path":"src/components/ui/confirm-dialog.tsx:78:11",className:"gap-2 sm:gap-2",children:[p.jsx(Ct,{"code-path":"src/components/ui/confirm-dialog.tsx:79:13",variant:"outline",className:"border-slate-
Line truncated
|
||||
@keyframes login-orb-1 {
|
||||
0%, 100% { transform: translate(0, 0) scale(1); }
|
||||
33% { transform: translate(40px, -50px) scale(1.12); }
|
||||
66% { transform: translate(-30px, 35px) scale(0.92); }
|
||||
}
|
||||
@keyframes login-orb-2 {
|
||||
0%, 100% { transform: translate(0, 0) scale(1); }
|
||||
50% { transform: translate(-50px, 25px) scale(1.18); }
|
||||
}
|
||||
@keyframes login-orb-3 {
|
||||
0%, 100% { transform: translate(0, 0) scale(1); }
|
||||
50% { transform: translate(30px, 45px) scale(0.88); }
|
||||
}
|
||||
@keyframes login-orb-4 {
|
||||
0%, 100% { transform: translate(0, 0) scale(1); }
|
||||
50% { transform: translate(25px, -30px) scale(1.1); }
|
||||
}
|
||||
@keyframes login-card-enter {
|
||||
from { opacity: 0; transform: translateY(24px) scale(0.97); }
|
||||
to { opacity: 1; transform: translateY(0) scale(1); }
|
||||
}
|
||||
@keyframes login-fade-in {
|
||||
from { opacity: 0; }
|
||||
to { opacity: 1; }
|
||||
}
|
||||
@keyframes login-input-focus {
|
||||
from { box-shadow: 0 0 0 0px var(--dg-input-focus-ring); }
|
||||
to { box-shadow: 0 0 0 4px var(--dg-input-focus-ring); }
|
||||
}
|
||||
`,E4=[{top:"-10%",left:"-5%",size:520,color:"var(--dg-blue)",opacity:.18,blur:90,animation:"login-orb-1 18s ease-in-out infinite"},{bottom:"-15%",right:"-8%",size:480,color:"var(--dg-purple)",opacity:.16,blur:100,animation:"login-orb-2 22s ease-in-out infinite"},{top:"30%",right:"10%",size:320,color:"var(--dg-cyan)",opacity:.12,blur:70,animation:"login-orb-3 16s ease-in-out infinite"},{bottom:"10%",left:"8%",size:380,color:"var(--dg-gradient-start)",opacity:.14,blur:80,animation:"login-orb-4 20s ease-in-out infinite"}];function A4(){const n=ul(),{theme:r,setTheme:l}=Xv(),[s,i]=m.useState("admin"),[u,f]=m.useState("123456"),[h,y]=m.useState(!1),[g,x]=m.useState(!1),[b,w]=m.useState(""),[A,_]=m.useState(!1);m.useEffect(()=>{_(!0)},[]);const C=async E=>{E.preventDefault(),w(""),x(!0);try{const M=await fx.login(s,u);cn.getState().login(M.user,M.token,M.permissions??null),localStorage.setItem("token",M.token),n("/",{replace:!0})}catch(M){const L=M instanceof Error?M.message:"登录失败,请检查用户名和密码";w(L)}finally{x(!1)}};return p.jsxs(p.Fragment,{children:[p.jsx("style",{"code-path":"src/components/auth/Login.tsx:102:7",children:w4}),p.jsxs("div",{"code-path":"src/components/auth/Login.tsx:104:7",className:"relative min-h-screen flex items-center justify-center px-4 overflow-hidden",style:{background:`radial-gradient(ellipse at 50% 0%, ${getComputedStyle(document.documentElement).getPropertyValue("--dg-bg-secondary")} 0%, ${getComputedStyle(document.documentElement).getPropertyValue("--dg-bg-primary")} 100%)`},children:[E4.map((E,M)=>p.jsx("div",{"code-path":"src/components/auth/Login.tsx:112:11","aria-hidden":"true",className:"pointer-events-none absolute",style:{top:E.top,left:E.left,bottom:E.bottom,right:E.right,width:E.size,height:E.size,borderRadius:"50%",background:`radial-gradient(circle, ${E.color} 0%, transparent 70%)`,opacity:A?E.opacity:0,filter:`blur(${E.blur}px)`,animation:E.animation,willChange:"transform",transition:"opacity 1s ease-out"}},`orb-${M}`)),p.jsx("div",{"code-path":"src/components/auth/Login.tsx:135:9",className:"fixed top-4 right-4 z-50",style:{animation:"login-fade-in 0.6s ease-out"},children:p.jsxs(ti,{"code-path":"src/components/auth/Login.tsx:139:11",children:[p.jsx(ni,{"code-path":"src/components/auth/Login.tsx:140:13",asChild:!0,children:p.jsx("button",{"code-path":"src/components/auth/Login.tsx:141:15",type:"button","aria-label":"切换主题",className:Oe("inline-flex items-center justify-center size-10 rounded-full","border border-[var(--dg-border)] transition-all duration-200","hover:scale-105 active:scale-95 hover:border-[var(--dg-border-hover)]","glass"),style:{color:"var(--dg-text-secondary)"},children:p.jsx(u0,{"code-path":"src/components/auth/Login.tsx:152:17",className:"size-5"})})}),p.jsxs(ai,{"code-path":"src/components/auth/Login.tsx:155:13",align:"end",className:"w-60 bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",style:{boxShadow:"var(--shadow-dropdown)"},children:[p.jsx(Wd,{"code-path":"src/components/auth/Login.tsx:160:15",className:"text-[var(--dg-text-secondary)]",children:"主题切换"}),p.jsx(ri,{"code-path":"src/components/auth/Login.tsx:161:15",className:"bg-[var(--dg-border)]"}),pf.map(E=>p.jsxs(Io,{"code-path":"src/components/auth/Login.tsx:163:17",className:Oe("flex items-center gap-2.5 cursor-pointer transition-colors","focus:bg-[var(--dg-bg-hover)] focus:text-[var(--dg-text-primary)]",r===E.id?"text-[var(--dg-text-primary)]":"text-[var(--dg-text-secondary)]"),onClick:()=>l(E.id),children:[p.jsx("span",{"code-path":"src/components/auth/Login.tsx:172:19",className:"size-3.5 rounded-full shrink-0 ring-2",style:{backgroundColor:E.primaryColor,boxShadow:"0 0 0 2px var(--dg-bg-primary)"}}),p.jsxs("div",{"code-path":"src/components/auth/Login.tsx:179:19",className:"flex-1 min-w-0",children:[p.jsx("span",{"code-path":"src/components/auth/Login.tsx:180:21",className:"text-sm font-medium block",children:E.name}),p.jsx("span",{"code-path":"src/components/auth/Login.tsx:181:21",className:"text-xs opacity-60 block truncate",children:E.description})]}),r===E.id&&p.jsx(s0,{"code-path":"src/components/auth/Login.tsx:183:43",className:"size-4 shrink-0 text-[var(--dg-blue)]"})]},E.id))]})]})}),p.jsxs("div",{"code-path":"src/components/auth/Login.tsx:191:9",className:"relative z-10 w-full max-w-md",style:{background:"color-mix(in srgb, var(--dg-bg-secondary) 80%, transparent)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",border:"1px solid var(--dg-border)",borderRadius:24,boxShadow:"var(--shadow-card-hover)",padding:"44px 40px",animation:"login-card-enter 0.6s cubic-bezier(0.16, 1, 0.3, 1)"},children:[p.jsxs("div",{"code-path":"src/components/auth/Login.tsx:205:11",className:"text-center mb-8",children:[p.jsx("div",{"code-path":"src/components/auth/Login.tsx:206:13",className:"inline-flex items-center justify-center size-16 rounded-2xl mb-5",style:{background:"linear-gradient(135deg, var(--dg-gradient-start), var(--dg-gradien
Line truncated
|
||||
|
||||
**时间:** ${new Date().toISOString()}
|
||||
**URL:** ${window.location.href}
|
||||
**用户代理:** ${navigator.userAgent}
|
||||
|
||||
### 错误信息
|
||||
|
||||
\`\`\`
|
||||
${r?.name}: ${r?.message}
|
||||
\`\`\`
|
||||
|
||||
### 组件堆栈
|
||||
|
||||
\`\`\`
|
||||
${l?.componentStack}
|
||||
\`\`\`
|
||||
`;navigator.clipboard.writeText(s).then(()=>{sv.success("错误信息已复制到剪贴板,请粘贴到 Issue 中")}).catch(()=>{sv.error("复制失败,请手动复制错误信息")})};render(){return this.state.hasError?this.props.fallback?this.props.fallback:p.jsx("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:64:9",className:"min-h-[60vh] flex items-center justify-center p-6",children:p.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:65:11",className:"dg-card max-w-lg w-full p-8 text-center space-y-6",children:[p.jsx("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:67:13",className:"mx-auto w-16 h-16 rounded-2xl bg-red-500/10 flex items-center justify-center",children:p.jsx(ci,{"code-path":"src/components/layout/ErrorBoundary.tsx:68:15",className:"h-8 w-8 text-red-400"})}),p.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:72:13",children:[p.jsx("h2",{"code-path":"src/components/layout/ErrorBoundary.tsx:73:15",className:"text-xl font-bold text-[var(--dg-text-primary)]",children:"页面出现错误"}),p.jsx("p",{"code-path":"src/components/layout/ErrorBoundary.tsx:76:15",className:"text-sm text-[var(--dg-text-muted)] mt-2",children:"抱歉,该页面遇到了意外错误。您可以尝试重新加载或返回首页。"})]}),this.state.error&&p.jsx("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:83:15",className:"text-left",children:p.jsxs("details",{"code-path":"src/components/layout/ErrorBoundary.tsx:84:17",className:"group",children:[p.jsxs("summary",{"code-path":"src/components/layout/ErrorBoundary.tsx:85:19",className:"cursor-pointer text-xs text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)] transition-colors flex items-center gap-1.5",children:[p.jsx(Ay,{"code-path":"src/components/layout/ErrorBoundary.tsx:86:21",className:"h-3.5 w-3.5"}),"查看错误详情"]}),p.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:89:19",className:"mt-2 p-3 rounded-lg bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] overflow-auto max-h-48",children:[p.jsxs("code",{"code-path":"src/components/layout/ErrorBoundary.tsx:90:21",className:"text-xs text-red-400 font-mono block whitespace-pre-wrap",children:[this.state.error.name,": ",this.state.error.message]}),this.state.errorInfo&&p.jsx("pre",{"code-path":"src/components/layout/ErrorBoundary.tsx:94:23",className:"text-xs text-[var(--dg-text-muted)] mt-2 whitespace-pre-wrap",children:this.state.errorInfo.componentStack})]})]})}),p.jsxs("div",{"code-path":"src/components/layout/ErrorBoundary.tsx:104:13",className:"flex items-center justify-center gap-3",children:[p.jsxs(Ct,{"code-path":"src/components/layout/ErrorBoundary.tsx:105:15",variant:"outline",className:"dg-btn-secondary",onClick:this.handleGoHome,children:[p.jsx(i0,{"code-path":"src/components/layout/ErrorBoundary.tsx:110:17",className:"h-4 w-4 mr-1.5"}),"返回首页"]}),p.jsxs(Ct,{"code-path":"src/components/layout/ErrorBoundary.tsx:113:15",className:"dg-btn-primary",onClick:this.handleRetry,children:[p.jsx(PC,{"code-path":"src/components/layout/ErrorBoundary.tsx:117:17",className:"h-4 w-4 mr-1.5"}),"重新加载"]}),p.jsxs(Ct,{"code-path":"src/components/layout/ErrorBoundary.tsx:120:15",variant:"outline",className:"dg-btn-ghost",onClick:this.handleReport,children:[p.jsx(Ay,{"code-path":"src/components/layout/ErrorBoundary.tsx:125:17",className:"h-4 w-4 mr-1.5"}),"复制错误"]})]})]})}):this.props.children}}const k4=m.lazy(()=>ye(()=>import("./Dashboard-Bnak5ucm.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url).then(n=>({default:n.Dashboard}))),L4=m.lazy(()=>ye(()=>import("./ServerManager-BdA0wLle.js"),__vite__mapDeps([14,5,15,16,17,18,19,20,2,4,6,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,7,38,39,40]),import.meta.url).then(n=>({default:n.ServerManager}))),H4=m.lazy(()=>ye(()=>import("./CloudAccountManager-CLQenaRF.js"),__vite__mapDeps([41,15,35,5,6,21,22,40,23,42,43,44,34]),import.meta.url).then(n=>({default:n.CloudAccountManager}))),U4=m.lazy(()=>ye(()=>import("./DomainManager-CHC6sChS.js"),__vite__mapDeps([45,15,35,5,6,21,22,40,23,42,43,46,34]),import.meta.url).then(n=>({default:n.DomainManager}))),B4=m.lazy(()=>ye(()=>import("./RegionManager-BFNjY75O.js"),__vite__mapDeps([47,15,35,6,16,17,18,19,20,2,23,40,34,42,43,44]),import.meta.url).then(n=>({default:n.RegionManager}))),P4=m.lazy(()=>ye(()=>import("./PlatformManager-DYWQVw7P.js"),__vite__mapDeps([48,15,35,6,19,17,20,21,23,40,49,44,34,42,43]),import.meta.url).then(n=>({default:n.PlatformManager}))),q4=m.lazy(()=>ye(()=>import("./CloudBilling-C3BHo3kq.js"),__vite__mapDeps([50,15,35,5,6,51,17,19,20,21,4,22,40,44,34]),import.meta.url).then(n=>({default:n.CloudBilling}))),V4=m.lazy(()=>ye(()=>import("./KubernetesClusters-B4vM2QEv.js"),__vite__mapDeps([52,5,15,6,3,53,43,8,9,36,35,17,13,24,25,28,22,40,23,38,33,34]),import.meta.url).then(n=>({default:n.KubernetesClusters}))),G4=m.lazy(()=>ye(()=>import("./ClusterOver
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{j as t,a0 as n}from"./index-HuRw9UhJ.js";function s({className:e,type:i,...r}){return t.jsx("input",{"code-path":"src/components/ui/input.tsx:7:5",type:i,"data-slot":"input",className:n("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}export{s as I};
|
||||
@@ -0,0 +1 @@
|
||||
import{r as i,j as o,aO as c,a0 as f}from"./index-HuRw9UhJ.js";var m=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],b=m.reduce((a,e)=>{const t=c(`Primitive.${e}`),r=i.forwardRef((l,n)=>{const{asChild:d,...u}=l,p=d?t:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),o.jsx(p,{...u,ref:n})});return r.displayName=`Primitive.${e}`,{...a,[e]:r}},{}),x="Label",s=i.forwardRef((a,e)=>o.jsx(b.label,{...a,ref:e,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(a.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));s.displayName=x;var v=s;function w({className:a,...e}){return o.jsx(v,{"code-path":"src/components/ui/label.tsx:13:5","data-slot":"label",className:f("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",a),...e})}export{w as L};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as a}from"./index-HuRw9UhJ.js";const e=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],t=a("layers",e);export{t as L};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as e}from"./index-HuRw9UhJ.js";const t=[["path",{d:"M12 12v-2",key:"fwoke6"}],["path",{d:"M12 18v-2",key:"qj6yno"}],["path",{d:"M16 12v-2",key:"heuere"}],["path",{d:"M16 18v-2",key:"s1ct0w"}],["path",{d:"M2 11h1.5",key:"15p63e"}],["path",{d:"M20 18v-2",key:"12ehxp"}],["path",{d:"M20.5 11H22",key:"khsy7a"}],["path",{d:"M4 18v-2",key:"1c3oqr"}],["path",{d:"M8 12v-2",key:"1mwtfd"}],["path",{d:"M8 18v-2",key:"qcmpov"}],["rect",{x:"2",y:"6",width:"20",height:"10",rx:"2",key:"1qcswk"}]],k=e("memory-stick",t);export{k as M};
|
||||
@@ -0,0 +1 @@
|
||||
import{i as a}from"./index-HuRw9UhJ.js";const e=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]],o=a("message-square",e);export{o as M};
|
||||
Loaded 100 of 196 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user