1import{P as G}from"./PaginatedResultSet-gBeGRM8h.js";import{d as q,c as B,k as _,b as x,w as p,a as d,F as C,l as R,e as i,t as A,n as F,g as f,s as N,h as E,D as H,Y as Q,o as s,r as $,u as j,x as z,N as Y,i as J,p as O,v as W,m as X}from"./index-DbpIxVVg.js";import{P as Z}from"./PageHeader-D-doL8ee.js";import{P as ee}from"./PageContent-CaO1rUex.js";import{_ as te}from"./FacetedBrowser.vue_vue_type_script_setup_true_lang-Cs4mlYX6.js";import{S as se}from"./SimpleTable-DqWlZ0zM.js";import{_ as re}from"./AlertHeaderBadges.vue_vue_type_script_setup_true_lang-BmyzZYT4.js";import{_ as oe}from"./AlertStatusBadges.vue_vue_type_script_setup_true_lang-B-bjbOMA.js";import{u as M}from"./entity-Dyy2H1qK.js";import{_ as ae}from"./ErrorView.vue_vue_type_script_setup_true_lang-rTuR_K5N.js";import{S as ie,a as ne}from"./ServiceAlertService-DtVcqPAR.js";import{A as I}from"./ActivityIndicator-CHNVpzvm.js";import{_ as le}from"./InfiniteScrollContainer.vue_vue_type_script_setup_true_lang-CnH9kMjl.js";import{r as de}from"./PlusIcon-C_Tn8KoN.js";import"./InlineXButton.vue_vue_type_script_setup_true_lang-CVY-HK_d.js";import"./XMarkIcon-CeSt-Lep.js";import"./FacetGroupResultSet-C1YPHhsR.js";import"./TripInstanceGlyph.vue_vue_type_script_setup_true_lang-Dx_XCuE1.js";import"./Stop-8NKSpgr4.js";import"./RouteGlyph.vue_vue_type_script_setup_true_lang-CZS1VAaM.js";import"./RoundedBadge-zDfp8xRL.js";import"./ErrorContent.vue_vue_type_script_setup_true_lang--XFDxIpt.js";import"./ArrowTopRightOnSquareIcon-Bwi8lzNJ.js";import"./ChevronRightIcon-CKGSa4-R.js";import"./disclosure-DbKVSJYz.js";import"./keyboard-C910qfwt.js";import"./OtrStatus-DmpbC-wt.js";import"./OtrTripMetrics-8M7zv94c.js";import"./Incident-SBCbh7or.js";import"./NotificationItem-4HMpixlg.js";import"./RouteGroup-C9eTeiZ3.js";const ue={class:"border-t border-slate-200-d"},ce={scope:"colgroup",class:"bg-gray-50 dark:bg-slate-900 px-4 py-3 text-left text-xs font-semibold text-gray-600-d uppercase tracking-wider sm:px-6"},me={scope:"colgroup",class:"bg-gray-50 dark:bg-slate-900 px-4 py-3 text-right text-xs font-semibold text-gray-600-d uppercase tracking-wider sm:px-6 whitespace-nowrap"},pe={key:0},fe={key:1},ye={key:2},ge={class:"px-6 py-4 whitespace-nowrap text-gray-600-d text-right align-top text-sm"},_e={key:0},ve={key:1},he=q({__name:"AlertListTable",props:{alerts:{type:Array,required:!0},showEdit:{type:Boolean,required:!1,default:!1}},setup(S){const u=S,a=B(()=>{const l=[[],[],[]];for(const t of u.alerts){if(t)l[t.status-1]||(l[t.status-1]=[]);else continue;l[t.status-1].push(t)}return l.filter(t=>t.length).map(t=>({title:t[0].statusText+" alerts",timeSource:t[0].isUpcoming||t[0].isPlanned?"nextActivePeriodStart":t[0].isExpired||t[0].isArchived?"endTime":"lastUpdated",alerts:t}))}),k=M();function v(l){k.alert=l}return(l,t)=>{var w;const P=N("router-link");return(w=S.alerts)!=null&&w.length?(s(),_(se,{key:0},{footer:p(()=>[Q(l.$slots,"footer")]),default:p(()=>[(s(!0),d(C,null,R(a.value,n=>(s(),d(C,{key:n.title},[i("tr",ue,[i("th",ce,A(n.title),1),i("th",me,[n.timeSource==="nextActivePeriodStart"?(s(),d("span",pe,"Commences")):n.timeSource==="endTime"?(s(),d("span",fe,"Ended")):(s(),d("span",ye,"Last update"))])]),(s(!0),d(C,null,R(n.alerts,(r,b)=>(s(),d("tr",{key:r.id,class:F([b==0?"border-gray-300-d":"border-gray-200-d","border-t"])},[i("td",{class:F(["font-medium text-sm",!r.isExpired&&!r.isArchived?"text-gray-700-d":"text-gray-500"])},[f(P,{to:r.viewUrl,class:"block py-3 px-4 sm:px-6",onClick:y=>v(r)},{default:p(()=>{var y;return[f(oe,{alert:r,"badge-class":"tracking-tight mr-2"},null,8,["alert"]),f(re,{alert:r,"show-icons":!0},null,8,["alert"]),i("span",null,A(((y=r.defaultBody)==null?void 0:y.inlineSummaryText)||r.getHeader()),1)]}),_:2},1032,["to","onClick"])],2),i("td",ge,[r[n.timeSource]&&E(H).now().diff(r[n.timeSource],"days").days<7?(s(),d("span",_e,A(r[n.timeSource].toRelative()),1)):r[n.timeSource]?(s(),d("span",ve,A(r[n.timeSource].toFormat("yyyy-MM-dd")),1)):x("",!0)])],2))),128))],64))),128))]),_:3})):x("",!0)}}}),xe={class:"md:flex md:items-center md:justify-between"},Se={class:"mt-4 flex md:mt-0 md:ml-4"},ke={class:"hidden lg:block"},we={"aria-label":"Sidebar",class:"sticky top-6 divide-y divide-gray-300"},be={class:"lg:col-span-4"},Ae={key:0,class:"bg-white dark:bg-slate-950 border-t border-slate-200-d"},$e={key:2,class:"text-center py-8"},ot=q({__name:"AlertListView",props:{searchText:{type:String,required:!1},status:{type:String,required:!1},type:{type:String,required:!1},feedId:{type:String,required:!1}},setup(S){const u=S,a=$(),k=$(),v=$(!1),l=$(),t=j(),P=z(),w=X(),n=M(),r=new ie,b=B(()=>P.hasRole("administrator"));Y(()=>{n.alerts instanceof G&&(a.value=n.alerts)}),J(()=>y()),O(u,()=>(a.value.items=void 0,y()));async function y(o=0){try{v.value=!0,l.value=null;const e=L(o);await Promise.all([U(e),V(e)])}catch(e){l.value=e}finally{v.value=!1}}async function T(o){var g,c;const e=((g=a.value)==null?void 0:g.endIndex)||0;await y(e),o(((c=a.value)==null?void 0:c.items.length)>=e)}function L(o){const e=t.geoRegion;return new ne(e,{offset:o,status:u.status&&parseInt(u.status,10),types:u.type,feedId:u.feedId&&parseInt(u.feedId,10),text:u.searchText,version:2})}async function U(o){const e=await r.findByQuery(o);o.offset===0?a.value=e:a.value&&a.value.mergeResultFrom(e),o.offset===0&&(n.alerts=a.value)}async function V(o){k.value=await r.getFacetsForQuery(o)}function D(o,e){var g,c,h;w.replace({query:{searchText:e!=null&&e.length?e:void 0,status:(g=o.find(m=>m.groupKey==="status"))==null?void 0:g.id,feedId:(c=o.find(m=>m.groupKey==="feed"))==null?void 0:c.id,type:(h=o.find(m=>m.groupKey==="type"))==null?void 0:h.id}})}function K(){return`/alert/${t.geoRegion.urlComponent}/edit`}return(o,e)=>{const g=N("router-link");return s(),d(C,null,[f(Z,null,{default:p(()=>[i("div",xe,[e[1]||(e[1]=i("div",{class:"flex-1 min-w-0"},[i("h1",{class:"text-3xl font-bold leading-6 text-gray-900 dark:text-gray-100"},"Alerts")],-1)),i("div",Se,[b.value?(s(),_(g,{key:0,to:K(),class:"ml-3 inline-flex items-center px-4 py-2 border border-transparent roun
1ded-md shadow-sm text-sm font-medium text-white bg-orange-600 hover:bg-orange-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-orange-500"},{default:p(()=>[f(E(de),{class:"-ml-1 mr-2 h-5 w-5","aria-hidden":"true"}),e[0]||(e[0]=W(" New alert ",-1))]),_:1,__:[0]},8,["to"])):x("",!0)])])]),_:1}),l.value?(s(),_(ae,{key:0,error:l.value},null,8,["error"])):(s(),_(ee,{key:1,class:"lg:grid lg:grid-cols-5 lg:gap-8"},{default:p(()=>[i("div",ke,[i("nav",we,[f(te,{"result-set":k.value,"entity-display-name":"alerts",onUpdateFacets:D},null,8,["result-set"])])]),i("main",be,[f(le,{onLoadMore:T},{default:p(()=>{var c,h,m;return[(h=(c=a.value)==null?void 0:c.items)!=null&&h.length?(s(),_(he,{key:0,alerts:(m=a.value)==null?void 0:m.items,"show-edit":b.value},{footer:p(()=>[a.value.pagination.moreAvailable?(s(),d("div",Ae,[f(I)])):x("",!0)]),_:1},8,["alerts","show-edit"])):v.value?(s(),_(I,{key:1})):a.value&&!a.value.items.length?(s(),d("div",$e,e[2]||(e[2]=[i("h3",{class:"mt-2 text-sm font-medium text-gray-900"},"No alerts",-1),i("p",{class:"mt-1 text-sm text-gray-500"},"Get started by creating a new alert.",-1)]))):x("",!0)]}),_:1})])]),_:1}))],64)}}});export{ot 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.