1import{w as Ce,o as pe,r as C,G as Le,bc as ge,U as xe,x as Se,u as he,z as ye,aq as ke,g as De,J as Oe,a6 as je,a7 as Ae,j as a,N as Ne,i as k,D as Ie,aX as ve,aY as Re,Y as Te,ay as we,bd as Be,ax as Ee}from"../index.js";import{C as Fe}from"./CollectionTable-DvusUM9e.js";import{u as Pe}from"./useSearchQueryState-Bl1H5UGN.js";import{S as Ue}from"./ServiceRequestPage-CH3zihHO.js";import{c as $e}from"./user-permissions-Cy1t-3uL.js";import{S as qe}from"./SearchCustomersCombobox-FLflEih0.js";import{b as ze}from"./mulesoft-B1-VwAro.js";import{C as x}from"./Cell-JllDn1xc.js";import"./ListView-CfXJBcSF.js";import"./ExclamationCircleIcon-D4d25Pjr.js";import"./Pagination-gjxk26P9.js";function Ke(){var R,T,w,B,E,F,P,U,$,q,z,V,Y,G,J;const{userInfo:p,user:n}=Ce(),{labels:ae}=pe(),D=C.useMemo(()=>{var t;return((t=n==null?void 0:n.role)==null?void 0:t.type)==="customercontact"},[n]),[S,le]=C.useState(null),ie=((T=(R=n==null?void 0:n.region)==null?void 0:R.title)==null?void 0:T.trim())||"",O=(B=(w=p==null?void 0:p.customerContact)==null?void 0:w.customer)==null?void 0:B.salesforceAccountId,h=Le(),L=h==null?void 0:h.type,y=C.useMemo(()=>ge(L,S,O),[L,S,O]),j=xe(),{language:ne}=Se(),{sortKey:u,order:b,page:g,pageSize:c,setSort:ce,setPagination:m,getQueryString:de}=Pe(),[f]=he(),{data:r,isLoading:ue,error:A,mutate:be}=ye(y?ze({accountIdValue:y,recordType:"Customer_Portal",userRegion:ie,pageSize:c,page:g,sortKey:u,sortOrder:b}):null,ke,{revalidateOnFocus:!1,keepPreviousData:L==="customercontact"||y!==null,onError:()=>{De("Error","Failed to fetch hose requests")}}),{data:d,loading:me,error:N}=Oe({language:ne,path:"service-request",query:"service-request"}),I=Math.ceil((((E=r==null?void 0:r.metadata)==null?void 0:E.totalRecords)||1)/+(((F=r==null?void 0:r.metadata)==null?void 0:F.limit)||1)),s=(U=(P=d==null?void 0:d.serviceRequestByPath)==null?void 0:P.item)==null?void 0:U.overviewPage,v=C.useMemo(()=>{var e,l;const t=(e=f.get("serviceRequestId"))==null?void 0:e.trim();if(!t)return null;const o=(l=r==null?void 0:r.data)==null?void 0:l.find(i=>i.id===t);return o?structuredClone(o):null},[r,f]),fe=C.useMemo(()=>{var i,W,X,_,H,Q,Z,M,K,ee,te,se,re,oe;const t=je((s==null?void 0:s.tableColumns)||[]),o=Ae((s==null?void 0:s.sortingOptions)||[]),e={id:"Column.CaseId",caseNumber:"Column.CaseNumber",status:"Column.Status",title:"Column.Title",category:"Column.Category",createdDate:"Column.CreatedOn",lastModifiedDate:"Column.UpdatedAt",action:"Column.Action"};return[{key:"id",label:(i=t[e==null?void 0:e.id])==null?void 0:i.columnLabel,type:"number"},{key:"caseNumber",label:(W=t[e==null?void 0:e.caseNumber])==null?void 0:W.columnLabel,type:"number"},{key:"status",label:(X=t[e==null?void 0:e.status])==null?void 0:X.columnLabel,type:"text",sortable:!0,sorted:u==="status"?b:void 0,sortAscLabel:(_=o["OrderOption.Status:asc"])==null?void 0:_.orderLabel,sortDescLabel:(H=o["OrderOption.Status:desc"])==null?void 0:H.orderLabel},{key:"title",label:(Q=t[e==null?void 0:e.title])==null?void 0:Q.columnLabel,type:"text"},{key:"category",label:(Z=t[e==null?void 0:e.category])==null?void 0:Z.columnLabel,type:"text"},{key:"createdDate",label:(M=t[e==null?void 0:e.createdDate])==null?void 0:M.columnLabel,type:"text",sortable:!0,sorted:u==="createdDate"?b:void 0,sortAscLabel:(K=o["OrderOption.CreatedAt:asc"])==null?void 0:K.orderLabel,sortDescLabel:(ee=o["OrderOption.CreatedAt:desc"])==null?void 0:ee.orderLabel},{key:"lastModifiedDate",label:(te=t[e==null?void 0:e.lastModifiedDate])==null?void 0:te.columnLabel,type:"text",sortable:!0,sorted:u==="lastModifiedDate"?b:void 0,sortAscLabel:(se=o["OrderOption.UpdatedAt:asc"])==null?void 0:se.orderLabel,sortDescLabel:(re=o["OrderOption.UpdatedAt:desc"])==null?void 0:re.orderLabel},{key:"action",sortable:!1,label:(oe=t[e==null?void 0:e.action])==null?void 0:oe.columnLabel,type:"text",filterable:!1}]},[s,b,u]);return D&&$e(p)===!1?a.jsx(Ne,{to:k.unauthorized,replace:!0}):v?a.jsx(Ue,{editPage:(q=($=d==null?void 0:d.serviceRequestByPath)==null?void 0:$.item)==null?void 0:q.editPage,mutate:be,serviceRequest:v}):((A||N)&&console.log("Error fetching service requests:: ",A,N),me?a.jsx(Ie,{}):a.jsx(Fe,{uniqueField:"id",renderTitle:()=>{switch(L){case"employeeadmin":case"employeesalesrep":return a.jsxs("div",{className:"mt-2 flex items-center gap-x-6 flex-wrap",children:[a.jsx("h2",{className:"text-lg font-bold",children:s==null?void 0:s.recentRequests}),a.jsx(qe,{selectedCustomer:S,setSelectedCustomer:le,selectPlaceholder:s==null?void 0:s.selectCustomerLabel})]});default:return a.jsx("h2",{className:"text-lg font-bold",children:s==null?void 0:s.recentRequests})}},columns:fe,data:(r==null?void 0:r.data)||[],noResultsLabel:(z=s==null?void 0:s.table)==null?void 0:z.noResultsLabel,noResultsDescription:(V=s==null?void 0:s.table)==null?void 0:V.noResultsDescription,loading:ue,selectionButtons:D?[{context:"create",children:(s==null?void 0:s.createNewRequest)||"-"}]:[],renderRowCells:({data:t,columns:o})=>o.map((e,l)=>{const i=t[e==null?void 0:e.key];return(e==null?void 0:e.key)==="action"?a.jsx(x,{children:a.jsx(ve,{icon:Re,title:ae[Te.edit],onClick:()=>j(`${k.serviceRequest}?${f==null?void 0:f.toString()}&serviceRequestId=${t==null?void 0:t.id}`)})},l):(e==null?void 0:e.key)==="status"?a.jsx(x,{children:a.jsx(we,{variant:Be(t==null?void 0:t.status),children:t==null?void 0:t.status})},l):(e==null?void 0:e.key)==="createdDate"||(e==null?void 0:e.key)==="lastModifiedDate"?a.jsx(x,{children:Ee(t==null?void 0:t.metadata[e==null?void 0:e.key])},l):a.jsx(x,{children:i==null?void 0:i.toString()},l)}),onSelectionAction:()=>{j(`${k.createServiceRequest}?nextParams=${btoa(de())}`)},sortable:!0,onSort:(t,o)=>{o&&ce(t,o)},paginationProps:{onPageSizeChange(t){m(1,t)},onFirstPageClick(){m(1,c)},onLastPageClick(){m(I,c)},onNextPageClick(){m(g+1,c)},onPreviousPageClick(){m(g-1,c)},page:g,pageSize:c,totalPages:I,totalItems:((Y=r==null?void 0:r.metadata)==null?void 0:Y.totalRecords)||0,entriesPerPageLabel:(G=s==null?void 0:s.table)==null?void 0:G.entriesPerPageLabel,ofLabel:(J=s==null?void 0:s.table)==null?void 0:J.ofLabel}}
1))}export{Ke 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.