2 lines
59 KiB
JavaScript
2 lines
59 KiB
JavaScript
import{i as Ze,f as he,r,j as e,B as i,z as L,Y as Ce,D as le,a as xe,b as pe,c as ge,d as be,G as De,t as je,V as F,X as ke,T as Se,C as te,y as ve,P as Te,e as Me}from"./index-CwVkcMR-.js";import{T as Ae,a as ze,b as de,c as me}from"./tabs-Bd_3HnQp.js";import{I as u}from"./input-B5ad6Rfz.js";import{B as v}from"./badge-DgJ0w7jf.js";import{C as re,b as Le,c as Fe,a as oe}from"./card-C5qBu7CR.js";import{L as c}from"./label-mg-tHjNc.js";import{S as l}from"./switch-DYr_nGop.js";import{S as Y,a as ee,b as ae,c as se,d as A}from"./select-CGtvCG8I.js";import{t as o}from"./index-Dxvx0mlR.js";import{p as k,z}from"./monitor-UHR7OKRa.js";import{R as ce}from"./refresh-cw-DM6JPbZg.js";import{P as H}from"./plus-CaJ-dB4A.js";import{S as V}from"./star-BY-sYfNe.js";import{S as Ne}from"./square-pen-C8Ol72WC.js";import{T as fe}from"./trash-2-BPpnm3Sz.js";import{C as I}from"./chevron-up-DM77dvsL.js";import{W as Ie}from"./wrench-Du1mNsDu.js";import{C as _e}from"./circle-x-DBoylLde.js";import{C as qe}from"./circle-check-DTBW_8Wd.js";import"./index-CBIZnJrN.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([]),[B,$]=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}))},J=()=>{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})},Q=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 B?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/PrometheusDatasourceManager.tsx:299:9",className:"animate-spin w-8 h-8 text-[var(--dg-text-secondary)]"})}):e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:305:5",className:"p-6 space-y-6 max-w-7xl mx-auto",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:307:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:308:9",children:[e.jsx("h1",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:309:11",className:"text-2xl font-bold text-[var(--dg-text-primary)]",children:"数据源管理"}),e.jsx("p",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:310:11",className:"text-sm text-[var(--dg-text-secondary)] mt-1",children:"Prometheus 数据源配置,用于指标监控与监控大屏"})]}),e.jsxs(i,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:314:9",onClick:G,className:"gap-2",children:[e.jsx(H,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:315:11",className:"w-4 h-4"}),"添加数据源"]})]}),e.jsxs(re,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:321:7",className:"border-[var(--dg-border)] bg-[var(--dg-bg-secondary)]",children:[e.jsx(Le,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:322:9",className:"pb-2",children:e.jsxs(Fe,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:323:11",className:"text-base flex items-center gap-2",children:[e.jsx(L,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:324:13",className:"w-4 h-4 text-blue-400"}),"已配置的数据源",e.jsx(v,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:326:13",variant:"secondary",className:"ml-2",children:h.length})]})}),e.jsx(oe,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:329:9",className:"p-0",children:h.length===0?e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:331:13",className:"py-12 text-center text-[var(--dg-text-secondary)]",children:[e.jsx(L,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:332:15",className:"w-12 h-12 mx-auto mb-3 opacity-30"}),e.jsx("p",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:333:15",className:"text-sm",children:"暂无数据源"}),e.jsx("p",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:334:15",className:"text-xs mt-1",children:"点击「添加数据源」开始配置"})]}):e.jsx("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:337:13",className:"overflow-x-auto",children:e.jsxs("table",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:338:15",className:"w-full",children:[e.jsx("thead",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:339:17",className:"border-b border-[var(--dg-border)]",children:e.jsxs("tr",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:340:19",className:"text-xs text-[var(--dg-text-secondary)]",children:[e.jsx("th",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:341:21",className:"text-left py-3 px-4 font-medium",children:"名称"}),e.jsx("th",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:342:21",className:"text-left py-3 px-4 font-medium",children:"URL"}),e.jsx("th",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:343:21",className:"text-left py-3 px-4 font-medium w-20",children:"默认"}),e.jsx("th",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:344:21",className:"text-left py-3 px-4 font-medium w-16",children:"状态"}),e.jsx("th",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:345:21",className:"text-right py-3 px-4 font-medium w-36",children:"操作"})]})}),e.jsx("tbody",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:348:17",children:h.map(a=>e.jsxs("tr",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:350:21",className:"border-b border-[var(--dg-border)]/50 hover:bg-[var(--dg-bg-tertiary)]/50 transition-colors",children:[e.jsx("td",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:354:23",className:"py-3 px-4",children:e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:355:25",className:"flex items-center gap-2",children:[e.jsx("img",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:356:27",src:"https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/prometheus.png",alt:"Prometheus",className:"w-5 h-5 rounded",onError:d=>{d.target.style.display="none"}}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:362:27",children:[e.jsx("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:363:29",className:"text-sm font-medium text-[var(--dg-text-primary)]",children:a.name}),a.basic_auth&&e.jsx(Ce,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:364:47",className:"w-3 h-3 inline ml-1.5 text-amber-400"})]})]})}),e.jsx("td",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:368:23",className:"py-3 px-4",children:e.jsx("code",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:369:25",className:"text-xs text-blue-300 bg-slate-800/50 px-2 py-0.5 rounded max-w-[320px] block truncate",title:a.url,children:a.url})}),e.jsx("td",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:374:23",className:"py-3 px-4",children:a.is_default?e.jsxs(v,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:376:27",variant:"default",className:"bg-amber-500/15 text-amber-400 border-amber-500/30 text-xs",children:[e.jsx(V,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:377:29",className:"w-3 h-3 mr-1"})," 默认"]}):e.jsx("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:380:27",className:"text-xs text-[var(--dg-text-secondary)]",children:"--"})}),e.jsx("td",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:383:23",className:"py-3 px-4",children:a.status===1?e.jsx(v,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:385:27",variant:"default",className:"bg-emerald-500/15 text-emerald-400 border-emerald-500/30 text-xs",children:"启用"}):e.jsx(v,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:389:27",variant:"secondary",className:"text-xs",children:"禁用"})}),e.jsx("td",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:392:23",className:"py-3 px-4",children:e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:393:25",className:"flex items-center justify-end gap-1",children:[e.jsx(i,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:394:27",variant:"ghost",size:"sm",className:"h-8 px-2",onClick:()=>Re(a),title:"测试连接",children:e.jsx(ne,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:400:29",className:"w-3.5 h-3.5"})}),!a.is_default&&e.jsx(i,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:403:29",variant:"ghost",size:"sm",className:"h-8 px-2 text-amber-400 hover:text-amber-300",onClick:()=>ye(a),title:"设为默认",children:e.jsx(V,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:409:31",className:"w-3.5 h-3.5"})}),e.jsx(i,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:412:27",variant:"ghost",size:"sm",className:"h-8 px-2",onClick:()=>W(a),children:e.jsx(Ne,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:417:29",className:"w-3.5 h-3.5"})}),e.jsx(i,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:419:27",variant:"ghost",size:"sm",className:"h-8 px-2 text-red-400 hover:text-red-300",onClick:()=>Pe(a),children:e.jsx(fe,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:424:29",className:"w-3.5 h-3.5"})})]})})]},a.id))})]})})})]}),e.jsx(le,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:438:7",open:U,onOpenChange:g,children:e.jsxs(xe,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:439:9",className:"max-w-2xl max-h-[90vh] overflow-y-auto bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:[e.jsxs(pe,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:440:11",children:[e.jsxs(ge,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:441:13",className:"flex items-center gap-2 text-lg",children:[e.jsx(L,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:442:15",className:"w-5 h-5 text-orange-400"}),b?"编辑数据源":"添加数据源"]}),e.jsx(be,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:445:13",children:"Prometheus 数据源配置 · 参考 Grafana 数据源管理"})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:450:11",className:"space-y-5 py-2",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:452:13",className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:453:15",className:"space-y-2",children:[e.jsxs(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:454:17",htmlFor:"ds-name",className:"text-sm",children:["Name ",e.jsx("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:454:67",className:"text-red-400",children:"*"})]}),e.jsx(u,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:455:17",id:"ds-name",placeholder:"Prometheus 数据源名称",value:s.name,onChange:a=>n("name",a.target.value),className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)]"})]}),e.jsx("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:463:15",className:"flex items-end pb-2",children:e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:464:17",className:"flex items-center gap-3",children:[e.jsx(l,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:465:19",id:"ds-default",checked:s.is_default,onCheckedChange:a=>n("is_default",a)}),e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:470:19",htmlFor:"ds-default",className:"text-sm cursor-pointer",children:"Default"})]})})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:476:13",className:"space-y-3 bg-[var(--dg-bg-tertiary)]/50 rounded-lg p-4 border border-[var(--dg-border)]/50",children:[e.jsxs("h4",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:477:15",className:"text-sm font-medium flex items-center gap-2 text-[var(--dg-text-primary)]",children:[e.jsx(De,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:478:17",className:"w-4 h-4"})," HTTP"]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:480:15",className:"space-y-2",children:[e.jsxs(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:481:17",htmlFor:"ds-url",className:"text-sm",children:["URL ",e.jsx("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:481:65",className:"text-red-400",children:"*"})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:482:17",className:"flex gap-2",children:[e.jsxs(Y,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:483:19",value:s.access,onValueChange:a=>n("access",a),children:[e.jsx(ee,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:484:21",className:"w-32 bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-sm",children:e.jsx(ae,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:485:23"})}),e.jsxs(se,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:487:21",children:[e.jsx(A,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:488:23",value:"server",children:"Server"}),e.jsx(A,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:489:23",value:"browser",children:"Browser"})]})]}),e.jsx(u,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:492:19",id:"ds-url",placeholder:"http://localhost:9090",value:s.url,onChange:a=>n("url",a.target.value),className:"flex-1 bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] font-mono text-sm"})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:501:15",className:"text-xs text-[var(--dg-text-secondary)]",children:["Access: ",e.jsx("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:502:25",className:"text-[var(--dg-text-primary)]",children:s.access==="server"?"Server (default)":"Browser"})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:507:13",className:"border border-[var(--dg-border)]/50 rounded-lg overflow-hidden",children:[e.jsxs("button",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:508:15",type:"button",className:"w-full flex items-center justify-between px-4 py-3 bg-[var(--dg-bg-tertiary)]/30 hover:bg-[var(--dg-bg-tertiary)]/60 transition-colors",onClick:()=>E(!y),children:[e.jsxs("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:513:17",className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(je,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:514:19",className:"w-4 h-4"})," Auth"]}),y?e.jsx(I,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:516:29",className:"w-4 h-4"}):e.jsx(F,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:516:65",className:"w-4 h-4"})]}),y&&e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:519:17",className:"p-4 space-y-4 border-t border-[var(--dg-border)]/50",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:521:19",className:"space-y-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:522:21",className:"flex items-center gap-3",children:[e.jsx(l,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:523:23",id:"ds-basic-auth",checked:s.basic_auth,onCheckedChange:a=>n("basic_auth",a)}),e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:528:23",htmlFor:"ds-basic-auth",className:"text-sm cursor-pointer",children:"Basic auth"})]}),s.basic_auth&&e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:531:23",className:"grid grid-cols-2 gap-3 ml-9",children:[e.jsx(u,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:532:25",placeholder:"用户名",value:s.basic_auth_user,onChange:a=>n("basic_auth_user",a.target.value),className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-sm"}),e.jsx(u,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:538:25",type:"password",placeholder:"密码",value:s.basic_auth_pass,onChange:a=>n("basic_auth_pass",a.target.value),className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-sm"})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:550:19",className:"flex items-center gap-3",children:[e.jsx(l,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:551:21",id:"ds-with-creds",checked:s.with_credentials,onCheckedChange:a=>n("with_credentials",a)}),e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:556:21",htmlFor:"ds-with-creds",className:"text-sm cursor-pointer",children:"With Credentials"})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:560:19",className:"space-y-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:561:21",className:"flex items-center gap-3",children:[e.jsx(l,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:562:23",id:"ds-tls-auth",checked:s.tls_client_auth,onCheckedChange:a=>n("tls_client_auth",a)}),e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:567:23",htmlFor:"ds-tls-auth",className:"text-sm cursor-pointer",children:"TLS Client Auth"})]}),s.tls_client_auth&&e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:570:23",className:"ml-9 space-y-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:571:25",className:"flex items-center gap-3",children:[e.jsx(l,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:572:27",id:"ds-ca-cert",checked:s.with_ca_cert,onCheckedChange:a=>n("with_ca_cert",a)}),e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:577:27",htmlFor:"ds-ca-cert",className:"text-sm cursor-pointer",children:"With CA Cert"})]}),s.with_ca_cert&&e.jsx("textarea",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:580:27",placeholder:"PEM 格式的 CA 证书内容...",value:s.ca_cert,onChange:a=>n("ca_cert",a.target.value),rows:4,className:"w-full bg-[var(--dg-bg-tertiary)] border border-[var(--dg-border)] rounded-md p-3 text-xs font-mono text-[var(--dg-text-primary)] resize-y"})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:593:19",className:"flex items-center gap-3",children:[e.jsx(l,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:594:21",id:"ds-skip-tls",checked:s.skip_tls_verify,onCheckedChange:a=>n("skip_tls_verify",a)}),e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:599:21",htmlFor:"ds-skip-tls",className:"text-sm cursor-pointer",children:"Skip TLS Verify"})]}),e.jsx("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:603:19",className:"text-xs text-[var(--dg-text-secondary)] italic",children:"Forward OAuth Identity"})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:611:13",className:"space-y-3 bg-[var(--dg-bg-tertiary)]/30 rounded-lg p-4 border border-[var(--dg-border)]/50",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:612:15",className:"flex items-center justify-between",children:[e.jsxs("h4",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:613:17",className:"text-sm font-medium flex items-center gap-2 text-[var(--dg-text-primary)]",children:[e.jsx(Ie,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:614:19",className:"w-4 h-4"})," Custom HTTP Headers"]}),e.jsxs(i,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:616:17",variant:"outline",size:"sm",className:"h-7 text-xs",onClick:J,children:[e.jsx(H,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:617:19",className:"w-3 h-3 mr-1"})," Add header"]})]}),P.length===0?e.jsx("p",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:621:17",className:"text-xs text-[var(--dg-text-secondary)] italic",children:"暂无自定义 Header"}):e.jsx("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:623:17",className:"space-y-2",children:P.map((a,d)=>e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:625:21",className:"flex items-center gap-2",children:[e.jsx(u,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:626:23",placeholder:"Header",value:a.header,onChange:f=>C(d,"header",f.target.value),className:"flex-1 bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-sm h-8"}),e.jsx(u,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:632:23",placeholder:"Value",value:a.value,onChange:f=>C(d,"value",f.target.value),className:"flex-1 bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-sm h-8"}),e.jsx(i,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:638:23",variant:"ghost",size:"sm",className:"h-8 w-8 p-0 text-red-400 hover:text-red-300",onClick:()=>t(d),children:e.jsx(ke,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:642:25",className:"w-3.5 h-3.5"})})]},d))})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:651:13",className:"border border-[var(--dg-border)]/50 rounded-lg overflow-hidden",children:[e.jsxs("button",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:652:15",type:"button",className:"w-full flex items-center justify-between px-4 py-3 bg-[var(--dg-bg-tertiary)]/30 hover:bg-[var(--dg-bg-tertiary)]/60 transition-colors",onClick:()=>R(!S),children:[e.jsxs("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:657:17",className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(Se,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:658:19",className:"w-4 h-4"})," Alerting"]}),S?e.jsx(I,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:660:33",className:"w-4 h-4"}):e.jsx(F,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:660:69",className:"w-4 h-4"})]}),S&&e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:663:17",className:"p-4 space-y-4 border-t border-[var(--dg-border)]/50",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:664:19",className:"flex items-center gap-3",children:[e.jsx(l,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:665:21",id:"ds-enable-alerting",checked:s.enable_alerting,onCheckedChange:a=>n("enable_alerting",a)}),e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:670:21",htmlFor:"ds-enable-alerting",className:"text-sm cursor-pointer",children:"Manage alerts via Alerting UI"})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:674:19",className:"space-y-2",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:675:21",className:"text-sm text-[var(--dg-text-secondary)]",children:"Alertmanager data source"}),e.jsxs(Y,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:676:21",value:s.alertmanager_ds,onValueChange:a=>n("alertmanager_ds",a),children:[e.jsx(ee,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:677:23",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-sm",children:e.jsx(ae,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:678:25",placeholder:"Choose"})}),e.jsxs(se,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:680:23",children:[e.jsx(A,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:681:25",value:"__none",children:"无"}),h.filter(a=>a.id!==b).map(a=>e.jsx(A,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:683:27",value:String(a.id),children:a.name},a.id))]})]})]})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:693:13",className:"grid grid-cols-2 gap-4 bg-[var(--dg-bg-tertiary)]/30 rounded-lg p-4 border border-[var(--dg-border)]/50",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:694:15",className:"space-y-2",children:[e.jsxs(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:695:17",className:"text-sm flex items-center gap-1.5",children:[e.jsx(te,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:696:19",className:"w-3.5 h-3.5"})," Scrape interval"]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:698:17",className:"flex items-center gap-2",children:[e.jsx(u,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:699:19",type:"number",min:1,value:s.scrape_interval,onChange:a=>n("scrape_interval",Number(a.target.value)),className:"w-20 bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-sm text-center"}),e.jsx("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:706:19",className:"text-xs text-[var(--dg-text-secondary)]",children:"秒"})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:709:15",className:"space-y-2",children:[e.jsxs(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:710:17",className:"text-sm flex items-center gap-1.5",children:[e.jsx(te,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:711:19",className:"w-3.5 h-3.5"})," Query timeout"]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:713:17",className:"flex items-center gap-2",children:[e.jsx(u,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:714:19",type:"number",min:1,value:s.query_timeout,onChange:a=>n("query_timeout",Number(a.target.value)),className:"w-20 bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-sm text-center"}),e.jsx("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:721:19",className:"text-xs text-[var(--dg-text-secondary)]",children:"秒"})]})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:727:13",className:"space-y-2",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:728:15",className:"text-sm",children:"HTTP Method"}),e.jsxs(Y,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:729:15",value:s.http_method,onValueChange:a=>n("http_method",a),children:[e.jsx(ee,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:730:17",className:"w-32 bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-sm",children:e.jsx(ae,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:731:19"})}),e.jsxs(se,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:733:17",children:[e.jsx(A,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:734:19",value:"POST",children:"POST"}),e.jsx(A,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:735:19",value:"GET",children:"GET"})]})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:741:13",className:"border border-[var(--dg-border)]/50 rounded-lg overflow-hidden",children:[e.jsxs("button",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:742:15",type:"button",className:"w-full flex items-center justify-between px-4 py-3 bg-[var(--dg-bg-tertiary)]/30 hover:bg-[var(--dg-bg-tertiary)]/60 transition-colors",onClick:()=>w(!T),children:[e.jsxs("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:747:17",className:"text-sm font-medium flex items-center gap-2",children:[e.jsx(ve,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:748:19",className:"w-4 h-4"})," Misc"]}),T?e.jsx(I,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:750:29",className:"w-4 h-4"}):e.jsx(F,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:750:65",className:"w-4 h-4"})]}),T&&e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:753:17",className:"p-4 space-y-4 border-t border-[var(--dg-border)]/50",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:754:19",className:"flex items-center gap-3",children:[e.jsx(l,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:755:21",id:"ds-disable-lookup",checked:s.disable_metrics_lookup,onCheckedChange:a=>n("disable_metrics_lookup",a)}),e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:760:21",htmlFor:"ds-disable-lookup",className:"text-sm cursor-pointer",children:"Disable metrics lookup"})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:764:19",className:"space-y-2",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:765:21",className:"text-sm text-[var(--dg-text-secondary)]",children:"Custom query parameters"}),e.jsx(u,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:766:21",placeholder:'例: {"timeout": "30s"}',value:s.custom_query_params,onChange:a=>n("custom_query_params",a.target.value),className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] text-sm font-mono"})]})]})]}),j&&e.jsxs("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:779:15",className:`rounded-lg p-3 flex items-center gap-2 text-sm ${j.success?"bg-emerald-500/10 border border-emerald-500/30 text-emerald-400":"bg-red-500/10 border border-red-500/30 text-red-400"}`,children:[j.success?e.jsx(Te,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:785:21",className:"w-4 h-4 shrink-0"}):e.jsx(_e,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:786:21",className:"w-4 h-4 shrink-0"}),e.jsx("span",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:788:17",children:j.message}),j.target_count!==void 0&&e.jsxs(v,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:790:19",variant:"secondary",className:"ml-auto text-xs",children:[j.target_count," targets"]})]})]}),e.jsxs(Me,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:799:11",className:"flex items-center gap-2 pt-2 border-t border-[var(--dg-border)]/50",children:[e.jsxs(i,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:800:13",variant:"outline",onClick:we,disabled:M||!s.url.trim(),className:"gap-2",children:[M?e.jsx(ce,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:807:17",className:"w-4 h-4 animate-spin"}):e.jsx(ne,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:809:17",className:"w-4 h-4"}),"Save & test"]}),e.jsx("div",{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:813:13",className:"flex-1"}),e.jsx(i,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:814:13",variant:"ghost",onClick:()=>g(!1),children:"取消"}),e.jsx(i,{"code-path":"src/components/monitor/datasource/PrometheusDatasourceManager.tsx:817:13",onClick:Q,children:b?"更新":"保存"})]})]})})]})}async function Re(x){try{const h=await k.testConnection({url:x.url,basic_auth:x.basic_auth,basic_auth_user:x.basic_auth_user,basic_auth_pass:x.basic_auth_pass,skip_tls_verify:x.skip_tls_verify}),p=h?.data||h;p?.success?o.success(`连接成功 · ${p.target_count||0} targets`):o.error(p?.message||"连接失败")}catch(h){o.error(h?.message||"测试失败")}}const ue={name:"",url:"",username:"",password:"",trends_after:0,trends_range:0,trends_cache_ttl:3600,trends_timeout:30,direct_db:!1,disable_acknowledges:!1,disable_data_alignment:!1,is_default:!1};function He(){const x=he(),[h,p]=r.useState([]),[B,$]=r.useState(!0),[U,g]=r.useState(!1),[b,q]=r.useState(null),[s,_]=r.useState({...ue}),[P,D]=r.useState(!1),[y,E]=r.useState(!1),[O,S]=r.useState(!1),[R,T]=r.useState(!1),[w,M]=r.useState(null),N=r.useCallback(async()=>{try{const t=await z.list();p(t?.data||t||[])}catch{o.error("获取数据源列表失败")}finally{$(!1)}},[]);r.useEffect(()=>{N()},[N]);const j=()=>{q(null),_({...ue}),M(null),D(!1),E(!1),S(!1),g(!0)},Z=t=>{q(t.id),_({name:t.name,url:t.url,username:t.username||"",password:t.password||"",trends_after:t.trends_after||0,trends_range:t.trends_range||0,trends_cache_ttl:t.trends_cache_ttl||3600,trends_timeout:t.trends_timeout||30,direct_db:t.direct_db||!1,disable_acknowledges:t.disable_acknowledges||!1,disable_data_alignment:t.disable_data_alignment||!1,is_default:t.is_default||!1}),M(null),g(!0)},m=(t,C)=>{_(Q=>({...Q,[t]:C}))},G=async()=>{if(!s.name.trim()){o.error("请输入数据源名称");return}if(!s.url.trim()){o.error("请输入 Zabbix API URL");return}if(!s.username.trim()){o.error("请输入用户名");return}if(!s.password.trim()){o.error("请输入密码");return}try{b?(await z.update(b,s),o.success("数据源已更新")):(await z.create(s),o.success("数据源已创建")),g(!1),N()}catch(t){o.error(t?.message||"操作失败")}},W=async t=>{if(await x({title:"删除数据源",description:`确定删除「${t.name}」?`,variant:"destructive"}))try{await z.delete(t.id),o.success("已删除"),N()}catch{o.error("删除失败")}},n=async t=>{try{await z.setDefault(t.id),o.success(`已将「${t.name}」设为默认`),N()}catch{o.error("设置失败")}},J=async()=>{if(!s.url.trim()||!s.username.trim()){o.error("请填写 URL 和用户名");return}T(!0),M(null);try{const t=await z.testConnection({url:s.url.trim(),username:s.username.trim(),password:s.password||""}),C=t?.data||t;M(C)}catch(t){M({success:!1,message:t?.message||"测试失败"})}finally{T(!1)}};return B?e.jsx("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:183:7",className:"flex items-center justify-center h-96",children:e.jsx(ce,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:184:9",className:"animate-spin w-8 h-8 text-[var(--dg-text-secondary)]"})}):e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:190:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:191:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:192:9",children:[e.jsxs("h2",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:193:11",className:"text-lg font-semibold text-[var(--dg-text-primary)] flex items-center gap-2",children:[e.jsx("img",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:194:13",src:"https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/zabbix.png",className:"w-5 h-5 rounded",onError:t=>{t.target.style.display="none"}}),"Zabbix 数据源"]}),e.jsx("p",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:201:11",className:"text-xs text-[var(--dg-text-muted)]",children:"配置 Zabbix API 连接,获取主机监控数据"})]}),e.jsxs(i,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:203:9",onClick:j,size:"sm",children:[e.jsx(H,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:204:11",className:"w-4 h-4 mr-1"}),"添加"]})]}),h.length===0?e.jsx(re,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:209:9",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsxs(oe,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:210:11",className:"py-12 text-center text-[var(--dg-text-muted)]",children:[e.jsx(L,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:211:13",className:"w-12 h-12 mx-auto mb-3 opacity-30"}),e.jsx("p",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:212:13",className:"text-sm",children:"暂无 Zabbix 数据源"}),e.jsxs(i,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:213:13",size:"sm",className:"mt-4",onClick:j,children:[e.jsx(H,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:214:15",className:"w-4 h-4 mr-1"}),"添加数据源"]})]})}):e.jsx("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:219:9",className:"grid gap-3",children:h.map(t=>e.jsx(re,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:221:13",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] hover:border-orange-500/30 transition-colors",children:e.jsx(oe,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:222:15",className:"p-4",children:e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:223:17",className:"flex items-start justify-between",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:224:19",className:"flex-1 min-w-0",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:225:21",className:"flex items-center gap-2 mb-1",children:[e.jsx("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:226:23",className:`w-2 h-2 rounded-full ${t.status===1?"bg-emerald-400":"bg-slate-500"}`}),e.jsx("span",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:227:23",className:"font-medium text-[var(--dg-text-primary)]",children:t.name}),t.is_default&&e.jsxs(v,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:228:41",className:"bg-amber-500/20 text-amber-400 text-[10px]",children:[e.jsx(V,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:228:103",className:"w-3 h-3 mr-0.5"}),"默认"]}),t.status===1?e.jsx(v,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:230:27",className:"bg-emerald-500/20 text-emerald-400 text-[10px]",children:"启用"}):e.jsx(v,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:231:27",className:"bg-slate-500/20 text-slate-400 text-[10px]",children:"禁用"})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:233:21",className:"text-xs text-[var(--dg-text-muted)] space-x-3",children:[e.jsx("code",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:234:23",className:"text-orange-300",children:t.url}),e.jsxs("span",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:235:23",children:["用户: ",t.username]}),t.direct_db&&e.jsx(v,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:236:40",variant:"outline",className:"text-[10px]",children:"直连DB"})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:239:19",className:"flex items-center gap-1",children:[!t.is_default&&e.jsxs(i,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:241:23",variant:"ghost",size:"sm",className:"h-7 text-xs text-amber-400",onClick:()=>n(t),children:[e.jsx(V,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:242:25",className:"w-3 h-3 mr-0.5"}),"默认"]}),e.jsxs(i,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:245:21",variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>Z(t),children:[e.jsx(Ne,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:246:23",className:"w-3 h-3 mr-0.5"}),"编辑"]}),e.jsx(i,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:248:21",variant:"ghost",size:"sm",className:"h-7 text-xs text-red-400",onClick:()=>W(t),children:e.jsx(fe,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:249:23",className:"w-3 h-3"})})]})]})})},t.id))}),e.jsx(le,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:260:7",open:U,onOpenChange:g,children:e.jsxs(xe,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:261:9",className:"max-w-xl max-h-[85vh] overflow-y-auto bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:[e.jsxs(pe,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:262:11",children:[e.jsxs(ge,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:263:13",className:"text-[var(--dg-text-primary)] flex items-center gap-2",children:[e.jsx(L,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:264:15",className:"h-5 w-5 text-orange-400"}),b?"编辑 Zabbix 数据源":"新建 Zabbix 数据源"]}),e.jsx(be,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:267:13",children:"配置 Zabbix API 连接,用于主机监控与告警数据获取"})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:272:11",className:"space-y-4 py-2",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:274:13",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:275:15",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:276:17",className:"text-xs text-[var(--dg-text-secondary)]",children:"名称 *"}),e.jsx(u,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:277:17",className:"mt-1 h-9 text-sm bg-[var(--dg-bg-primary)]",placeholder:"如:生产 Zabbix",value:s.name,onChange:t=>m("name",t.target.value)})]}),e.jsx("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:280:15",className:"flex items-end pb-1",children:e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:281:17",className:"flex items-center gap-2",children:[e.jsx(l,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:282:19",checked:s.is_default,onCheckedChange:t=>m("is_default",t)}),e.jsx(c,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:283:19",className:"text-xs cursor-pointer",children:"设为默认"})]})})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:289:13",className:"border border-[var(--dg-border)] rounded-lg p-3 space-y-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:290:15",className:"flex items-center gap-2 text-sm text-[var(--dg-text-primary)]",children:[e.jsx(De,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:291:17",className:"w-4 h-4"})," HTTP"]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:293:15",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:294:17",className:"text-xs text-[var(--dg-text-secondary)]",children:"URL *"}),e.jsx(u,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:295:17",className:"mt-1 h-9 text-sm font-mono bg-[var(--dg-bg-primary)]",placeholder:"http://zabbix.example.com/api_jsonrpc.php",value:s.url,onChange:t=>m("url",t.target.value)})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:302:13",className:"border border-[var(--dg-border)] rounded-lg overflow-hidden",children:[e.jsxs("button",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:303:15",className:"w-full flex items-center justify-between px-3 py-2.5 text-sm hover:bg-[var(--dg-bg-tertiary)]",onClick:()=>D(!P),children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:305:17",className:"flex items-center gap-2",children:[e.jsx(je,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:306:19",className:"w-4 h-4"}),e.jsx("span",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:307:19",children:"Zabbix API 认证"})]}),P?e.jsx(I,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:309:29",className:"w-4 h-4"}):e.jsx(F,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:309:65",className:"w-4 h-4"})]}),P&&e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:312:17",className:"px-3 pb-3 space-y-3",children:[e.jsx(u,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:313:19",className:"h-9 text-sm bg-[var(--dg-bg-primary)]",placeholder:"用户名 *",value:s.username,onChange:t=>m("username",t.target.value)}),e.jsx(u,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:315:19",className:"h-9 text-sm bg-[var(--dg-bg-primary)]",type:"password",placeholder:"密码 *",value:s.password,onChange:t=>m("password",t.target.value)})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:322:13",className:"border border-[var(--dg-border)] rounded-lg overflow-hidden",children:[e.jsxs("button",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:323:15",className:"w-full flex items-center justify-between px-3 py-2.5 text-sm hover:bg-[var(--dg-bg-tertiary)]",onClick:()=>E(!y),children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:325:17",className:"flex items-center gap-2",children:[e.jsx(te,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:326:19",className:"w-4 h-4"}),e.jsx("span",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:327:19",children:"Trends 设置"})]}),y?e.jsx(I,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:329:31",className:"w-4 h-4"}):e.jsx(F,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:329:67",className:"w-4 h-4"})]}),y&&e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:332:17",className:"px-3 pb-3 space-y-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:333:19",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:334:21",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:335:23",className:"text-xs text-[var(--dg-text-secondary)]",children:"After (天)"}),e.jsx(u,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:336:23",className:"mt-1 h-9 text-sm bg-[var(--dg-bg-primary)]",type:"number",min:0,value:s.trends_after,onChange:t=>m("trends_after",parseInt(t.target.value)||0)})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:339:21",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:340:23",className:"text-xs text-[var(--dg-text-secondary)]",children:"Range (秒)"}),e.jsx(u,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:341:23",className:"mt-1 h-9 text-sm bg-[var(--dg-bg-primary)]",type:"number",min:0,value:s.trends_range,onChange:t=>m("trends_range",parseInt(t.target.value)||0)})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:345:19",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:346:21",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:347:23",className:"text-xs text-[var(--dg-text-secondary)]",children:"Cache TTL (秒)"}),e.jsx(u,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:348:23",className:"mt-1 h-9 text-sm bg-[var(--dg-bg-primary)]",type:"number",min:0,value:s.trends_cache_ttl,onChange:t=>m("trends_cache_ttl",parseInt(t.target.value)||3600)})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:351:21",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:352:23",className:"text-xs text-[var(--dg-text-secondary)]",children:"Timeout (秒)"}),e.jsx(u,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:353:23",className:"mt-1 h-9 text-sm bg-[var(--dg-bg-primary)]",type:"number",min:1,value:s.trends_timeout,onChange:t=>m("trends_timeout",parseInt(t.target.value)||30)})]})]})]})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:362:13",className:"border border-[var(--dg-border)] rounded-lg overflow-hidden",children:[e.jsxs("button",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:363:15",className:"w-full flex items-center justify-between px-3 py-2.5 text-sm hover:bg-[var(--dg-bg-tertiary)]",onClick:()=>S(!O),children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:365:17",className:"flex items-center gap-2",children:[e.jsx(ve,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:366:19",className:"w-4 h-4"}),e.jsx("span",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:367:19",children:"其他设置"})]}),O?e.jsx(I,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:369:30",className:"w-4 h-4"}):e.jsx(F,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:369:66",className:"w-4 h-4"})]}),O&&e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:372:17",className:"px-3 pb-3 space-y-3",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:373:19",className:"flex items-center justify-between",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:374:21",className:"text-xs",children:"Direct DB Connection"}),e.jsx(l,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:375:21",checked:s.direct_db,onCheckedChange:t=>m("direct_db",t)})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:377:19",className:"flex items-center justify-between",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:378:21",className:"text-xs",children:"只读用户禁用确认"}),e.jsx(l,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:379:21",checked:s.disable_acknowledges,onCheckedChange:t=>m("disable_acknowledges",t)})]}),e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:381:19",className:"flex items-center justify-between",children:[e.jsx(c,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:382:21",className:"text-xs",children:"禁用数据对齐"}),e.jsx(l,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:383:21",checked:s.disable_data_alignment,onCheckedChange:t=>m("disable_data_alignment",t)})]})]})]}),w&&e.jsxs("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:391:15",className:`flex items-center gap-2 p-2.5 rounded text-sm ${w.success?"bg-emerald-500/10 text-emerald-400":"bg-red-500/10 text-red-400"}`,children:[w.success?e.jsx(qe,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:394:39",className:"h-4 w-4"}):e.jsx(_e,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:394:78",className:"h-4 w-4"}),w.message]})]}),e.jsxs(Me,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:400:11",className:"gap-2",children:[e.jsxs(i,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:401:13",variant:"outline",size:"sm",onClick:J,disabled:R,children:[e.jsx(ne,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:402:15",className:`w-4 h-4 mr-1 ${R?"animate-pulse":""}`}),"测试连接"]}),e.jsx("div",{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:405:13",className:"flex-1"}),e.jsx(i,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:406:13",variant:"ghost",size:"sm",onClick:()=>g(!1),children:"取消"}),e.jsx(i,{"code-path":"src/components/monitor/datasource/ZabbixDatasourceManager.tsx:407:13",size:"sm",onClick:G,children:"保存"})]})]})})]})}function ma(){const[x,h]=r.useState("prometheus");return e.jsxs("div",{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:12:5",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:13:7",className:"flex items-center gap-2",children:[e.jsx(L,{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:14:9",className:"h-5 w-5 text-blue-400"}),e.jsx("h1",{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:15:9",className:"text-xl font-bold text-[var(--dg-text-primary)]",children:"数据源管理"})]}),e.jsxs(Ae,{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:18:7",value:x,onValueChange:h,children:[e.jsxs(ze,{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:19:9",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:[e.jsxs(de,{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:20:11",value:"prometheus",className:"data-[state=active]:bg-orange-500/10 data-[state=active]:text-orange-400",children:[e.jsx("img",{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:21:13",src:"https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/prometheus.png",className:"w-4 h-4 rounded mr-1.5",onError:p=>{p.target.style.display="none"}}),"Prometheus"]}),e.jsxs(de,{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:28:11",value:"zabbix",className:"data-[state=active]:bg-orange-500/10 data-[state=active]:text-orange-400",children:[e.jsx("img",{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:29:13",src:"https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/zabbix.png",className:"w-4 h-4 rounded mr-1.5",onError:p=>{p.target.style.display="none"}}),"Zabbix"]})]}),e.jsx(me,{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:38:9",value:"prometheus",className:"mt-4",children:e.jsx(Oe,{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:39:11"})}),e.jsx(me,{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:41:9",value:"zabbix",className:"mt-4",children:e.jsx(He,{"code-path":"src/components/monitor/datasource/DatasourcePage.tsx:42:11"})})]})]})}export{ma as default};
|