1import{u as P,j as t,B as H,bC as Ne,F as h,aT as Ce,aa as Oe,z as De,bJ as Se,r as a,aR as le,k as f,S as q,bK as ye,a_ as de,bL as Me}from"./elements-DVh2jUIM.js";import{M as Fe}from"./ModernPortalPage-C8UaH3aE.js";import{B as Re}from"./BoardListDetailOutlet-Bl3ZVN15.js";import{B as z,a as Ae}from"./BoardTabPills-BNINpPaI.js";import{M as We}from"./MobileCardButton-CebfhP3v.js";import{u as Pe,a as Te,g as Ee}from"./useMobileRedesignActive-BZoYJS32.js";import{M as Be}from"./MobilePillTabs-g5wAZjb0.js";import{M as Le}from"./MobileSearchSortList-DhhkO3rr.js";import{M as Ue}from"./MobileTable-3_DrS7X0.js";import{G as $e}from"./GridSettings-CRFyN887.js";import{r as _e,u as qe,R as ze}from"./useRequestHistoryTelemetry--2iyedG2.js";import{u as Ge}from"./useAttachmentViewer-CxkfXrEj.js";import{u as He,c as Ke,e as Ve}from"./board-requests-BufpzAUw.js";import{x as Xe,G as Qe,j as Ye,A as Je,am as Ze}from"./index-DeQvL4I7.js";import{u as et,a as tt,W as rt,m as ce}from"./WorkOrderDecisionModal-C8f6YJrL.js";import{a as st}from"./portal-requests-TK48q8QE.js";import"./NoteContent-T4pgf4E0.js";import{S as at}from"./SendMessageModal-CN5Qqgxv.js";import{u as ot}from"./useBoardFrustrationEnabled-DO3xOrwY.js";import{B as G}from"./BoardStatusIndicator-K082lhyB.js";import{c as nt}from"./clickableCardProps-D_7666nR.js";import{g as it}from"./boardDetailItemIds-CezeTAyo.js";import{A as lt}from"./authorization-CE7gncHO.js";import"./useAuthorization-D7B2eQha.js";import"./FilterableGridFilters-FmWNR7j1.js";import"./useIsMobile-Davbtvz5.js";import"./useMobileRedesignBoardPages-CLS9im5M.js";import"./useRedesign-DVyq07A4.js";import"./subDays-BmZFCyDz.js";import"./addMonths-BU5XNL5s.js";import"./startOfDay-AazlW55I.js";import"./addDays-Le9Cqm9z.js";import"./subMonths-BEZpMnR7.js";import"./grids-DXrfAsUA.js";import"./useMutation-CfDMVIpo.js";import"./index-DWdRGcKw.js";import"./MessageForm-BADqpkoZ.js";import"./index.esm-BsOhZrKM.js";import"./useMessageComposer-DeQiPBu-.js";import"./board-portal-requests-BfgGLja0.js";const me=({workOrder:r,onDecision:i,onSendMessage:m})=>{const{t:n}=P();return t.jsxs("div",{className:"flex flex-wrap gap-2 items-center",children:[r.isDecision&&t.jsxs(t.Fragment,{children:[t.jsx(z,{action:"approve","data-qa":`work-orders-row-approve-${r.actionItemId}`,onClick:o=>{o.stopPropagation(),i(r,!0)},children:n("board.workOrders.actions.approve")}),t.jsx(z,{action:"decline","data-qa":`work-orders-row-decline-${r.actionItemId}`,onClick:o=>{o.stopPropagation(),i(r,!1)},children:n("board.workOrders.actions.decline")})]}),t.jsx(z,{action:"message","aria-label":n("board.workOrders.actions.sendMessage"),"data-qa":`work-orders-row-send-message-${r.actionItemId}`,onClick:o=>{o.stopPropagation(),m(r)},children:n("board.workOrders.actions.message")})]})},dt=({workOrder:r,onDecision:i,onSendMessage:m})=>{const{t:n}=P();return t.jsx(Ne,{text:t.jsxs(t.Fragment,{children:[t.jsx(h,{icon:Se}),t.jsx("span",{className:"sr-only",children:n("board.workOrders.columns.action")})]}),variant:"passiveOutline",size:"xs",expand:"left",items:[...r.isDecision?[t.jsxs("button",{className:"px-3 py-2 text-sm flex flex-row items-center gap-2 w-full",onClick:o=>{o.stopPropagation(),i(r,!0)},children:[t.jsx(h,{className:"text-success",icon:Ce}),t.jsx("span",{children:n("board.workOrders.actions.approve")})]},"approve-button"),t.jsxs("button",{className:"px-3 py-2 text-sm flex flex-row items-center gap-2 w-full",onClick:o=>{o.stopPropagation(),i(r,!1)},children:[t.jsx(h,{className:"text-error",icon:Oe}),t.jsx("span",{children:n("board.workOrders.actions.decline")})]},"decline-button")]:[],t.jsxs("button",{className:"px-3 py-2 text-sm flex flex-row items-center gap-2 w-full",onClick:o=>{o.stopPropagation(),m(r)},children:[t.jsx(h,{className:"text-base-icon",icon:De}),t.jsx("span",{children:n("board.workOrders.actions.sendMessage")})]},"send-message-button")]})},ct=({workOrder:r,showActions:i,onView:m,onDecision:n,onSendMessage:o})=>{const{t:w}=P();return t.jsxs("div",{className:"flex flex-wrap gap-2 items-center",children:[t.jsx(H,{variant:"passiveOutline",size:"xs",onClick:j=>{j.stopPropagation(),m(r)},children:w("board.workOrders.view")}),i&&t.jsx(dt,{workOrder:r,onDecision:n,onSendMessage:o})]})},W=["myItems","open","closed"],K=[0,1,2],pe="scope",A="board-work-orders-grid",mt=["stepDescription","providerName","itemDetails","followUpDate","hasAttachments"];function ut(r){const i=r.value?f(new Date(r.value),{format:"numeric"}):"";return t.jsx("span",{"data-qa-value":i,children:i})}const ue=r=>{const i=W.indexOf(r.get(pe));return i>=0?K[i]:null},pt=()=>{const{t:r}
1=P(),{showAttachments:i}=Ge(),m=Xe(),n=Qe(),o=(n==null?void 0:n.id)??0,{isMobile:w,isMobileRedesignActive:j}=Pe(),T=He(),C=T&&!w,[O,xe]=a.useState("all"),y=a.useMemo(()=>_e(O).submittedAfter,[O]),l=a.useRef(null),[D,fe]=a.useState(null),E=a.useRef(null),V=a.useRef(""),X=Ye(e=>e.gridsColumnState),k=a.useMemo(()=>X[A],[X]),{data:v,isLoading:he}=et(o),[Q,Y]=Je(),[d,B]=a.useState(()=>ue(Q));a.useEffect(()=>{B(ue(Q))},[o]),a.useEffect(()=>{v&&d===null&&B(v.defaultToMyItems?0:1)},[v,d]);const{data:L,isLoading:U}=tt({associationId:o,mode:d??0,showAll:!0},!C),c=(L==null?void 0:L.member)??[],{onDataSettled:J,onFilterChanged:Z}=qe({page:"work-orders",persona:"board",getDimensions:()=>({range:O,associationId:o,pageSize:10})});a.useEffect(()=>{Z()},[O,Z]);const be=a.useMemo(()=>Ke(()=>({category:"workOrders",associationId:o,mode:d??0,submittedAfter:y}),ce,({resultCount:e})=>J({resultCount:e})),[o,d,y,J]),ee=d!==null?K.indexOf(d):-1,te=a.useCallback(e=>{var s;E.current=((s=l.current)==null?void 0:s.getColumnState())??null,B(K[e]),Y(g=>{const x=new URLSearchParams(g);return x.set(pe,W[e]),x},{replace:!0})},[Y]),{mutate:re}=st(),p=a.useCallback(e=>{const s=it(l.current,c,({actionItemId:x})=>x);e.statusIndicator===4&&e.actionItemId>0&&re({actionItemId:e.actionItemId,actionItemNoteId:null});const g=new URLSearchParams({associationId:o.toString()});m(`/board/work-orders/${e.actionItemId}?${g.toString()}`,{state:{itemIds:s}})},[re,m,o,c]),S=a.useCallback(e=>{i({actionItemId:e.actionItemId,title:r("board.workOrders.workOrder")})},[i,r]),b=((v==null?void 0:v.canEdit)??!1)&&d===0,u=ot(),M=a.useCallback(e=>[e.actionItemId.toString(),e.stepDescription,e.providerName,e.itemDetails,e.typeDescription,e.ownerName,e.propertyAddress],[]),ge=a.useCallback(e=>{V.current=e},[]),we=a.useCallback(()=>{if(l.current)if(w){const e=V.current.trim().toLowerCase(),s=e?c.filter(g=>M(g).some(x=>x==null?void 0:x.toLowerCase().includes(e))):c;l.current.setRowData(s),l.current.exportExcel({fileName:r("board.workOrders.exportFileName"),exportedRows:"all",exportAsExcelTable:!0,columnKeys:mt}),l.current.setRowData(c)}else if(C){if(!(D!=null&&D.api))return;Ve({api:D.api,baseParams:{category:"workOrders",associationId:o,mode:d??0,submittedAfter:y},mapRow:ce,fileName:r("board.workOrders.exportFileName")})}else{const e=l.current.getColumnState().filter(s=>!s.hide&&s.colId!=="actions").map(s=>s.colId);l.current.exportExcel({fileName:r("board.workOrders.exportFileName"),exportedRows:"filteredAndSorted",exportAsExcelTable:!0,columnKeys:e})}},[r,w,c,M,C,D,o,d,y]);a.useEffect(()=>{var s;if(d===null)return;const e=E.current??k;E.current=null,e&&((s=l.current)==null||s.applyColumnState({state:e,applyOrder:!0}))},[d,k]);const[$,se]=a.useState({open:!1,workOrder:null,isApproval:!0}),I=a.useCallback((e,s)=>{se({open:!0,workOrder:e,isApproval:s})},[]),je=a.useCallback(()=>{se({open:!1,workOrder:null,isApproval:!0})},[]),[ae,oe]=a.useState({open:!1,actionItemId:0}),N=a.useCallback(e=>{oe({open:!0,actionItemId:e.actionItemId})},[]),ke=a.useCallback(()=>{oe({open:!1,actionItemId:0})},[]),ve=a.useCallback(e=>t.jsxs("div",{className:`p-3 w-full rounded-md border border-base-border flex flex-col gap-2 text-sm ${u?"cursor-pointer":""}`,...u?nt(()=>p(e)):{},children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(G,{value:e.statusIndicator}),t.jsx("span",{className:"font-medium text-base-header",children:e.stepDescription})]}),e.hasAttachments&&t.jsx("button",{type:"button","aria-label":r("board.workOrders.viewAttachment"),className:"text-base-link hover:underline text-sm font-medium flex items-center gap-1",onClick:s=>{s.stopPropagation(),S(e)},children:t.jsx(h,{icon:le,className:"w-3 h-3"})})]}),e.providerName&&t.jsx("div",{className:"flex items-center justify-between",children:t.jsx("span",{className:"font-semibold text-base-header text-sm",children:e.providerName})}),t.jsx("div",{className:"text-base-fg text-xs whitespace-pre-line",children:e.itemDetails}),t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("div",{className:"flex items-center gap-3 text-xs text-input-fg",children:e.followUpDate&&t.jsx("span",{children:f(new Date(e.followUpDate),{format:"numeric",naive:!0})})}),t.jsxs("div",{className:"flex items-center gap-2",children:[!u&&t.jsx(H,{variant:"passiveOutline",size:"xs",onClick:s=>{s.stopPropagation(),p(e)},children:r("board.workOrders.view")}),b&&t.jsx(me,{workOrder:e,onDecision:I,onSendMessage:N})]})]})]}),[p,S,b,I,N,u,r]),Ie=a.useCallback(e=>t.jsxs("div",{className:`p-3 w-full flex flex-col gap-2 text-sm ${Te}`,children:[t.jsx("div",{className:"flex items-center justify-between",children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(G,{value:e.statusIndicator}),t.jsx("span",{className:"font-medium text-base-header",children:e.stepDescription})]})}),t.jsx(We,{onClick:()=>p(e),"aria-label":`${r("board.workOrders.view")} XN ${e.actionItemId}`,children:t.jsxs("div",{className:"flex-1 flex flex-col gap-2 min-w-0",children:[e.providerName&&t.jsx("div",{className:"flex items-center justify-between",children:t.jsx("span",{className:"font-semibold text-base-header text-sm",children:e.providerName})}),t.jsx("div",{className:"text-base-fg text-xs whitespace-pre-line",children:e.itemDetails})]})}),t.jsx("div",{className:"flex items-center justify-between",children:t.jsx("div",{className:"flex items-center gap-3 text-xs text-input-fg",children:e.followUpDate&&t.jsx("span",{children:f(new Date(e.followUpDate),{format:"numeric",naive:!0})})})})]}),[p,S,b,I,N,r]),ne=a.useMemo(()=>[...T?[{colId:"dateSubmitted",field:"createdUtc",headerName:r("board.workOrders.columns.dateSubmitted"),minWidth:150,filter:"agDateColumnFilter",floatingFilter:!0,valueFormatter:({value:e})=>
1e?f(new Date(e),{format:"numeric"}):"",cellRenderer:ut}]:[],{field:"actionItemId",headerName:r("board.workOrders.columns.xn"),hide:!0,minWidth:100,filter:"agTextColumnFilter",floatingFilter:!0},{field:"stepDescription",headerName:r("board.workOrders.columns.step"),minWidth:140,filter:"agTextColumnFilter",floatingFilter:!0,cellRenderer:e=>{const s=e.data;return s?t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(G,{value:s.statusIndicator}),t.jsx("span",{children:s.stepDescription})]}):null}},{field:"providerName",headerName:r("board.workOrders.columns.providerName"),minWidth:160,filter:"agTextColumnFilter",floatingFilter:!0},{field:"itemDetails",headerName:r("board.workOrders.columns.itemDetails"),minWidth:250,filter:"agTextColumnFilter",floatingFilter:!0,wrapText:!0,autoHeight:!0,cellRenderer:e=>{const s=e.data;return s?t.jsx("div",{className:"flex flex-col py-2",children:t.jsx("span",{className:"text-base-fg text-sm whitespace-pre-line",children:s.itemDetails})}):null}},{field:"ownerName",headerName:r("board.workOrders.columns.homeowner"),hide:!0,minWidth:180,filter:"agTextColumnFilter",floatingFilter:!0},{field:"propertyAddress",headerName:r("board.workOrders.columns.propertyAddress"),hide:!0,minWidth:220,filter:"agTextColumnFilter",floatingFilter:!0},{field:"typeDescription",headerName:r("board.workOrders.columns.type"),hide:!0,minWidth:160,filter:"agTextColumnFilter",floatingFilter:!0},{field:"subject",headerName:r("board.workOrders.columns.subject"),hide:!0,minWidth:220,filter:"agTextColumnFilter",floatingFilter:!0},{field:"followUpDate",headerName:r("board.workOrders.columns.followUpDate"),hide:!0,minWidth:140,filter:"agDateColumnFilter",floatingFilter:!0,valueFormatter:({value:e})=>e?f(new Date(e),{format:"numeric",naive:!0}):""},{field:"dueDate",headerName:r("board.workOrders.columns.dueDate"),hide:!0,minWidth:160,filter:"agDateColumnFilter",floatingFilter:!0,valueFormatter:({value:e})=>e?f(new Date(e),{format:"numeric",naive:!0}):""},{field:"createdUtc",headerName:r("board.workOrders.columns.createdDate"),hide:!0,minWidth:170,filter:"agDateColumnFilter",floatingFilter:!0,valueFormatter:({value:e})=>e?f(new Date(e),{format:"numeric"}):""},{field:"lastNoteDateUtc",headerName:r("board.workOrders.columns.lastNoteDate"),hide:!0,minWidth:180,filter:"agDateColumnFilter",floatingFilter:!0,valueFormatter:({value:e})=>e?f(new Date(e),{format:"numeric"}):""},{field:"hasAttachments",headerName:r("board.workOrders.columns.attachment"),sortable:!1,minWidth:120,filter:!1,cellRenderer:e=>{const s=e.data;return s!=null&&s.hasAttachments?t.jsxs("button",{type:"button",className:"text-base-link hover:underline text-sm font-medium flex items-center gap-1",onClick:g=>{g.stopPropagation(),S(s)},children:[r("board.workOrders.viewAttachment"),t.jsx(h,{icon:le,className:"w-3 h-3"})]}):null}},{colId:"actions",headerName:r("board.workOrders.columns.action"),sortable:!1,resizable:!1,...(()=>{const e=u?350:b?200:140;return{width:e,minWidth:e,maxWidth:e}})(),filter:!1,suppressMenu:!0,cellRenderer:e=>e.data?u?t.jsx(me,{workOrder:e.data,onDecision:I,onSendMessage:N}):t.jsx(ct,{workOrder:e.data,showActions:b,onView:p,onDecision:I,onSendMessage:N}):null}].filter(e=>e.colId!=="actions"||b||!u),[r,T,b,u,p,S,I,N]);if(he||d===null)return t.jsx("div",{className:"w-full bg-base-fill rounded-xl px-6 py-12 flex items-center justify-center",children:t.jsx(q,{})});const F=w?"mobile":"desktop",ie=t.jsxs("div",{className:"flex items-center gap-4",children:[C&&t.jsx(ze,{value:O,onChange:xe,className:"w-[200px]"}),!j&&t.jsxs(t.Fragment,{children:[t.jsx(H,{size:"sm",variant:"passive",onClick:we,endIcon:t.jsx(h,{icon:ye}),children:r("main.common.export")}),t.jsx($e,{gridId:A,gridRef:l})]})]});let _;j?_=t.jsxs("div",{className:"flex justify-between items-center gap-4 flex-wrap",children:[t.jsx(Be,{options:W,selectedIndex:ee,onChange:te,getLabel:e=>r(`board.workOrders.tabs.${e}`),"data-qa":"board-work-orders-mobile-tabs"}),ie]}):_=t.jsxs("div",{className:"flex justify-between items-center gap-4 flex-wrap",children:[t.jsx(Ae,{options:W,selectedIndex:ee,onChange:te,getLabel:e=>r(`board.workOrders.tabs.${e}`),"data-qa":"board-work-orders-tabs"}),ie]});let R;return U&&c.length===0?R=t.jsx("div",{className:"flex justify-center py-12",children:t.jsx(q,{})}):j?R=t.jsx(xt,{workOrders:c,getSearchableFields:M,renderCard:Ie},`wo-mobile-list-${F}`):R=t.jsx(Ue,{items:c,renderItem:ve,getSearchableFields:M,sortFn:(e,s)=>e.actionItemId-s.actionItemId,onFilterChange:ge},`wo-mobile-list-${F}`),t.jsxs("div",{...Ee(j,"w-full bg-base-fill rounded-xl px-9 py-6 max-mobile:px-4 space-y-4 relative"),children:[_,t.jsx("div",{className:"max-mobile:hidden",children:t.jsx(a.Suspense,{fallback:t.jsx("div",{className:"flex items-center justify-center py-12",children:t.jsx(h,{icon:Me,className:"w-8 h-8 text-primary animate-spin"})}),children:C?t.jsx(de,{ref:l,gridId:A,serverSideDatasource:be,columnDefs:ne,enableClipboard:!0,columnMenu:"new",pageSizeFromParent:10,loadingRowHeight:84,getGridRef:fe,getRowId:({data:e})=>e.actionItemId.toString(),overlayNoRowsTemplate:`<span class="text-base-fg">${r("board.workOrders.noWorkOrders")}</span>`,onRowClicked:u?({data:e})=>{e&&p(e)}:void 0,onFirstDataRendered:()=>{l.current&&k&&l.current.applyColumnState({state:k,applyOrder:!0})}},`wo-grid-${F}`):t.jsx(de,{ref:l,gridId:A,rowData:c,columnDefs:ne,enableClipboard:!0,columnMenu:"new",pageSizeFromParent:10,resetPaginationOnDataChange:!0,getRowId:({data:e})=>e.actionItemId.toString(),suppressLoadingOverlay:!U,overlayNoRowsTemplate:`<span class="text-base-fg">${r("board.workOrders.noWorkOrders")}</span>`,onRowClicked:u?({data:e})=>{e&&p(e)}:void 0,onFirstDataRendered:()=>{l.current&&k&&l.current.applyColumnState({state:k,applyOrder:!0})}},`wo-grid-${F}`)})}),t.jsx("div",{className:"mobile:hidden",children:R}),U&&c.length>0&&t.jsx("div",{className:"absolute inset-0 bg-base-fill/50 flex items-center justify-center rounded-xl",children:t.jsx(q,{})}),t.jsx(rt,{open:$.open,onClose:je,workOrder:$.workOrder,associationId:o,isApproval:$.isApproval}),t.jsx(at,{open:ae.open,onClose:ke,actionItemId:ae.actionItemId})]})},xt=({workOrders:r,getSearchableFields:i,renderCard:m})=>t.jsx(Le,{items:r,getSearchableFields:i,sortFn:(n,o)=>n.actionItemId-o.actionItemId,getItemKey:n=>n.actionItemId,renderItem:m}),rr={title:"Work Orders",showPropertySelector:!0,showAi:!0};function sr(){const r=Ze("workOrdersPage");return t.jsx(lt,{controller:"Board_v2",action:"ActionItems_WorkOrders",children:r?t.jsx(Re,{children:t.jsx(pt,{})}):t.jsx(Fe,{action:"ActionItems_WorkOrders",controller:"Board_v2"})})}export{sr as Component,rr as handle};
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.