@weapp-vite/dashboard 6.16.0 → 6.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AppEmptyState.js +1 -0
- package/dist/assets/AppInsetPanel.js +1 -1
- package/dist/assets/AppMetricTile.js +1 -0
- package/dist/assets/AppRuntimeBadge.js +1 -0
- package/dist/assets/AppSectionHeading.js +1 -1
- package/dist/assets/activity.js +5 -1
- package/dist/assets/analyze.js +32 -1
- package/dist/assets/codicon.ttf +0 -0
- package/dist/assets/css.worker-Wv5dxAWO.js +89 -0
- package/dist/assets/editor.worker-Bd9IXS8d.js +26 -0
- package/dist/assets/html.worker-CQP8QQsS.js +502 -0
- package/dist/assets/index.css +1 -1
- package/dist/assets/index.js +2 -1
- package/dist/assets/json.worker-DzV-CpCQ.js +58 -0
- package/dist/assets/monaco.css +1 -0
- package/dist/assets/monaco.js +1201 -0
- package/dist/assets/pages.js +2 -1
- package/dist/assets/tokens.js +1 -1
- package/dist/assets/ts.worker-METxwbDZ.js +67719 -0
- package/dist/assets/vue.js +1 -1
- package/dist/index.html +5 -0
- package/package.json +8 -2
- package/dist/assets/AppIconFeatureCard.js +0 -1
- package/dist/assets/AppStatCard.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,F as t,P as n,_ as r,j as i,q as a,z as o}from"./vue.js";function s(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,`true`),t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);if(document.body.removeChild(t),!n)throw Error(`copy text failed`)}async function c(e){let t=null;try{await Promise.race([navigator.clipboard.writeText(e),new Promise((e,n)=>{t=setTimeout(()=>{n(Error(`clipboard write timeout`))},800)})])}finally{t&&clearTimeout(t)}}async function l(e){try{s(e);return}catch{if(navigator.clipboard&&window.isSecureContext){await c(e);return}}throw Error(`copy text failed`)}var u=e({__name:`AppEmptyState`,props:{as:{},compact:{type:Boolean}},setup(e){return(s,c)=>(i(),r(t(e.as??`div`),{class:a([`rounded-xl border border-dashed border-(--dashboard-border) bg-(--dashboard-panel-muted) text-sm text-(--dashboard-text-soft)`,e.compact?`px-3 py-4`:`p-5`])},{default:o(()=>[n(s.$slots,`default`)]),_:3},8,[`class`]))}});export{l as n,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{C as e,K as t,P as n,X as r,g as i,j as a,q as o,v as s,y as c}from"./vue.js";import{C as l}from"./index.js";var u={key:0,class:`text-[11px] uppercase tracking-[0.18em] text-(--dashboard-text-soft)`},d=e({__name:`AppInsetPanel`,props:{eyebrow:{}},setup(e){return(d,f)=>(a(),c(`div`,{class:o(t(l)())},[e.eyebrow?(a(),c(`p`,u,r(e.eyebrow),1)):s(``,!0),i(`div`,{class:o(e.eyebrow?`mt-3`:void 0)},[n(d.$slots,`default`)],2)],2))}});export{d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,P as t,S as n,X as r,g as i,j as a,q as o,x as s,y as c,z as l}from"./vue.js";var u=e({__name:`AppMetaLabel`,props:{accent:{type:Boolean}},setup(e){return(n,r)=>(a(),c(`p`,{class:o([`text-[11px] uppercase tracking-[0.18em]`,e.accent?`text-(--dashboard-accent)`:`text-(--dashboard-text-soft)`])},[t(n.$slots,`default`)],2))}}),d={class:`mt-1.5 text-base font-semibold text-(--dashboard-text)`},f=`rounded-xl border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-3`,p=e({__name:`AppMetricTile`,props:{label:{},value:{}},setup(e){return(t,p)=>(a(),c(`div`,{class:o(f)},[n(u,null,{default:l(()=>[s(r(e.label),1)]),_:1}),i(`p`,d,r(e.value),1)]))}});export{u as n,p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,K as t,X as n,j as r,q as i,y as a}from"./vue.js";import{T as o}from"./index.js";var s=e({__name:`AppRuntimeBadge`,props:{label:{},tone:{default:`neutral`}},setup(e){return(s,c)=>(r(),a(`span`,{class:i(t(o)({tone:e.tone}))},n(e.label),3))}});export{s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{C as e,K as t,P as n,S as r,X as i,g as a,j as o,q as s,v as c,y as l}from"./vue.js";import{C as u,O as d}from"./index.js";var f={key:0,class:`text-[11px] uppercase tracking-[0.22em] text-(--dashboard-accent)`},p={class:`flex h-10 w-10 shrink-0 items-center justify-center rounded-md bg-(--dashboard-accent-soft) text-(--dashboard-accent)`},m={class:`h-5 w-5`},h={class:`min-w-0`},g={class:`font-semibold tracking-tight`},_={key:0,class:`mt-1 text-xs uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},v={key:1,class:`mt-2 text-sm leading-6 text-(--dashboard-text-muted)`},y=e({__name:`AppIconFeatureCard`,props:{iconName:{},title:{},description:{},eyebrow:{},interactive:{type:Boolean},meta:{}},setup(e){return(n,y)=>(o(),l(`div`,{class:s(t(u)({interactive:e.interactive}))},[e.eyebrow?(o(),l(`p`,f,i(e.eyebrow),1)):c(``,!0),a(`div`,{class:s(e.eyebrow?`mt-3 flex items-start gap-3`:`flex items-start gap-3`)},[a(`span`,p,[a(`span`,m,[r(d,{name:e.iconName},null,8,[`name`])])]),a(`div`,h,[a(`h3`,g,i(e.title),1),e.meta?(o(),l(`p`,_,i(e.meta),1)):c(``,!0),e.description?(o(),l(`p`,v,i(e.description),1)):c(``,!0)])],2)],2))}}),b={class:`space-y-1.5`},x={key:0,class:`text-[11px] uppercase tracking-[0.28em] text-(--dashboard-accent)`},S={class:`flex flex-col gap-2 md:flex-row md:items-end md:justify-between`},C={class:`text-xl font-semibold tracking-tight md:text-2xl`},w={key:0,class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},T=e({__name:`AppSectionHeading`,props:{eyebrow:{default:void 0},title:{},description:{default:void 0}},setup(e){return(t,r)=>(o(),l(`div`,b,[e.eyebrow?(o(),l(`p`,x,i(e.eyebrow),1)):c(``,!0),a(`div`,S,[a(`div`,null,[a(`h2`,C,i(e.title),1),e.description?(o(),l(`p`,w,i(e.description),1)):c(``,!0)]),n(t.$slots,`aside`)])]))}});export{y as n,T as t};
|
package/dist/assets/activity.js
CHANGED
|
@@ -1 +1,5 @@
|
|
|
1
|
-
import{E as e,F as t,I as n,L as r,M as i,N as a,_ as o,b as s,d as c,f as l,g as u,h as d,j as f,l as p,m,p as h,u as g,v as _,w as v,z as y}from"./vue.js";import{A as b,S as x,T as S,a as C,f as w,h as T,i as ee,m as E,o as D,p as O,r as k,u as A}from"./index.js";import{a as j,i as M,n as N,o as P,r as F,t as te}from"./AppStatCard.js";import{t as I}from"./AppInsetPanel.js";import{t as L}from"./AppSectionHeading.js";var R={class:`grid gap-3`},z={for:`dashboard-event-search`},B=[`value`],V={class:`grid gap-3`},H={class:`mt-2 flex flex-wrap gap-2`},U=[`onClick`],W={class:`mt-2 text-xs leading-5 text-(--dashboard-text-soft)`},G={class:`mt-2 flex flex-wrap gap-2`},K=[`onClick`],q={class:`mt-2 flex flex-wrap gap-2`},J=[`onClick`],Y={class:`mt-2 flex flex-wrap gap-2`},X=[`onClick`],Z=o({__name:`AppEventFilterPanel`,props:{searchQuery:{},presetDescription:{},filterPresets:{},eventKindOptions:{},eventLevelOptions:{},eventSourceOptions:{},eventKindFilter:{},eventLevelFilter:{},eventSourceFilter:{}},emits:[`update:searchQuery`,`update:eventKindFilter`,`update:eventLevelFilter`,`update:eventSourceFilter`,`applyPreset`],setup(t,{emit:r}){let a=t,o=r;function s(){return S({kind:`theme`,active:!1})}function f(e,t){return S({kind:`theme`,active:e===t})}return(r,h)=>(v(),l(I,null,{default:i(()=>[c(`div`,R,[c(`div`,null,[c(`label`,z,[u(j,null,{default:i(()=>[...h[1]||=[d(` 搜索事件 `,-1)]]),_:1})]),c(`input`,{id:`dashboard-event-search`,value:t.searchQuery,type:`text`,placeholder:`搜索标题、详情、来源或标签`,class:`mt-2 w-full rounded-2xl border border-(--dashboard-border) bg-(--dashboard-panel) px-3 py-2 text-sm text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`,onInput:h[0]||=e=>o(`update:searchQuery`,e.target.value)},null,40,B)]),c(`div`,V,[c(`div`,null,[u(j,null,{default:i(()=>[...h[2]||=[d(` 快速预设 `,-1)]]),_:1}),c(`div`,H,[(v(!0),m(p,null,e(t.filterPresets,e=>(v(),m(`button`,{key:e.key,class:n(s()),onClick:t=>o(`applyPreset`,e.key)},y(e.label),11,U))),128))]),c(`p`,W,y(t.presetDescription),1)]),c(`div`,null,[u(j,null,{default:i(()=>[...h[3]||=[d(` 类型过滤 `,-1)]]),_:1}),c(`div`,G,[(v(!0),m(p,null,e(t.eventKindOptions,e=>(v(),m(`button`,{key:e.value,class:n(f(a.eventKindFilter,e.value)),onClick:t=>o(`update:eventKindFilter`,e.value)},y(e.label),11,K))),128))])]),c(`div`,null,[u(j,null,{default:i(()=>[...h[4]||=[d(` 等级过滤 `,-1)]]),_:1}),c(`div`,q,[(v(!0),m(p,null,e(t.eventLevelOptions,e=>(v(),m(`button`,{key:e.value,class:n(f(a.eventLevelFilter,e.value)),onClick:t=>o(`update:eventLevelFilter`,e.value)},y(e.label),11,J))),128))])]),c(`div`,null,[u(j,null,{default:i(()=>[...h[5]||=[d(` 来源过滤 `,-1)]]),_:1}),c(`div`,Y,[(v(!0),m(p,null,e(t.eventSourceOptions,e=>(v(),m(`button`,{key:e.value,class:n(f(a.eventSourceFilter,e.value)),onClick:t=>o(`update:eventSourceFilter`,e.value)},y(e.label),11,X))),128))])])])])]),_:1}))}}),Q={class:`grid gap-2`},ne={class:`text-xs uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},re={class:`text-sm text-(--dashboard-text)`},ie=`flex items-center justify-between gap-3 rounded-2xl border border-(--dashboard-border) bg-(--dashboard-panel) px-3 py-2.5`,ae=o({__name:`AppKeyValueList`,props:{items:{}},setup(t){let r=t,i=g(()=>r.items.map(e=>({key:e.label,label:e.label,value:e.value})));return(t,r)=>(v(),m(`ul`,Q,[(v(!0),m(p,null,e(i.value,e=>(v(),m(`li`,{key:e.key,class:n(ie)},[c(`span`,ne,y(e.label),1),c(`strong`,re,y(e.value),1)]))),128))]))}}),oe={class:`flex flex-wrap gap-1.5`},se=`rounded-full border border-(--dashboard-border) px-2 py-0.5 text-[11px] uppercase tracking-[0.12em] text-(--dashboard-text-soft)`,$=o({__name:`AppTagList`,props:{tags:{}},setup(t){let r=t,i=g(()=>r.tags.map(e=>({key:e,label:e})));return(t,r)=>(v(),m(`div`,oe,[(v(!0),m(p,null,e(i.value,e=>(v(),m(`span`,{key:e.key,class:n(se)},y(e.label),1))),128))]))}}),ce={class:`flex items-start justify-between gap-3`},le={class:`font-medium text-(--dashboard-text)`},ue={class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},de=o({__name:`AppRuntimeEventListItem`,props:{event:{},selected:{type:Boolean}},setup(e){let t=e,a=g(()=>D(t.event)),o=g(()=>E(t.event)),s=g(()=>t.selected?`border-(--dashboard-border-strong) bg-(--dashboard-panel)`:`border-(--dashboard-border)`);return(e,f)=>(v(),m(`li`,{class:n([`rounded-4.5 border bg-(--dashboard-panel-muted) px-4 py-3 transition`,s.value])},[c(`div`,ce,[c(`div`,null,[c(`p`,le,y(t.event.title),1),c(`p`,ue,y(t.event.detail),1),u(j,{class:`mt-2`},{default:i(()=>[d(y(o.value),1)]),_:1}),t.event.tags?.length?(v(),l($,{key:0,class:`mt-2`,tags:t.event.tags},null,8,[`tags`])):h(``,!0)]),u(M,r(_(a.value)),null,16)])],2))}}),fe={class:`grid gap-3 xl:grid-cols-[minmax(0,1.15fr)_minmax(21rem,0.85fr)]`},pe={class:`mt-5 grid gap-3`},me={class:`flex items-start gap-3`},he={class:`mt-0.5 flex h-10 w-10 items-center justify-center rounded-2xl bg-(--dashboard-accent-soft) text-(--dashboard-accent)`},ge={class:`h-5 w-5`},_e={class:`min-w-0`},ve={class:`flex flex-wrap items-center gap-2`},ye={class:`tracking-tight`},be={class:`rounded-full border border-(--dashboard-border) px-2 py-0.5 text-[11px] uppercase tracking-[0.18em] text-(--dashboard-text-soft)`},xe={class:`mt-2 text-sm leading-6 text-(--dashboard-text-muted)`},Se={class:`grid gap-3`},Ce={class:`grid gap-2 sm:grid-cols-2`},we={class:`grid gap-2`},Te={class:`flex items-start justify-between gap-3`},Ee={class:`font-medium`},De={class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},Oe={class:`grid gap-3`},ke={key:0,class:`grid gap-2 md:grid-cols-2 xl:grid-cols-3`},Ae={key:1,class:`grid gap-3 xl:grid-cols-[minmax(0,1fr)_minmax(16rem,0.78fr)]`},je={class:`grid gap-2 text-sm leading-6 text-(--dashboard-text-muted)`},Me=o({__name:`activity`,setup(n){let{activityItems:r,diagnostics:o,eventSummary:_,runtimeEvents:S}=k(),E=a(`all`),D=a(`all`),j=a(`all`),R=a(``),z=a(null),B=[{value:`all`,label:`全部类型`},{value:`command`,label:`命令`},{value:`build`,label:`构建`},{value:`diagnostic`,label:`诊断`},{value:`hmr`,label:`HMR`},{value:`system`,label:`系统`}],V=[{value:`all`,label:`全部等级`},{value:`info`,label:`信息`},{value:`success`,label:`成功`},{value:`warning`,label:`警告`},{value:`error`,label:`错误`}],H=[{key:`all`,label:`查看全部`,description:`回到完整事件流`,apply(){E.value=`all`,D.value=`all`,j.value=`all`,R.value=``}},{key:`issues`,label:`异常优先`,description:`只看警告和错误`,apply(){E.value=`all`,D.value=`warning`,j.value=`all`,R.value=``}},{key:`commands`,label:`命令流`,description:`聚焦命令执行事件`,apply(){E.value=`command`,D.value=`all`,j.value=`all`,R.value=``}},{key:`hmr`,label:`HMR`,description:`观察热更新相关事件`,apply(){E.value=`hmr`,D.value=`all`,j.value=`all`,R.value=``}}],U=g(()=>[{value:`all`,label:`全部来源`},...[...new Set(S.value.map(e=>e.source??`dashboard`).filter(Boolean))].sort((e,t)=>e.localeCompare(t,`zh-CN`)).map(e=>({value:e,label:e}))]),W=g(()=>{let e=R.value.trim().toLowerCase();return S.value.filter(t=>E.value!==`all`&&t.kind!==E.value||D.value!==`all`&&t.level!==D.value||j.value!==`all`&&(t.source??`dashboard`)!==j.value?!1:e?[t.title,t.detail,t.kind,t.level,t.source??``,...t.tags??[]].join(` `).toLowerCase().includes(e):!0)}),G=g(()=>{let e=W.value.filter(e=>typeof e.durationMs==`number`),t=e.length>0?Math.round(e.reduce((e,t)=>e+(t.durationMs??0),0)/e.length):void 0;return[{label:`筛选后事件`,value:String(W.value.length)},{label:`当前类型`,value:E.value===`all`?`全部`:w(E.value)},{label:`当前等级`,value:D.value===`all`?`全部`:O(D.value)},{label:`当前来源`,value:j.value===`all`?`全部`:j.value},{label:`搜索关键字`,value:R.value.trim()||`未设置`},{label:`筛选平均耗时`,value:A(t)}]}),K=g(()=>ee(C(W.value))),q=g(()=>W.value.find(e=>e.id===z.value)??W.value[0]??null),J=g(()=>`${H.find(e=>e.key===`all`)?.description??``} 也可以直接组合下面的类型、等级和关键字筛选。`),Y=g(()=>q.value?[{label:`事件类型`,value:w(q.value.kind)},{label:`事件等级`,value:O(q.value.level)},{label:`事件来源`,value:T(q.value.source)},{label:`发生时间`,value:q.value.timestamp},{label:`持续时间`,value:A(q.value.durationMs)},{label:`标签数量`,value:String(q.value.tags?.length??0)}]:[]);return f(W,e=>{if(e.length===0){z.value=null;return}e.some(e=>e.id===z.value)||(z.value=e[0]?.id??null)},{immediate:!0}),(n,a)=>(v(),m(`div`,fe,[u(x,{tone:`strong`,padding:`md`},{default:i(()=>[u(L,{eyebrow:`Timeline`,title:`活动流与增强节奏`,description:`这一页先承载假数据时间线,后续最适合接入 dev server 事件、构建阶段、HMR 推送和 CLI 诊断结果。`}),c(`ol`,pe,[(v(!0),m(p,null,e(t(r),e=>(v(),m(`li`,{key:`${e.time}-${e.title}`,class:`rounded-4.5 border border-(--dashboard-border) bg-(--dashboard-panel-muted) p-4`},[c(`div`,me,[c(`span`,he,[c(`span`,ge,[u(b,{name:e.tone===`live`?`status-live`:`metric-time`},null,8,[`name`])])]),c(`div`,_e,[c(`div`,ve,[c(`strong`,ye,y(e.title),1),c(`span`,be,y(e.time),1)]),c(`p`,xe,y(e.summary),1)])])]))),128))])]),_:1}),c(`div`,Se,[u(x,{eyebrow:`Runtime`,title:`事件摘要`,description:`这组摘要来自共享工作区状态层。未来接 CLI 或 MCP 时,只需要持续往事件流里追加结构化事件。`,"icon-name":`metric-time`},{default:i(()=>[c(`div`,Ce,[(v(!0),m(p,null,e([...t(_),...G.value],e=>(v(),l(te,s({key:e.label},{ref_for:!0},e),null,16))),128))])]),_:1}),u(x,{eyebrow:`Diagnostics`,title:`当前诊断队列`,description:`这里不是产品逻辑页,而是 dashboard 未来最需要的第二层能力: 把运行状态和建议动作结构化展示。`,"icon-name":`metric-health`},{default:i(()=>[c(`ul`,we,[(v(!0),m(p,null,e(t(o),e=>(v(),m(`li`,{key:e.label,class:`rounded-4.5 border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-4 py-3`},[c(`div`,Te,[c(`div`,null,[c(`p`,Ee,y(e.label),1),c(`p`,De,y(e.detail),1)]),u(M,{label:e.status,tone:`info`},null,8,[`label`])])]))),128))])]),_:1}),u(x,{eyebrow:`Event Feed`,title:`结构化事件控制台`,description:`当前事件已经支持按类型、等级和关键字过滤。后续即便接入主包真实事件,也可以复用这套前端交互层。`,"icon-name":`hero-commands`},{default:i(()=>[c(`div`,Oe,[u(Z,{"search-query":R.value,"preset-description":J.value,"filter-presets":H,"event-kind-options":B,"event-level-options":V,"event-source-options":U.value,"event-kind-filter":E.value,"event-level-filter":D.value,"event-source-filter":j.value,"onUpdate:searchQuery":a[0]||=e=>R.value=e,"onUpdate:eventKindFilter":a[1]||=e=>E.value=e,"onUpdate:eventLevelFilter":a[2]||=e=>D.value=e,"onUpdate:eventSourceFilter":a[3]||=e=>j.value=e,onApplyPreset:a[4]||=e=>H.find(t=>t.key===e)?.apply()},null,8,[`search-query`,`preset-description`,`event-source-options`,`event-kind-filter`,`event-level-filter`,`event-source-filter`]),K.value.length>0?(v(),m(`div`,ke,[(v(!0),m(p,null,e(K.value,e=>(v(),l(N,s({key:e.source},{ref_for:!0},e),null,16))),128))])):h(``,!0),q.value?(v(),m(`div`,Ae,[u(F,{event:q.value,eyebrow:`selected event`},{default:i(()=>[q.value.tags?.length?(v(),l($,{key:0,class:`mt-4`,tags:q.value.tags},null,8,[`tags`])):h(``,!0)]),_:1},8,[`event`]),u(I,{eyebrow:`event metadata`},{default:i(()=>[u(ae,{items:Y.value},null,8,[`items`])]),_:1})])):h(``,!0),W.value.length===0?(v(),l(P,{key:2,as:`p`},{default:i(()=>[...a[5]||=[d(` 当前过滤条件下没有匹配的事件。你可以清空关键字,或者切回“全部类型 / 全部等级”。 `,-1)]]),_:1})):h(``,!0),c(`ul`,je,[(v(!0),m(p,null,e(W.value,e=>(v(),l(de,{key:e.id,event:e,selected:q.value?.id===e.id,onClick:t=>z.value=e.id},null,8,[`event`,`selected`,`onClick`]))),128))])])]),_:1})])]))}});export{Me as default};
|
|
1
|
+
import{B as e,C as t,D as n,E as r,I as i,J as a,K as o,N as s,P as c,R as l,S as u,U as d,V as f,X as p,_ as m,g as h,h as g,j as _,k as v,l as y,p as b,q as x,v as S,w as C,x as w,y as T,z as E}from"./vue.js";import{C as D,O,a as k,d as A,f as j,i as M,l as N,n as ee,p as P,r as te,t as ne,w as F,x as I}from"./index.js";import{n as L,t as R}from"./AppEmptyState.js";import{t as z}from"./AppRuntimeBadge.js";import{n as B,t as re}from"./AppMetricTile.js";import{t as ie}from"./AppInsetPanel.js";var ae={class:`flex flex-wrap items-center justify-between gap-2 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 py-2`},V={class:`text-xs text-(--dashboard-text-soft)`},H={class:`flex flex-wrap items-center gap-2`},U={key:0,class:`text-xs font-medium text-(--dashboard-accent)`},W=[`disabled`],G=[`disabled`],K=t({__name:`ActivityEventSortBar`,props:r({events:{},filteredCount:{},totalCount:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(t){let n=t,r=i(t,`modelValue`),a=d(``),o=null;function s(e){return e.replaceAll(`|`,`\\|`).replaceAll(`
|
|
2
|
+
`,` `)}let c=g(()=>[`# dashboard 事件流`,``,`事件数量:${n.events.length}`,``,`| 时间 | 等级 | 类型 | 来源 | 标题 | 耗时 | 标签 |`,`| --- | --- | --- | --- | --- | ---: | --- |`,...n.events.map(e=>[e.timestamp,j(e.level),A(e.kind),e.source??`dashboard`,e.title,N(e.durationMs),e.tags?.join(`, `)||`-`].map(s).join(` | `)).map(e=>`| ${e} |`),``].join(`
|
|
3
|
+
`));function l(e){a.value=e,o&&clearTimeout(o),o=setTimeout(()=>{a.value=``,o=null},1800)}async function u(){try{await L(c.value),l(`已复制`)}catch{l(`复制失败`)}}function f(){let e=new Blob([`${JSON.stringify(n.events,null,2)}\n`],{type:`application/json`}),t=URL.createObjectURL(e),r=document.createElement(`a`);r.href=t,r.download=`weapp-vite-dashboard-events.json`,r.click(),URL.revokeObjectURL(t),l(`已导出`)}return v(()=>{o&&clearTimeout(o)}),(n,i)=>(_(),T(`div`,ae,[h(`p`,V,` 匹配 `+p(t.filteredCount)+` / `+p(t.totalCount)+` 条事件 `,1),h(`div`,H,[a.value?(_(),T(`span`,U,p(a.value),1)):S(``,!0),h(`button`,{type:`button`,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm text-(--dashboard-text-soft) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none disabled:opacity-50`,disabled:t.events.length===0,onClick:u},` 复制事件 `,8,W),h(`button`,{type:`button`,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 text-sm text-(--dashboard-text-soft) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none disabled:opacity-50`,disabled:t.events.length===0,onClick:f},` 导出 JSON `,8,G),e(h(`select`,{"onUpdate:modelValue":i[0]||=e=>r.value=e,class:`h-9 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-2.5 text-sm text-(--dashboard-text) outline-none transition focus:border-(--dashboard-accent)`},[...i[1]||=[h(`option`,{value:`time`},` 按时间 `,-1),h(`option`,{value:`duration`},` 按耗时 `,-1),h(`option`,{value:`severity`},` 按等级 `,-1),h(`option`,{value:`source`},` 按来源 `,-1)]],512),[[y,r.value]])])]))}}),q={class:`flex items-start justify-between gap-3`},J={key:0,class:`text-[11px] uppercase tracking-[0.18em] text-(--dashboard-accent)`},oe={class:`mt-1 text-lg font-semibold tracking-tight`},se={class:`mt-3 text-sm leading-6 text-(--dashboard-text-muted)`},ce={key:0,class:`mt-3 text-[11px] uppercase tracking-[0.18em] text-(--dashboard-text-soft)`},le={key:1,class:`mt-2 text-sm font-medium text-(--dashboard-text)`},ue=t({__name:`AppRuntimeFocusCard`,props:{event:{},eyebrow:{},emptyTitle:{},emptyDetail:{},durationText:{}},setup(e){let t=e,r=g(()=>t.event?M(t.event):null),i=g(()=>t.event?.title??t.emptyTitle??`尚无运行事件`),s=g(()=>t.event?.detail??t.emptyDetail??`当前工作区还没有推入结构化运行事件。`),l=g(()=>t.event?P(t.event):null);return(e,u)=>(_(),T(`div`,{class:x(o(D)())},[h(`div`,q,[h(`div`,null,[t.eyebrow?(_(),T(`p`,J,p(t.eyebrow),1)):S(``,!0),h(`h3`,oe,p(i.value),1)]),r.value?(_(),m(z,a(n({key:0},r.value)),null,16)):S(``,!0)]),h(`p`,se,p(s.value),1),t.event?(_(),T(`p`,ce,p(l.value),1)):S(``,!0),t.durationText?(_(),T(`p`,le,p(t.durationText),1)):S(``,!0),c(e.$slots,`default`)],2))}}),de={key:0,class:`mt-3 flex flex-wrap gap-1.5`},fe=t({__name:`ActivitySelectedEventPanel`,props:{event:{}},setup(e){let t=e,n=g(()=>t.event?.durationMs===void 0?void 0:`耗时 ${N(t.event.durationMs)}`);return(t,r)=>(_(),m(I,{eyebrow:`Selected`,title:`当前事件`,"icon-name":`metric-search`},{default:E(()=>[u(ue,{event:e.event,eyebrow:`focus`,"empty-title":`未选择事件`,"empty-detail":`选择左侧事件后查看详情。`,"duration-text":n.value},{default:E(()=>[e.event?.tags?.length?(_(),T(`div`,de,[(_(!0),T(b,null,s(e.event.tags,e=>(_(),m(z,{key:e,label:e,tone:`neutral`},null,8,[`label`]))),128))])):S(``,!0)]),_:1},8,[`event`,`duration-text`])]),_:1}))}}),pe={class:`flex items-start justify-between gap-3`},me={class:`min-w-0`},he={class:`truncate font-medium text-(--dashboard-text)`},ge={class:`mt-1 text-[11px] uppercase tracking-[0.16em] text-(--dashboard-text-soft)`},_e={key:0,class:`mt-3 flex flex-wrap gap-2 text-[11px] uppercase tracking-[0.14em] text-(--dashboard-text-soft)`},ve={key:1,class:`mt-3 text-sm text-(--dashboard-text-muted)`},ye=t({__name:`AppRuntimeSourceCard`,props:{source:{},count:{},errorCount:{},averageDuration:{},latestTimestamp:{},countLabel:{}},setup(e){let t=e,n=g(()=>k(t)),r=g(()=>t.latestTimestamp?`最近事件 ${t.latestTimestamp}`:`${t.count} ${t.countLabel??`条事件`}`),i=g(()=>[{key:`error-count`,label:`错误 ${t.errorCount}`},{key:`average-duration`,label:`平均耗时 ${t.averageDuration}`}]),c=g(()=>`平均耗时 ${t.averageDuration}`);return(e,l)=>(_(),T(`div`,{class:x(o(D)({padding:`sm`}))},[h(`div`,pe,[h(`div`,me,[h(`p`,he,p(t.source),1),h(`p`,ge,p(r.value),1)]),u(z,a(C(n.value)),null,16)]),t.latestTimestamp?(_(),T(`div`,_e,[(_(!0),T(b,null,s(i.value,e=>(_(),T(`span`,{key:e.key,class:`rounded-full border border-(--dashboard-border) px-2 py-0.5`},p(e.label),1))),128))])):(_(),T(`p`,ve,p(c.value),1))],2))}}),be={class:`mt-1 text-lg font-semibold`},xe=t({__name:`AppStatCard`,props:{label:{},value:{}},setup(e){let t=D({padding:`sm`});return(n,r)=>(_(),T(`div`,{class:x(o(t))},[u(B,null,{default:E(()=>[w(p(e.label),1)]),_:1}),h(`p`,be,p(e.value),1)],2))}}),Se={class:`flex shrink-0 items-center gap-2`},Ce={key:0,class:`text-xs font-medium text-(--dashboard-accent)`},we={class:`h-3.5 w-3.5`},Te={class:`grid gap-3`},Ee={class:`flex items-start justify-between gap-3`},De={class:`min-w-0`},Oe={class:`text-sm font-semibold text-(--dashboard-text)`},ke={class:`mt-1 text-xs leading-5 text-(--dashboard-text-muted)`},Ae={class:`grid grid-cols-2 gap-2 sm:grid-cols-5 xl:grid-cols-2 2xl:grid-cols-5`},je={key:0,class:`grid max-h-52 gap-2 overflow-y-auto pr-1`},Me={class:`flex items-start justify-between gap-3`},Ne={class:`min-w-0`},Pe={class:`truncate text-sm font-medium text-(--dashboard-text)`},Fe={class:`mt-1 truncate text-xs text-(--dashboard-text-soft)`},Ie={class:`mt-2 line-clamp-2 text-xs leading-5 text-(--dashboard-text-muted)`},Le=t({__name:`RuntimeIncidentDigestPanel`,props:{digest:{}},setup(e){let t=e,n=d(``),r=null,i=g(()=>t.digest.status===`critical`?`error`:t.digest.status===`warning`?`warning`:`success`);function a(e){return e===`error`?`text-rose-600 dark:text-rose-300`:e===`warning`?`text-amber-600 dark:text-amber-300`:`text-(--dashboard-accent)`}function o(e){return e===`critical`?`border-rose-400/60 bg-(--dashboard-panel-muted)`:e===`warning`?`border-amber-400/60 bg-(--dashboard-panel-muted)`:`border-emerald-400/60 bg-(--dashboard-panel-muted)`}function c(e){n.value=e,r&&clearTimeout(r),r=setTimeout(()=>{n.value=``,r=null},1800)}async function l(){try{await L(t.digest.report),c(`摘要已复制`)}catch{c(`复制失败`)}}return v(()=>{r&&clearTimeout(r)}),(t,r)=>(_(),m(I,{eyebrow:`Incident`,title:`事故摘要`,"icon-name":`metric-quality`},{header:E(()=>[h(`div`,Se,[n.value?(_(),T(`span`,Ce,p(n.value),1)):S(``,!0),h(`button`,{type:`button`,class:`inline-flex h-8 items-center gap-1.5 rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 text-xs text-(--dashboard-text-soft) transition hover:border-(--dashboard-border-strong) hover:text-(--dashboard-accent) focus:border-(--dashboard-border-strong) focus:outline-none`,onClick:l},[h(`span`,we,[u(O,{name:`metric-copy`})]),r[0]||=w(` 复制 `,-1)])])]),default:E(()=>[h(`div`,Te,[h(`div`,{class:x([`rounded-md border px-3 py-2.5`,o(e.digest.status)])},[h(`div`,Ee,[h(`div`,De,[h(`p`,Oe,p(e.digest.statusLabel),1),h(`p`,ke,p(e.digest.statusDetail),1)]),u(z,{label:e.digest.statusLabel,tone:i.value},null,8,[`label`,`tone`])])],2),h(`div`,Ae,[(_(!0),T(b,null,s(e.digest.metrics,e=>(_(),m(re,{key:e.label,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),e.digest.incidents.length>0?(_(),T(`div`,je,[(_(!0),T(b,null,s(e.digest.incidents,e=>(_(),T(`article`,{key:e.id,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-3 py-2.5`},[h(`div`,Me,[h(`div`,Ne,[h(`p`,Pe,p(e.title),1),h(`p`,Fe,p(e.source)+` · `+p(e.kindLabel)+` · `+p(e.timestamp)+` · `+p(e.duration),1)]),h(`span`,{class:x([`shrink-0 text-xs font-semibold`,a(e.level)])},p(e.levelLabel),3)]),h(`p`,Ie,p(e.reason)+` · `+p(e.detail),1)]))),128))])):(_(),m(R,{key:1,compact:``},{default:E(()=>[...r[1]||=[w(` 当前筛选范围内没有需要处理的运行时事件。 `,-1)]]),_:1}))])]),_:1}))}}),Re={class:`grid min-h-0 content-start gap-3 overflow-y-auto pr-1`},ze={class:`grid gap-2 sm:grid-cols-2`},Be={class:`grid max-h-44 gap-2 overflow-y-auto pr-1`},Ve={class:`flex items-start justify-between gap-3`},He={class:`font-medium`},Ue={class:`mt-1 text-sm leading-6 text-(--dashboard-text-muted)`},We={key:0,class:`grid max-h-full gap-2 overflow-y-auto pr-1`},Ge=t({__name:`ActivityInsightPanel`,props:{selectedEvent:{},incidentDigest:{},eventSummary:{},filteredEventSummary:{},diagnostics:{},sourceBreakdown:{}},setup(e){return(t,r)=>(_(),T(`div`,Re,[u(fe,{event:e.selectedEvent},null,8,[`event`]),u(Le,{digest:e.incidentDigest},null,8,[`digest`]),u(I,{eyebrow:`Runtime`,title:`事件摘要`,"icon-name":`metric-time`},{default:E(()=>[h(`div`,ze,[(_(!0),T(b,null,s([...e.eventSummary,...e.filteredEventSummary],e=>(_(),m(xe,n({key:e.label},{ref_for:!0},e),null,16))),128))])]),_:1}),u(I,{eyebrow:`Diagnostics`,title:`当前诊断队列`,"icon-name":`metric-health`,"content-class":`min-h-0 overflow-hidden`},{default:E(()=>[h(`ul`,Be,[(_(!0),T(b,null,s(e.diagnostics,e=>(_(),T(`li`,{key:e.label,class:`rounded-md border border-(--dashboard-border) bg-(--dashboard-panel-muted) px-4 py-3`},[h(`div`,Ve,[h(`div`,null,[h(`p`,He,p(e.label),1),h(`p`,Ue,p(e.detail),1)]),u(z,{label:e.status,tone:`info`},null,8,[`label`])])]))),128))])]),_:1}),u(I,{eyebrow:`Sources`,title:`事件来源`,"icon-name":`hero-system`,"content-class":`min-h-0 overflow-hidden`},{default:E(()=>[e.sourceBreakdown.length>0?(_(),T(`div`,We,[(_(!0),T(b,null,s(e.sourceBreakdown,e=>(_(),m(ye,n({key:e.source},{ref_for:!0},e),null,16))),128))])):S(``,!0)]),_:1})]))}}),Ke={class:`grid gap-3 xl:grid-cols-[minmax(14rem,0.85fr)_minmax(0,1.15fr)]`},qe={for:`dashboard-event-search`},Je=[`value`],Ye={class:`grid gap-3`},Xe={class:`mt-2 flex flex-wrap gap-2`},Ze=[`onClick`],Qe={key:0,class:`mt-2 text-xs leading-5 text-(--dashboard-text-soft)`},$e={class:`grid gap-3 md:grid-cols-3`},et={class:`mt-2 flex flex-wrap gap-2`},tt=[`onClick`],nt={class:`mt-2 flex flex-wrap gap-2`},rt=[`onClick`],it={class:`mt-2 flex flex-wrap gap-2`},at=[`onClick`],ot=t({__name:`AppEventFilterPanel`,props:{searchQuery:{},presetDescription:{},filterPresets:{},eventKindOptions:{},eventLevelOptions:{},eventSourceOptions:{},eventKindFilter:{},eventLevelFilter:{},eventSourceFilter:{}},emits:[`update:searchQuery`,`update:eventKindFilter`,`update:eventLevelFilter`,`update:eventSourceFilter`,`applyPreset`],setup(e,{emit:t}){let n=e,r=t;function i(){return F({kind:`theme`,active:!1})}function a(e,t){return F({kind:`theme`,active:e===t})}return(t,o)=>(_(),m(ie,null,{default:E(()=>[h(`div`,Ke,[h(`div`,null,[h(`label`,qe,[u(B,null,{default:E(()=>[...o[1]||=[w(` 搜索事件 `,-1)]]),_:1})]),h(`input`,{id:`dashboard-event-search`,value:e.searchQuery,type:`text`,placeholder:`搜索标题、详情、来源或标签`,class:`mt-2 w-full rounded-md border border-(--dashboard-border) bg-(--dashboard-panel) px-3 py-2 text-sm text-(--dashboard-text) outline-none transition focus:border-(--dashboard-border-strong)`,onInput:o[0]||=e=>r(`update:searchQuery`,e.target.value)},null,40,Je)]),h(`div`,Ye,[h(`div`,null,[u(B,null,{default:E(()=>[...o[2]||=[w(` 快速预设 `,-1)]]),_:1}),h(`div`,Xe,[(_(!0),T(b,null,s(e.filterPresets,e=>(_(),T(`button`,{key:e.key,class:x(i()),onClick:t=>r(`applyPreset`,e.key)},p(e.label),11,Ze))),128))]),e.presetDescription?(_(),T(`p`,Qe,p(e.presetDescription),1)):S(``,!0)]),h(`div`,$e,[h(`div`,null,[u(B,null,{default:E(()=>[...o[3]||=[w(` 类型过滤 `,-1)]]),_:1}),h(`div`,et,[(_(!0),T(b,null,s(e.eventKindOptions,e=>(_(),T(`button`,{key:e.value,class:x(a(n.eventKindFilter,e.value)),onClick:t=>r(`update:eventKindFilter`,e.value)},p(e.label),11,tt))),128))])]),h(`div`,null,[u(B,null,{default:E(()=>[...o[4]||=[w(` 等级过滤 `,-1)]]),_:1}),h(`div`,nt,[(_(!0),T(b,null,s(e.eventLevelOptions,e=>(_(),T(`button`,{key:e.value,class:x(a(n.eventLevelFilter,e.value)),onClick:t=>r(`update:eventLevelFilter`,e.value)},p(e.label),11,rt))),128))])]),h(`div`,null,[u(B,null,{default:E(()=>[...o[5]||=[w(` 来源过滤 `,-1)]]),_:1}),h(`div`,it,[(_(!0),T(b,null,s(e.eventSourceOptions,e=>(_(),T(`button`,{key:e.value,class:x(a(n.eventSourceFilter,e.value)),onClick:t=>r(`update:eventSourceFilter`,e.value)},p(e.label),11,at))),128))])])])])])]),_:1}))}}),st={class:`flex items-start justify-between gap-3`},ct={class:`font-medium text-(--dashboard-text)`},lt=t({__name:`AppRuntimeEventListItem`,props:{event:{},selected:{type:Boolean}},setup(e){let t=e,n=g(()=>M(t.event)),r=g(()=>P(t.event)),i=g(()=>t.selected?`border-(--dashboard-border-strong) bg-(--dashboard-panel)`:`border-(--dashboard-border)`);return(e,o)=>(_(),T(`li`,{class:x([`rounded-md border bg-(--dashboard-panel-muted) px-4 py-3 transition`,i.value])},[h(`div`,st,[h(`div`,null,[h(`p`,ct,p(t.event.title),1),u(B,{class:`mt-1`},{default:E(()=>[w(p(r.value),1)]),_:1})]),u(z,a(C(n.value)),null,16)])],2))}}),ut=1e3,dt=5,Y={error:4,warning:3,success:2,info:1};function X(e){let t=Date.parse(e.timestamp);return Number.isFinite(t)?t:0}function Z(e,t){return typeof e.durationMs==`number`&&e.durationMs>=t}function ft(e,t){return e.level===`error`||e.level===`warning`||Z(e,t)}function pt(e,t){let n=[];return e.level===`error`?n.push(`错误事件`):e.level===`warning`&&n.push(`警告事件`),Z(e,t)&&n.push(`耗时 ${N(e.durationMs)}`),n.join(` · `)||`需要关注`}function mt(e,t){return{id:e.id,title:e.title,detail:e.detail,level:e.level,levelLabel:j(e.level),kindLabel:A(e.kind),source:e.source??`dashboard`,timestamp:e.timestamp,duration:N(e.durationMs),reason:pt(e,t)}}function ht(e,t,n){return e>0?`critical`:t>0||n>0?`warning`:`healthy`}function gt(e){return e===`critical`?`需要立即处理`:e===`warning`?`需要关注`:`运行平稳`}function _t(e,t,n,r){return e===`critical`?`检测到 ${t} 个错误事件,优先排查失败来源。`:e===`warning`?`检测到 ${n} 个警告和 ${r} 个慢事件,建议跟进。`:`当前筛选范围内没有错误、警告或慢事件。`}function vt(e){let t=e.incidents.length>0?e.incidents.map(e=>`- [${e.levelLabel}] ${e.title}(${e.source} · ${e.kindLabel} · ${e.timestamp} · ${e.duration}):${e.detail}`):[`- 当前筛选范围内没有需要处理的事件。`];return[`# dashboard 运行时事故摘要`,``,`状态:${e.statusLabel}`,`说明:${e.statusDetail}`,``,`## 指标`,...e.metrics.map(e=>`- ${e.label}:${e.value}`),``,`## 影响来源`,e.affectedSources.length>0?e.affectedSources.map(e=>`- ${e}`).join(`
|
|
4
|
+
`):`- 无`,``,`## 优先处理`,...t,``].join(`
|
|
5
|
+
`)}function yt(e,t={}){let n=t.slowEventThresholdMs??ut,r=e.filter(e=>e.level===`error`).length,i=e.filter(e=>e.level===`warning`).length,a=e.filter(e=>Z(e,n)).length,o=e.filter(e=>ft(e,n)),s=[...new Set(o.map(e=>e.source??`dashboard`))].sort((e,t)=>e.localeCompare(t,`zh-CN`)),c=ht(r,i,a),l=o.toSorted((e,t)=>Y[t.level]-Y[e.level]||(t.durationMs??-1)-(e.durationMs??-1)||X(t)-X(e)).slice(0,dt).map(e=>mt(e,n)),u={status:c,statusLabel:gt(c),statusDetail:_t(c,r,i,a),metrics:[{label:`事件总数`,value:e.length},{label:`错误`,value:r},{label:`警告`,value:i},{label:`慢事件`,value:a},{label:`影响来源`,value:s.length}],affectedSources:s,incidents:l};return{...u,report:vt(u)}}var Q={error:4,warning:3,success:2,info:1},$=[{value:`all`,label:`全部类型`},{value:`command`,label:`命令`},{value:`build`,label:`构建`},{value:`diagnostic`,label:`诊断`},{value:`hmr`,label:`HMR`},{value:`system`,label:`系统`}],bt=[{value:`all`,label:`全部等级`},{value:`info`,label:`信息`},{value:`success`,label:`成功`},{value:`warning`,label:`警告`},{value:`error`,label:`错误`}];function xt(e,t){return[e.title,e.detail,e.kind,e.level,e.source??``,...e.tags??[]].join(` `).toLowerCase().includes(t)}function St(e,t){return[...e].sort((e,n)=>t===`duration`?(n.durationMs??-1)-(e.durationMs??-1)||Date.parse(n.timestamp)-Date.parse(e.timestamp):t===`severity`?Q[n.level]-Q[e.level]||Date.parse(n.timestamp)-Date.parse(e.timestamp):t===`source`&&(e.source??`dashboard`).localeCompare(n.source??`dashboard`)||Date.parse(n.timestamp)-Date.parse(e.timestamp))}function Ct(e){let t=d(`all`),n=d(`all`),r=d(`all`),i=d(`time`),a=d(``),o=d(null),s=[{key:`all`,label:`查看全部`,description:`回到完整事件流`,apply(){t.value=`all`,n.value=`all`,r.value=`all`,a.value=``}},{key:`issues`,label:`异常优先`,description:`只看警告和错误`,apply(){t.value=`all`,n.value=`warning`,r.value=`all`,a.value=``}},{key:`commands`,label:`命令流`,description:`聚焦命令执行事件`,apply(){t.value=`command`,n.value=`all`,r.value=`all`,a.value=``}},{key:`hmr`,label:`HMR`,description:`观察热更新相关事件`,apply(){t.value=`hmr`,n.value=`all`,r.value=`all`,a.value=``}}],c=g(()=>[{value:`all`,label:`全部来源`},...[...new Set(e.value.map(e=>e.source??`dashboard`).filter(Boolean))].sort((e,t)=>e.localeCompare(t,`zh-CN`)).map(e=>({value:e,label:e}))]),u=g(()=>{let o=a.value.trim().toLowerCase();return St(e.value.filter(e=>t.value!==`all`&&e.kind!==t.value||n.value!==`all`&&e.level!==n.value||r.value!==`all`&&(e.source??`dashboard`)!==r.value?!1:!o||xt(e,o)),i.value)}),f=g(()=>{let e=u.value.filter(e=>typeof e.durationMs==`number`),i=e.length>0?Math.round(e.reduce((e,t)=>e+(t.durationMs??0),0)/e.length):void 0;return[{label:`筛选后事件`,value:String(u.value.length)},{label:`当前类型`,value:t.value===`all`?`全部`:A(t.value)},{label:`当前等级`,value:n.value===`all`?`全部`:j(n.value)},{label:`当前来源`,value:r.value===`all`?`全部`:r.value},{label:`搜索关键字`,value:a.value.trim()||`未设置`},{label:`筛选平均耗时`,value:N(i)}]}),p=g(()=>ee(te(u.value))),m=g(()=>yt(u.value)),h=g(()=>u.value.find(e=>e.id===o.value)??u.value[0]??null),_=g(()=>s.find(e=>e.key===`issues`?t.value===`all`&&n.value===`warning`&&r.value===`all`&&a.value===``:e.key===`commands`?t.value===`command`&&n.value===`all`&&r.value===`all`&&a.value===``:e.key===`hmr`?t.value===`hmr`&&n.value===`all`&&r.value===`all`&&a.value===``:t.value===`all`&&n.value===`all`&&r.value===`all`&&a.value===``)?.description??``);return l(u,e=>{if(e.length===0){o.value=null;return}e.some(e=>e.id===o.value)||(o.value=e[0]?.id??null)},{immediate:!0}),{eventKindFilter:t,eventKindOptions:$,eventLevelFilter:n,eventLevelOptions:bt,eventSortMode:i,eventSourceFilter:r,eventSourceOptions:c,filteredEventSummary:f,filteredRuntimeEvents:u,filterPresets:s,incidentDigest:m,presetDescription:_,searchQuery:a,selectedEvent:h,selectedEventId:o,sourceBreakdown:p}}var wt={class:`grid h-full min-h-0 gap-3 overflow-hidden xl:grid-cols-[minmax(0,1.25fr)_minmax(22rem,0.75fr)]`},Tt={class:`grid h-full min-h-0 grid-rows-[minmax(0,9rem)_auto_minmax(6rem,1fr)] gap-3 overflow-hidden`},Et={class:`grid min-h-0 gap-2 overflow-y-auto pr-1 text-sm leading-6 text-(--dashboard-text-muted)`},Dt=t({__name:`activity`,setup(e){let{diagnostics:t,eventSummary:n,runtimeEvents:r}=ne(),{eventKindFilter:i,eventKindOptions:a,eventLevelFilter:c,eventLevelOptions:l,eventSortMode:d,eventSourceFilter:p,eventSourceOptions:g,filteredEventSummary:v,filteredRuntimeEvents:y,filterPresets:x,incidentDigest:C,presetDescription:D,searchQuery:O,selectedEvent:k,selectedEventId:A,sourceBreakdown:j}=Ct(r);return(e,M)=>(_(),T(`div`,wt,[u(I,{eyebrow:`Event Feed`,title:`事件控制台`,"icon-name":`hero-commands`,"content-class":`min-h-0 overflow-hidden`},{default:E(()=>[h(`div`,Tt,[u(ot,{class:`min-h-0 overflow-y-auto`,"search-query":o(O),"preset-description":o(D),"filter-presets":o(x),"event-kind-options":o(a),"event-level-options":o(l),"event-source-options":o(g),"event-kind-filter":o(i),"event-level-filter":o(c),"event-source-filter":o(p),"onUpdate:searchQuery":M[0]||=e=>O.value=e,"onUpdate:eventKindFilter":M[1]||=e=>i.value=e,"onUpdate:eventLevelFilter":M[2]||=e=>c.value=e,"onUpdate:eventSourceFilter":M[3]||=e=>p.value=e,onApplyPreset:M[4]||=e=>o(x).find(t=>t.key===e)?.apply()},null,8,[`search-query`,`preset-description`,`filter-presets`,`event-kind-options`,`event-level-options`,`event-source-options`,`event-kind-filter`,`event-level-filter`,`event-source-filter`]),u(K,{modelValue:o(d),"onUpdate:modelValue":M[5]||=e=>f(d)?d.value=e:null,events:o(y),"filtered-count":o(y).length,"total-count":o(r).length},null,8,[`modelValue`,`events`,`filtered-count`,`total-count`]),o(y).length===0?(_(),m(R,{key:0,as:`p`},{default:E(()=>[...M[6]||=[w(` 当前过滤条件下没有匹配事件。 `,-1)]]),_:1})):S(``,!0),h(`ul`,Et,[(_(!0),T(b,null,s(o(y),e=>(_(),m(lt,{key:e.id,event:e,selected:o(k)?.id===e.id,onClick:t=>A.value=e.id},null,8,[`event`,`selected`,`onClick`]))),128))])])]),_:1}),u(Ge,{"selected-event":o(k),"incident-digest":o(C),"event-summary":o(n),"filtered-event-summary":o(v),diagnostics:o(t),"source-breakdown":o(j)},null,8,[`selected-event`,`incident-digest`,`event-summary`,`filtered-event-summary`,`diagnostics`,`source-breakdown`])]))}});export{Dt as default};
|