1import{f as fa,d as h,Q as va,b as g,D as ya,a0 as wa,k as i,L as l,u as a,K as f,a1 as k,af as ka,F as _a,P as Ca,N as v,M as n,W as Da,l as _,ac as Sa,ab as La,a3 as Ta,O as m}from"./vendor-DbaRJ-Gm.js";import{u as Va,as as xa,e as C,V as Ma,aG as E,ad as Aa,au as Ia,a as H,aa as Ba}from"./index-DMvzLQI1.js";import{u as Fa}from"./dashboards-bLKHWXPR.js";import{A as Na}from"./AppPage-BMzft2r4.js";import{B as $a}from"./BaseEmptyState-DwuCDHX6.js";import{a as Ra,C as Pa}from"./CollectionToolbar-BzSuSsfb.js";import{L as Ua}from"./LoadingSpinner-D2Pj5cTz.js";import{M as Ka}from"./ModernTable-BgzaEbgm.js";import{T as W}from"./TableIconAction-DxMxU900.js";import{T as Oa}from"./TableIconActions-CUb-hI-J.js";import{u as Ea}from"./useCollectionState-DeHS3Xmd.js";import{u as Ha}from"./useOrganisationContext-Txbjam-M.js";import{A as Wa}from"./table-DnrycppQ.js";import{f as B}from"./date-SWdbrIe0.js";import{u as za}from"./useSummaryCardVisibility-Cpov7Dt6.js";import{u as Ga,_ as Qa}from"./useServiceLimitGate-DgL8SXDl.js";import{B as ja}from"./BaseDialog-C6NHURR9.js";import{D as qa,g as Ja,b as Xa}from"./DashboardTemplatePicker-kNnFdy4r.js";import"./vuetify-o-mditHL.js";import"./PageHeaderHero-Bd5n-4bw.js";import"./PageHeader-D8whS4bX.js";import"./useMobileMode-BwDjOsXK.js";import"./documentTitle-QIBCcm-k.js";import"./CopyToClipboard.vue_vue_type_script_setup_true_lang-DwdEfXKl.js";import"./clipboard-CbF2CLNP.js";import"./VTooltip-B5ZpN5g8.js";import"./VChip-CHqKLOS9.js";import"./VAvatar-CItQE5v4.js";import"./CollectionNoResults-CuOkI9FL.js";import"./networks-DSG9zZxX.js";import"./dialog-transition-Cnt9iXZK.js";import"./VSpacer-Bd-zUJMp.js";const Ya={class:"dashboard-date"},Za={class:"dashboard-date"},ae={class:"dashboard-create-dialog"},ee=fa({__name:"DashboardsListView",setup(oe){const z=Ca(),F=Ta(),p=Ia(),{canWriteDashboards:c}=Ha(),{t:o}=Va(),G=xa(),r=String(z.params.orgHash),Q=h(()=>r),{dialogOpen:D,dialogService:j,dialogActionLabel:q,dialogConfirmLabel:J,dialogDelta:X,dialogLoading:Y,canIncreaseLimit:Z,blockedMessage:aa,guard:ea,confirmIncrease:oa,isLimitedActionDisabled:N}=Ga(Q),$=Fa(),{dashboards:d,loading:S}=va($),{fetchDashboards:R,deleteDashboard:ta}=$,L=g(!1),T=Ea({initialLoading:()=>!L.value,loadSettled:L,totalCount:()=>{var e;return((e=d.value)==null?void 0:e.length)||0},visibleCount:()=>{var e;return((e=d.value)==null?void 0:e.length)||0}}),y=g(!1),u=g(""),b=g(!1),w=g("blank"),V=g(""),sa=new Intl.NumberFormat("en-US",{maximumFractionDigits:0}),x=h(()=>{var e;return(e=d.value)==null?void 0:e[0]}),la=h(()=>{var e;return(e=x.value)!=null&&e.updated_at?B(x.value.updated_at):o("app.common.notAvailable")}),ia=h(()=>{var e;return[{id:"total",label:o("app.dashboards.summary.totalLabel"),value:sa.format(Array.isArray(d.value)?d.value.length:0),meta:o("app.dashboards.summary.totalMeta")},{id:"updated",label:o("app.dashboards.summary.updatedLabel"),value:la.value,meta:((e=x.value)==null?void 0:e.dashboard_name)||o("app.common.notAvailable")}]}),ra=h(()=>{var e;return(((e=d.value)==null?void 0:e.length)||0)>0}),{shouldShowSummaryCard:da,summaryCardLoading:na}=za({loading:S,hasData:ra}),ca=h(()=>{const e=[{text:o("app.dashboards.headers.name"),key:"dashboard_name",style:"width: 40%;"},{text:o("app.dashboards.headers.created"),key:"created_at",style:"width: 24%;",cellClass:"dashboard-date-cell"},{text:o("app.dashboards.headers.updated"),key:"updated_at",style:"width: 24%;",cellClass:"dashboard-date-cell"}];return c.value?[...e,{...Wa,style:"width: 160px;",class:"dashboard-actions-header",cellClass:"dashboard-actions-cell"}]:e});ya(async()=>{try{await G.fetchServiceLimits(r),await R(r)}finally{L.value=!0}});function P(e){const t=e==null?void 0:e.hash_id;if(!t){p.showMessage(o("app.dashboards.errors.missingId"),"error");return}F.push({path:`/organisations/${r}/dashboards/${t}/design`})}function ua({item:e}){P(e)}async function ma(e){const t=e==null?void 0:e.hash_id;if(!t){p.showMessage(o("app.dashboards.errors.missingId"),"error");return}await ta(r,t)?p.showMessage(o("app.dashboards.success.deleted")):p.showMessage(o("app.dashboards.errors.deleteFailed"),"error")}function U(){u.value="",w.value="blank",V.value="",y.value=!0}function pa(){b.value||(y.value=!1)}function ba(e){if(w.value=e,e==="blank")return;const t=o(`app.dashboardTemplates.${e}.suggestedName`),s=u.value.trim();(!s||s===V.value)&&(u.value=t,V.value=t)}async function ha(e=""){const t=Ja(w.value),s={dashboard_name:e,display_timezone:"UTC"};t&&!t.isBlank&&(s.presentation_profile=t.presentationProfile);const M=await H.post(`monitoring/organisations/${r}/dashboard-layouts/`,s),{hash_id:A}=M.data;if(t&&!t.isBlank&&A){const ga=Xa(t,A,{t:I=>o(I)});for(const I of ga)await H.post(`monitoring/organisations/${r}/dashboard-widgets/`,I)}await R(r),F.push({path:`/organisations/${r}/dashboards/${A}/design`})}async function K(){try{if(!await ea({serviceKey:"dashboards",actionLabel:"create another dashboard",confirmLabel:o("app.dashboards.create"),onProceed:()=>{U()}}))return;U()}catch{p.showMessage(o("app.dashboards.errors.createFailed"),"error")}}async function O(){if(!b.value){b.value=!0;try{await ha(u.value.trim().slice(0,120)),y.value=!1,u.value=""}catch{p.showMessage(o("app.dashboards.errors.createFailed"),"error")}finally{b.value=!1}}}return(e,t)=>(m(),wa(_a,null,[i(Na,{class:"dashboards-page",title:a(o)("app.dashboards.title"),subtitle:a(o)("app.dashboards.subtitle"),metrics:a(da)?ia.value:[],"metrics-loading":a(na),"metrics-loading-label":a(o)("app.dashboards.loadingSummary")}
1,{actions:l(()=>[a(c)?(m(),f(C,{key:0,variant:"plain",size:"x-small",class:"cta-link","prepend-icon":"mdi-plus",disabled:a(N)("dashboards"),onClick:K},{default:l(()=>[v(n(a(o)("app.dashboards.create")),1)]),_:1},8,["disabled"])):k("",!0)]),default:l(()=>[a(T).showInitialLoading.value?(m(),f(Ua,{key:0},{default:l(()=>[v(n(a(o)("app.common.loading")),1)]),_:1})):a(T).showTrueEmpty.value?(m(),f($a,{key:1,title:a(o)("app.dashboards.emptyTitle"),subtitle:a(o)("app.dashboards.emptySubtitle")},{icon:l(()=>[i(Ma,{size:"48"},{default:l(()=>t[5]||(t[5]=[v("mdi-view-dashboard-outline")])),_:1,__:[5]})]),actions:l(()=>[a(c)?(m(),f(C,{key:0,color:"primary",disabled:a(N)("dashboards"),onClick:K},{default:l(()=>[v(n(a(o)("app.dashboards.create")),1)]),_:1},8,["disabled"])):k("",!0)]),_:1},8,["title","subtitle"])):a(T).showCollection.value?(m(),f(Pa,{key:2,title:a(o)("app.dashboards.listTitle"),meta:a(o)("app.dashboards.listMeta"),busy:a(S)},{toolbar:l(()=>[i(Ra,{count:a(d).length},null,8,["count"])]),default:l(()=>[i(Ka,{headers:ca.value,items:a(d),loading:a(S),primaryKey:"hash_id",rowClickable:a(c),onRowClick:t[0]||(t[0]=({item:s})=>a(c)&&ua({item:s}))},Da({"cell-dashboard_name":l(({value:s})=>[_("span",null,n(s||a(o)("app.dashboards.untitled")),1)]),"cell-created_at":l(({value:s})=>[_("span",Ya,n(a(B)(s)),1)]),"cell-updated_at":l(({value:s})=>[_("span",Za,n(a(B)(s)),1)]),_:2},[a(c)?{name:"cell-actions",fn:l(({item:s})=>[i(Oa,null,{default:l(()=>[i(W,{tooltip:a(o)("app.dashboards.design"),icon:"mdi-pencil",onClick:M=>P(s)},null,8,["tooltip","onClick"]),i(W,{tooltip:a(o)("common.delete"),icon:"mdi-delete",color:"error",onClick:M=>ma(s)},null,8,["tooltip","onClick"])]),_:2},1024)]),key:"0"}:void 0]),1032,["headers","items","loading","rowClickable"])]),_:1},8,["title","meta","busy"])):k("",!0)]),_:1},8,["title","subtitle","metrics","metrics-loading","metrics-loading-label"]),a(c)?(m(),f(ja,{key:0,modelValue:y.value,"onUpdate:modelValue":t[3]||(t[3]=s=>y.value=s),title:a(o)("app.dashboards.createDialog.title"),icon:"mdi-view-dashboard-outline",width:520},{actions:l(()=>[i(C,{variant:"text",disabled:b.value,onClick:pa},{default:l(()=>[v(n(a(o)("common.cancel")),1)]),_:1},8,["disabled"]),i(C,{color:"primary",loading:b.value,onClick:O},{default:l(()=>[v(n(a(o)("app.dashboards.createDialog.primary")),1)]),_:1},8,["loading"])]),default:l(()=>[_("div",ae,[i(E,{label:a(o)("app.dashboardTemplates.sectionTitle")},{default:l(()=>[i(qa,{modelValue:w.value,"onUpdate:modelValue":[t[1]||(t[1]=s=>w.value=s),ba],"include-blank":!0,"show-hint":!1},null,8,["modelValue"])]),_:1},8,["label"]),i(E,{label:a(o)("app.dashboards.createDialog.nameLabel")},{default:l(()=>[i(Aa,{modelValue:u.value,"onUpdate:modelValue":t[2]||(t[2]=s=>u.value=s),variant:"outlined",density:"comfortable","hide-details":"",maxlength:"120",placeholder:a(o)("app.dashboards.createDialog.namePlaceholder"),onKeydown:Sa(La(O,["prevent"]),["enter"])},null,8,["modelValue","placeholder","onKeydown"])]),_:1},8,["label"])])]),_:1},8,["modelValue","title"])):k("",!0),i(Qa,{modelValue:a(D),"onUpdate:modelValue":t[4]||(t[4]=s=>ka(D)?D.value=s:null),service:a(j),"action-label":a(q),"confirm-label":a(J),delta:a(X),"can-increase":a(Z),"blocked-message":a(aa),loading:a(Y),onConfirm:a(oa)},null,8,["modelValue","service","action-label","confirm-label","delta","can-increase","blocked-message","loading","onConfirm"])],64))}}),Ne=Ba(ee,[["__scopeId","data-v-3519021d"]]);export{Ne as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.