PageSourceSearch

https://portal.commoninterest.com/assets/to-do-list-P6pEFCz-.js

js commoninterest.com collected 2026-10-01 23:52:07 UTC 16,160 bytes, 1 lines download raw bytes

1import{u as Q,r as n,j as t,F as j,aR as V,k as B,S as X,aP as ke,B as Y,cn as je,a_ as Ce,bC as Ne,aT as De,aa as ve,z as we,cm as Se}from"./elements-5kxJS_4j.js";import{u as ye}from"./useSavedGridPageSize-iR3hnzqU.js";import{c as Me}from"./clickableCardProps-H_WzBPvj.js";import{a as Te,B as O}from"./BoardTabPills-k6mLXMRn.js";import{C as H,B as _,a as Fe}from"./BoardTaskDecisionModals-DJ3dTyih.js";import{M as Ae}from"./MobileCardButton-D6bsn729.js";import{u as Re,a as $e,g as Be}from"./useMobileRedesignActive-7HkeUmjL.js";import{M as Pe}from"./MobileSearchSortList-SnRnltaF.js";import{M as Ee}from"./MobileTable-C7aibx3F.js";import{u as Z}from"./useBoardFrustrationEnabled-D-vRo-Pq.js";import{G as Le}from"./GridSettings-BQybxGtG.js";import{u as Oe}from"./useAttachmentViewer-BQoPBwhJ.js";import{x as ee,G as _e,j as We,am as qe}from"./index-CtCeyryw.js";import{u as ze,a as Ue,g as te,b as ae}from"./boardTaskCategories-CCzdb8L1.js";import"./NoteContent-BKv-Srb-.js";import{S as Ge}from"./SendMessageModal-r-MvvBTt.js";import{M as Ke}from"./ModernPortalPage-ZOfMD2FX.js";import{B as Ve}from"./BoardListDetailOutlet-BLfTYBPG.js";import{A as Xe}from"./authorization-DRCBMAi9.js";import"./FilterableGridFilters-BSwkYGCZ.js";import"./useIsMobile-DE0QDUth.js";import"./boardDecisionActions-BmpNgjt4.js";import"./board-arc-requests-BZRuynie.js";import"./useMutation-jkV-6MpM.js";import"./board-requests-01BmDrLN.js";import"./grids-DGmfp9GI.js";import"./DeclineModal-BO8VKDMV.js";import"./index.esm-GMeyTKQp.js";import"./CollectionDecisionModal-B-OdhykA.js";import"./ViolationDecisionModal-CoCy-Om7.js";import"./WorkOrderDecisionModal-BKRkejas.js";import"./useMobileRedesignBoardPages-BgUjR8UU.js";import"./useRedesign-xeayEwR4.js";import"./startOfDay-AazlW55I.js";import"./board-portal-requests-Dhj4UIYh.js";import"./index-BSR_b3JY.js";import"./MessageForm-CoPnETZi.js";import"./useMessageComposer-BQ7Z4YY2.js";import"./useAuthorization-XS6cSJ0I.js";const P="board-tasks-grid",He="all-items",Je=a=>`type:${a}`,Qe=["itemDetails","hasAttachments"],Ye=new Set(["actions","statusIndicator"]),J=({item:a,associationId:C,security:I,onSendMessage:p,onApproveDecline:r,expand:i="left",hideView:N=!1})=>{const{t:m}=Q(),S=ee(),x=Z(),h=I?te(I,a.actionCategoryId,a.decision):null,D=(h==null?void 0:h.canMessage)??!1,g=a.isDecision&&((h==null?void 0:h.canApproveDecline)??!1),F=D||g;return x?t.jsx("div",{className:"flex gap-2 items-center justify-end w-full",children:F&&t.jsxs(t.Fragment,{children:[g&&t.jsxs(t.Fragment,{children:[t.jsx(O,{action:"approve",onClick:l=>{l.stopPropagation(),r(a,!0)},"data-qa":`task-approve-${a.actionItemId}`,"data-feature":`task-approve-${a.actionItemId}`,children:m("board.tasks.actions.approve")}),t.jsx(O,{action:"decline",onClick:l=>{l.stopPropagation(),r(a,!1)},"data-qa":`task-decline-${a.actionItemId}`,"data-feature":`task-decline-${a.actionItemId}`,children:m("board.tasks.actions.decline")})]}),D&&t.jsx(O,{action:"message","aria-label":m("board.tasks.actions.sendMessage"),onClick:l=>{l.stopPropagation(),p(a)},"data-qa":`task-send-message-${a.actionItemId}`,"data-feature":`task-send-message-${a.actionItemId}`,children:m("board.tasks.actions.message")})]})}):t.jsxs("div",{className:"flex flex-wrap gap-2 items-center justify-end w-full",children:[!N&&t.jsx(Y,{size:"xs",variant:"passiveOutline","data-qa":`task-view-${a.actionItemId}`,"data-feature":`task-view-${a.actionItemId}`,onClick:()=>S(ae(a,C)),children:m("board.tasks.actions.view")}),F&&t.jsx(Ne,{text:t.jsxs(t.Fragment,{children:[t.jsx(j,{icon:Se}),t.jsx("span",{className:"sr-only",children:m("board.tasks.columns.action")})]}),variant:"passiveOutline",size:"xs",expand:i,items:[...g?[t.jsxs("button",{className:"px-3 py-2 text-sm flex flex-row items-center gap-2 w-full",onClick:()=>r(a,!0),"data-qa":`task-approve-${a.actionItemId}`,"data-feature":`task-approve-${a.actionItemId}`,children:[t.jsx(j,{className:"text-success",icon:De}),t.jsx("span",{children:m("board.tasks.actions.approve")})]},"approve-button"),t.jsxs("button",{className:"px-3 py-2 text-sm flex flex-row items-center gap-2 w-full",onClick:()=>r(a,!1),"data-qa":`task-decline-${a.actionItemId}`,"data-feature":`task-decline-${a.actionItemId}`,children:[t.jsx(j,{className:"text-error",icon:ve}),t.jsx("span",{children:m("board.tasks.actions.decline")})]},"decline-button")]:[],...D?[t.jsxs("button",{className:"px-3 py-2 text-sm flex flex-row items-center gap-2 w-full",onClick:()=>p(a),"data-qa":`task-send-message-${a.actionItemId}`,"data-feature":`task-send-message-${a.actionItemId}`,children:[t.jsx(j,{className:"text-base-icon",icon:we}),t.jsx("span",{children:m("board.tasks.actions.sendMessage")})]},"send-message-button")]:[]],"data-qa":`task-actions-menu-${a.actionItemId}`})]})},Ze=()=>{const{t:a}=Q(),{showAttachments:C}=Oe(),I=ee(),p=_e(),r=(p==null?void 0:p.id)??0,i=n.useRef(null),N=n.useRef(null),{isMobile:m,isMobileRedesignActive:S}=Re(),x=Z(),h=n.useRef(""),D=We(e=>e.gridsColumnState),g=n.useMemo(()=>D[P],[D]),F=ye(P),[l,v]=n.useState(null),[W,w]=n.useState(0),[se,ne]=n.useState(0);n.useEffect(()=>
1{v(null),w(0)},[r]);const{data:A,isLoading:oe,refetch:q}=ze({associationId:r}),{data:c,isLoading:re}=Ue({associationId:r}),E=oe||re,f=n.useMemo(()=>(A==null?void 0:A.items)??[],[A]),ie=n.useMemo(()=>c!=null&&f.some(e=>e.isDecision&&te(c,e.actionCategoryId,e.decision).canApproveDecline),[c,f]),z=(c==null?void 0:c.canSendMessage)===!0||(c==null?void 0:c.isArcAdmin)===!0||ie,u=n.useMemo(()=>{const e=new Map;for(const s of f){const o=s.typeDescription??"";o&&e.set(o,(e.get(o)??0)+1)}return Array.from(e.entries()).sort(([s],[o])=>s.localeCompare(o)).map(([s,o])=>({name:s,count:o}))},[f]),le=n.useMemo(()=>[He,...u.map(e=>Je(e.name))],[u]),d=n.useMemo(()=>l?f.filter(e=>e.typeDescription===l):f,[f,l]),k=n.useCallback(e=>{var o;const s=((o=i.current)==null?void 0:o.getDisplayedRows())??d;I(ae(e,r),{state:{taskItems:s.map(({actionItemId:b,actionCategoryId:L})=>({actionItemId:b,actionCategoryId:L}))}})},[r,d,I]);n.useEffect(()=>{var e;(e=i.current)==null||e.setRowData(d)},[d]);const ce=n.useCallback(e=>{var s;if(N.current=((s=i.current)==null?void 0:s.getColumnState())??null,e===0)v(null);else{const o=u[e-1];o&&v(o.name)}w(e)},[u]),R=n.useMemo(()=>[{label:`${a("board.tasks.allItems")} (${f.length})`,value:""},...u.map(e=>({label:`${e.name} (${e.count})`,value:e.name}))],[a,f.length,u]),de=n.useMemo(()=>R.find(e=>e.value===(l??""))??R[0],[R,l]);n.useEffect(()=>{if(!l)return;const e=u.findIndex(s=>s.name===l);e<0?(v(null),w(0)):w(e+1)},[u,l]);const me=n.useCallback(e=>{var o;N.current=((o=i.current)==null?void 0:o.getColumnState())??null;const s=e.value;if(!s)v(null),w(0);else{v(s);const b=u.findIndex(L=>L.name===s);w(b>=0?b+1:0)}},[u]),y=n.useCallback(e=>{C({actionItemId:e.actionItemId,title:a("board.tasks.task")})},[C,a]),[U,G]=n.useState({open:!1,actionItemId:0}),M=n.useCallback(e=>{G({open:!0,actionItemId:e.actionItemId})},[]),ue=n.useCallback(()=>{G({open:!1,actionItemId:0})},[]),[pe,K]=n.useState(H),T=n.useCallback((e,s)=>{K({open:!0,actionItemId:e.actionItemId,categoryId:e.actionCategoryId,isApproval:s,decision:e.decision})},[]),fe=n.useCallback(async()=>{K(H),await q(),ne(e=>e+1)},[q]),xe=n.useMemo(()=>[{field:"statusIndicator",headerName:a("board.tasks.columns.status").toString(),sortable:!1,minWidth:155,maxWidth:155,filter:!1,suppressMenu:!0,cellRenderer:e=>e.data?t.jsx(_,{value:e.data.statusIndicator}):null},{field:"itemDetails",headerName:a("board.tasks.columns.itemDetails").toString(),minWidth:250,filter:"agTextColumnFilter",floatingFilter:!0,wrapText:!0,autoHeight:!0,cellRenderer:e=>{const s=e.data;return s?t.jsxs("div",{className:"flex flex-col py-2",children:[t.jsxs("span",{className:"font-semibold text-base-header text-sm",children:[s.typeDescription,s.stepDescription?` / ${s.stepDescription}`:""]}),t.jsx("span",{className:"text-base-fg text-xs whitespace-pre-line",children:s.itemDetails})]}):null}},{field:"hasAttachments",headerName:a("board.tasks.columns.attachment").toString(),sortable:!1,minWidth:100,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:o=>{o.stopPropagation(),y(s)},"data-qa":`task-attachment-${s.actionItemId}`,"data-feature":`task-attachment-${s.actionItemId}`,"aria-label":a("board.tasks.columns.attachment").toString(),children:[a("board.tasks.view").toString(),t.jsx(j,{icon:V,className:"w-3 h-3"})]}):null}},{colId:"actions",headerName:a("board.tasks.columns.action").toString(),sortable:!1,resizable:!1,...(()=>{const e=x?350:200;return{width:e,minWidth:e,maxWidth:e}})(),filter:!1,suppressMenu:!0,cellRenderer:e=>e.data?t.jsx(J,{item:e.data,associationId:r,security:c,onSendMessage:M,onApproveDecline:T}):null},{field:"associationId",headerName:a("board.tasks.columns.assocCode").toString(),hide:!0,minWidth:120,filter:"agNumberColumnFilter",floatingFilter:!0},{field:"ownerId",headerName:a("board.tasks.columns.ownerId").toString(),hide:!0,minWidth:120,filter:"agNumberColumnFilter",floatingFilter:!0},{field:"subject",headerName:a("board.tasks.columns.subject").toString(),hide:!0,minWidth:220,filter:"agTextColumnFilter",floatingFilter:!0}
1,{field:"actionItemId",headerName:a("board.tasks.columns.xn").toString(),hide:!0,minWidth:100,filter:"agNumberColumnFilter",floatingFilter:!0},{field:"stepDescription",headerName:a("board.tasks.columns.description").toString(),hide:!0,minWidth:220,filter:"agTextColumnFilter",floatingFilter:!0,wrapText:!0,autoHeight:!0,cellClass:"!leading-snug py-2 text-sm"},{field:"followUpDate",headerName:a("board.tasks.columns.followUpDate").toString(),hide:!0,minWidth:160,filter:"agDateColumnFilter",floatingFilter:!0,valueFormatter:({value:e})=>e?B(new Date(e),{format:"numeric"}):""},{field:"dueDate",headerName:a("board.tasks.columns.dueDate").toString(),hide:!0,minWidth:160,filter:"agDateColumnFilter",floatingFilter:!0,valueFormatter:({value:e})=>e?B(new Date(e),{format:"numeric"}):""},{field:"createdUtc",headerName:a("board.tasks.columns.createdDate").toString(),hide:!0,minWidth:170,filter:"agDateColumnFilter",floatingFilter:!0,valueFormatter:({value:e})=>e?B(new Date(e),{format:"numeric"}):""},{field:"lastNoteDateUtc",headerName:a("board.tasks.columns.lastNoteTime").toString(),hide:!0,minWidth:180,filter:"agDateColumnFilter",floatingFilter:!0,valueFormatter:({value:e})=>e?B(new Date(e),{format:"numeric"}):""}].filter(e=>e.colId!=="actions"||z||!x),[a,c,r,x,z,y,M,T,k]),$=n.useCallback(e=>[e.actionItemId.toString(),e.typeDescription,e.stepDescription,e.itemDetails,e.subject,e.ownerName,e.propertyAddress],[]),he=n.useCallback(e=>{h.current=e},[]),ge=n.useCallback(()=>{if(i.current)if(m){const e=h.current.trim().toLowerCase(),s=e?d.filter(o=>$(o).some(b=>b==null?void 0:b.toLowerCase().includes(e))):d;i.current.setRowData(s),i.current.exportExcel({fileName:a("board.tasks.exportFileName"),exportedRows:"all",exportAsExcelTable:!0,columnKeys:Qe}),i.current.setRowData(d)}else{const e=i.current.getColumnState().map(s=>s.colId).filter(s=>!Ye.has(s));i.current.exportExcel({fileName:a("board.tasks.exportFileName"),exportedRows:"filteredAndSorted",exportAsExcelTable:!0,columnKeys:e})}},[m,d,$,a]);n.useEffect(()=>{var s;const e=N.current??g;N.current=null,e&&((s=i.current)==null||s.applyColumnState({state:e,applyOrder:!0}))},[W,g]);const be=n.useCallback(e=>t.jsxs("div",{className:`p-3 w-full rounded-md border border-base-border flex flex-col gap-2 text-sm ${x?"cursor-pointer":""}`,...x?Me(()=>k(e)):{},children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(_,{value:e.statusIndicator}),t.jsx("span",{className:"font-medium text-base-header",children:e.typeDescription})]}),e.hasAttachments&&t.jsx("button",{type:"button",className:"text-base-link hover:underline text-sm font-medium flex items-center gap-1",onClick:s=>{s.stopPropagation(),y(e)},"aria-label":a("board.tasks.columns.attachment").toString(),children:t.jsx(j,{icon:V,className:"w-3 h-3"})})]}),t.jsx("div",{children:t.jsxs("span",{className:"font-semibold text-base-header text-sm",children:[e.typeDescription,e.stepDescription?` / ${e.stepDescription}`:""]})}),e.itemDetails&&t.jsx("span",{className:"text-base-fg text-xs whitespace-pre-line",children:e.itemDetails}),t.jsx("div",{className:"flex items-center justify-end",children:t.jsx(J,{item:e,associationId:r,security:c,expand:"right",onSendMessage:M,onApproveDecline:T})})]}),[k,c,r,x,y,M,T,k,a]),Ie=n.useCallback(e=>t.jsxs("div",{className:`p-3 w-full flex flex-col gap-2 text-sm ${$e}`,children:[t.jsx("div",{className:"flex items-center justify-between",children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(_,{value:e.statusIndicator}),t.jsx("span",{className:"font-medium text-base-header",children:e.typeDescription})]})}),t.jsx(Ae,{onClick:()=>k(e),"aria-label":`${a("board.tasks.actions.view").toString()} XN ${e.actionItemId}`,children:t.jsxs("div",{className:"flex-1 flex flex-col gap-2 min-w-0",children:[t.jsx("div",{children:t.jsxs("span",{className:"font-semibold text-base-header text-sm",children:[e.typeDescription,e.stepDescription?` / ${e.stepDescription}`:""]})}),e.itemDetails&&t.jsx("span",{className:"text-base-fg text-xs whitespace-pre-line",children:e.itemDetails})]})})]}),[k,c,y,M,T,a]);return E&&d.length===0?t.jsx("div",{className:"w-full bg-base-fill rounded-xl px-6 py-12 flex items-center justify-center",children:t.jsx(X,{})}):t.jsxs("div",{...Be(S,"w-full bg-base-fill rounded-xl px-9 py-6 max-mobile:px-4 space-y-4 relative"),"data-qa":"board-tasks-container","data-feature":"board-tasks-page",children:[t.jsx("div",{className:"max-mobile:hidden",children:t.jsx(Te,{options:le,selectedIndex:W,onChange:ce,getLabel:(e,s)=>{var o;return s===0?a("board.tasks.allItems"):((o=u[s-1])==null?void 0:o.name)??""},getCount:(e,s)=>{var o;return s===0?f.length:(o=u[s-1])==null?void 0:o.count},"data-qa":"board-tasks-tabs"})}),t.jsx("div",{className:"mobile:hidden",children:t.jsx(ke,{label:a("board.tasks.filterByType"),labelClassName:"sr-only",options:R,value:de,onChange:me,"data-qa":"task-type-filter","data-feature":"task-type-filter"})}),t.jsxs("div",{className:"flex justify-end gap-4",children:[!S&&t.jsx(Y,{size:"sm",variant:"passive",onClick:ge,endIcon:t.jsx(j,{icon:je}),"data-qa":"export-btn","data-feature":"board-tasks-export",children:a("main.common.export")}),t.jsx("div",{className:"max-mobile:hidden",children:t.jsx(Le,{gridId:P,gridRef:i})})]}),t.jsx("div",{className:"max-mobile:hidden",children:t.jsx(Ce,{ref:i,gridId:P,rowData:d,columnDefs:xe,enableClipboard:!0,columnMenu:"legacy",pageSizeFromParent:F,resetPaginationOnDataChange:!0,getRowId:({data:e})=>e.actionItemId.toString(),onRowClicked:x?({data:e})=>{e&&k(e)}:void 0,suppressLoadingOverlay:!E,overlayNoRowsTemplate:`<span class="text-base-fg">${a("board.tasks.noTasks")}</span>`,onFirstDataRendered:()=>{i.current&&g&&i.current.applyColumnState({state:g,applyOrder:!0})}},`${r}-${se}`)}),t.jsx("div",{className:"mobile:hidden",children:S?t.jsx(et,{items:d,getSearchableFields:$,renderCard:Ie}):t.jsx(Ee,{items:d,renderItem:be,getSearchableFields:$,sortFn:(e,s)=>e.actionItemId-s.actionItemId,onFilterChange:he})}),E&&d.length>0&&t.jsx("div",{className:"absolute inset-0 bg-base-fill/50 flex items-center justify-center rounded-xl",children:t.jsx(X,{})}),t.jsx(Ge,{open:U.open,onClose:ue,actionItemId:U.actionItemId}),t.jsx(Fe,{decisionModal:pe,associationId:r,onClose:fe})]})},et=({items:a,getSearchableFields:C,renderCard:I})=>t.jsx(Pe,{items:a,getSearchableFields:C,sortFn:(p,r)=>p.actionItemId-r.actionItemId,getItemKey:p=>
1p.actionItemId,renderItem:I}),_t={title:"Board Tasks",showPropertySelector:!0,showAi:!0,redesignPage:"boardTasksPage",redesignHandle:{customContentId:["ToDoList","Board_v2"]}};function Wt(){const a=qe("boardTasksPage");return t.jsx(Xe,{controller:"Board_v2",action:"ToDoList",children:a?t.jsx(Ve,{children:t.jsx(Ze,{})}):t.jsx(Ke,{action:"ToDoList",controller:"Board_v2"})})}export{Wt as Component,_t 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.