1 line
8.3 KiB
JavaScript
1 line
8.3 KiB
JavaScript
import{A as e,Ct as t,D as n,G as r,H as i,J as a,Q as o,T as s,Z as c,_ as l,b as u,c as ee,d,it as te,lt as f,s as p,u as ne,v as m,vt as h,wt as g,x as _,xt as v,y}from"./CaGtQlYh.js";import{B as b,E as re,It as x,Ot as ie,T as ae,Wt as oe,h as se,m as ce,n as S,p as le,r as C,t as w,v as ue}from"#entry";import{c as T}from"./CIa-1CJu.js";import{t as de}from"./CJgAejf_.js";import{t as fe}from"./DIJlUfKz.js";import{t as pe}from"./DBeOglbT.js";var me={class:`flex h-full min-h-0 flex-col gap-3`},he={class:`flex shrink-0 items-center gap-3`},E={class:`relative flex-1`},D=[`placeholder`],O={class:`flex gap-2`},k={class:`min-h-0 flex-1 overflow-auto rounded-xl border border-base-content/10 bg-base-200/50`},A={class:`sticky top-0 z-10 bg-base-200`},j={class:`flex items-center gap-2`},M=[`onClick`],N=[`onClick`],P=[`onClick`],F=[`colspan`],I={class:`flex items-center gap-2 text-primary`},L={class:`font-semibold`},R={class:`text-xs text-base-content/60`},ge={key:0,class:`flex flex-col items-center justify-center gap-4 px-4 py-12 text-base-content/40`},_e={class:`flex flex-col gap-5`},ve={class:`flex flex-col gap-2`},ye={class:`text-sm font-medium text-base-content/70`},z={value:`xs`},be={value:`sm`},xe={value:`md`},Se={value:`lg`},Ce={class:`flex flex-col gap-2`},we={class:`text-sm font-medium text-base-content/70`},Te={value:`info`},Ee={value:`error`},De={value:`warning`},Oe={value:`debug`},ke={value:`silent`},Ae={class:`flex flex-col gap-2`},je={class:`text-sm font-medium text-base-content/70`},B=w(n({__name:`logs`,setup(n){let{t:w}=ie();oe({title:l(()=>w(`logs`))});let B=fe(),V=de(),H=f(``),U=f(),Me=/^\[([^\]]+)\]/;function W(e){return e.match(Me)?.[1]??``}function Ne(e){switch(e){case T.Error:return`text-error font-semibold`;case T.Warning:return`text-warning font-semibold`;case T.Info:return`text-info font-semibold`;case T.Debug:return`text-success font-semibold`;default:return``}}let G=[{id:`seq`,label:w(`sequence`),sortable:!0,groupable:!1,render:e=>String(e.seq),sortValue:e=>e.seq},{id:`level`,label:w(`level`),sortable:!0,groupable:!0,render:t=>e(`span`,{class:Ne(t.type)},`[${t.type}]`),sortValue:e=>e.type,groupValue:e=>e.type},{id:`type`,label:w(`type`),sortable:!0,groupable:!0,render:t=>e(`span`,{class:`text-base-content/60`},W(t.payload)),sortValue:e=>W(e.payload),groupValue:e=>W(e.payload)||`(empty)`},{id:`payload`,label:w(`payload`),sortable:!1,groupable:!1,render:e=>e.payload}],K=x(`logsTableSortColumn`,`seq`),q=x(`logsTableSortDesc`,!0),J=x(`logsTableGrouping`,null),Y=f({}),X=l(()=>{if(!H.value)return B.logs;let e=H.value.toLowerCase();return B.logs.filter(t=>t.payload.toLowerCase().includes(e)||t.type.toLowerCase().includes(e)||W(t.payload).toLowerCase().includes(e))}),Z=l(()=>{let e=G.find(e=>e.id===K.value);return e?.sortValue?[...X.value].sort((t,n)=>{let r=e.sortValue(t),i=e.sortValue(n),a=0;return typeof r==`number`&&typeof i==`number`?a=r-i:typeof r==`string`&&typeof i==`string`&&(a=r.localeCompare(i)),q.value?-a:a}):X.value}),Pe=l(()=>J.value?G.find(e=>e.id===J.value):null),Q=l(()=>{let e=Pe.value;if(!e?.groupValue)return Z.value.map(e=>({type:`data`,original:e}));let t=new Map;for(let n of Z.value){let r=e.groupValue(n),i=t.get(r);i?i.push(n):t.set(r,[n])}let n=[];for(let[e,r]of t)if(n.push({type:`group`,key:e,subRows:r}),Y.value[e])for(let e of r)n.push({type:`data`,original:e});return n});function Fe(e){return G.find(t=>t.id===e)?.sortable??!1}function $(e){return K.value===e}function Ie(e){G.find(t=>t.id===e)?.sortable&&(K.value===e?q.value?q.value=!1:(K.value=``,q.value=!0):(K.value=e,q.value=!0))}function Le(e){J.value===e?J.value=null:J.value=e,Y.value={}}function Re(e){Y.value[e]=!Y.value[e]}let ze=l(()=>V.tableSizeClassName(V.logsTableSize));return(e,n)=>{let l=pe;return i(),_(`div`,me,[m(`div`,he,[m(`div`,E,[s(h(ue),{class:`pointer-events-none absolute top-1/2 left-3.5 -translate-y-1/2 text-base-content/40`,size:18}),o(m(`input`,{"onUpdate:modelValue":n[0]||=e=>te(H)?H.value=e:null,type:`search`,class:`w-full rounded-lg border border-base-content/10 bg-base-200/60 py-2.5 pr-3.5 pl-10 text-sm text-base-content transition-all duration-200 placeholder:text-base-content/40 focus:border-primary focus:bg-base-100 focus:ring-3 focus:ring-primary/15 focus:outline-none`,placeholder:h(w)(`search`)},null,8,D),[[ee,h(H)]])]),m(`div`,O,[m(`button`,{class:v([`flex h-9 w-9 cursor-pointer items-center justify-center rounded-lg border border-base-content/10 bg-base-200/60 text-base-content transition-all duration-200 hover:border-base-content/20 hover:bg-base-300`,{"border-warning/30 bg-warning/15 text-warning":h(B).paused}]),onClick:n[1]||=e=>h(B).togglePaused()},[h(B).paused?(i(),y(h(ae),{key:1,size:18})):(i(),y(h(re),{key:0,size:18}))],2),m(`button`,{class:`flex h-9 w-9 cursor-pointer items-center justify-center rounded-lg border border-base-content/10 bg-base-200/60 text-base-content transition-all duration-200 hover:border-base-content/20 hover:bg-base-300`,onClick:n[2]||=e=>h(U)?.open()},[s(h(se),{size:18})])])]),m(`div`,k,[m(`table`,{class:v([`table w-full border-collapse whitespace-nowrap`,h(ze)])},[m(`thead`,null,[m(`tr`,A,[(i(),_(d,null,r(G,e=>m(`th`,{key:e.id,class:`border-b border-base-content/10 text-left font-semibold text-base-content`},[m(`div`,j,[m(`div`,{class:v([`flex-1`,{"cursor-pointer select-none hover:text-primary":Fe(e.id)}]),onClick:t=>Ie(e.id)},g(e.label),11,M),$(e.id)&&!h(q)?(i(),y(h(ce),{key:0,class:`text-primary`,size:16})):$(e.id)&&h(q)?(i(),y(h(le),{key:1,class:`text-primary`,size:16})):u(``,!0),e.groupable?(i(),_(`button`,{key:2,class:`flex cursor-pointer items-center justify-center border-none bg-transparent p-1 text-base-content/60 transition-colors duration-200 hover:text-primary`,onClick:ne(t=>Le(e.id),[`stop`])},[h(J)===e.id?(i(),y(h(S),{key:0,size:16})):(i(),y(h(C),{key:1,size:16}))],8,N)):u(``,!0)])])),64))])]),m(`tbody`,null,[(i(!0),_(d,null,r(h(Q),(e,n)=>(i(),_(d,{key:e.type===`group`?`group-${e.key}`:e.original.seq},[e.type===`group`?(i(),_(`tr`,{key:0,class:`cursor-pointer bg-primary/5 hover:bg-primary/10`,onClick:t=>Re(e.key)},[m(`td`,{colspan:G.length,class:`border-b border-base-content/10`},[m(`div`,I,[h(Y)[e.key]?(i(),y(h(S),{key:0,size:16})):(i(),y(h(C),{key:1,size:16})),m(`span`,L,g(e.key),1),m(`span`,R,`(`+g(e.subRows.length)+`)`,1)])],8,F)],8,P)):(i(),_(`tr`,{key:1,class:`animate-fade-in transition-colors duration-150 hover:bg-base-content/5`,style:t({animationDelay:`${n%20*15}ms`})},[(i(),_(d,null,r(G,(t,n)=>m(`td`,{key:t.id,class:v([n===0?`py-1 leading-6`:``,`border-b border-base-content/5`])},[(i(),y(a(()=>t.render(e.original))))],2)),64))],4))],64))),128))])],2),h(Q).length===0?(i(),_(`div`,ge,[s(h(b),{size:48,class:`opacity-50`}),m(`span`,null,g(h(w)(`noData`)),1)])):u(``,!0)]),s(l,{ref_key:`settingsModal`,ref:U,title:h(w)(`logsSettings`)},{icon:c(()=>[s(h(b),{size:24})]),default:c(()=>[m(`div`,_e,[m(`div`,ve,[m(`label`,ye,g(h(w)(`tableSize`)),1),o(m(`select`,{"onUpdate:modelValue":n[3]||=e=>h(V).logsTableSize=e,class:`w-full cursor-pointer rounded-lg border border-base-content/10 bg-base-100 px-3.5 py-2.5 text-sm text-base-content transition-colors duration-200 focus:border-primary focus:outline-none`},[m(`option`,z,g(h(w)(`xs`)),1),m(`option`,be,g(h(w)(`sm`)),1),m(`option`,xe,g(h(w)(`md`)),1),m(`option`,Se,g(h(w)(`lg`)),1)],512),[[p,h(V).logsTableSize]])]),m(`div`,Ce,[m(`label`,we,g(h(w)(`logLevel`)),1),o(m(`select`,{"onUpdate:modelValue":n[4]||=e=>h(V).logLevel=e,class:`w-full cursor-pointer rounded-lg border border-base-content/10 bg-base-100 px-3.5 py-2.5 text-sm text-base-content transition-colors duration-200 focus:border-primary focus:outline-none`},[m(`option`,Te,g(h(w)(`info`)),1),m(`option`,Ee,g(h(w)(`error`)),1),m(`option`,De,g(h(w)(`warning`)),1),m(`option`,Oe,g(h(w)(`debug`)),1),m(`option`,ke,g(h(w)(`silent`)),1)],512),[[p,h(V).logLevel]])]),m(`div`,Ae,[m(`label`,je,g(h(w)(`logMaxRows`)),1),o(m(`select`,{"onUpdate:modelValue":n[5]||=e=>h(V).logMaxRows=e,class:`w-full cursor-pointer rounded-lg border border-base-content/10 bg-base-100 px-3.5 py-2.5 text-sm text-base-content transition-colors duration-200 focus:border-primary focus:outline-none`},[...n[6]||=[m(`option`,{value:200},`200`,-1),m(`option`,{value:300},`300`,-1),m(`option`,{value:500},`500`,-1),m(`option`,{value:800},`800`,-1),m(`option`,{value:1e3},`1000`,-1)]],512),[[p,h(V).logMaxRows]])])])]),_:1},8,[`title`])])}}}),[[`__scopeId`,`data-v-690af3f5`]]);export{B as default}; |