1import{$c as He,C as Ve,Sc as Xe,a as ge,pa as Ue,qc as Qe,sa as je,ye as Ye}from"./chunk-6QDVQ5WV.js";import{$a as k,$r as Pe,Ap as Ne,Ba as J,Bp as Fe,Ca as F,Cc as re,D as X,Db as ne,Dl as h,Dy as ze,Ed as G,Fo as Ie,Gq as y,Ha as b,Hc as le,Hl as w,Hq as M,Hw as Oe,Ia as ee,Ib as o,Ja as R,Jb as a,K as H,Kd as me,Lp as De,M as Y,Mb as P,N as q,O as K,Oa as f,Pa as m,Pm as $e,Qa as d,Ra as D,Rn as xe,Sc as pe,Sn as Ae,V as $,W as x,Wb as se,Xn as be,Ya as C,Yd as ce,Z as r,ac as oe,ae as B,ao as Re,as as O,bb as te,c as j,ca as g,cb as ie,da as u,eb as E,ev as Be,fb as p,gl as Ce,jt as We,km as Te,kq as ke,l,ll as we,lo as Le,m as N,nk as ye,nl as Me,ob as L,pj as _e,qe as de,rg as ue,sa as _,so as ve,t as Q,tc as ae,tj as fe,uj as Se,vu as Ge,wj as Ee,xj as he,xo as v,ya as Z,yc as W,za as A}from"./chunk-6VDOBKBI.js";import"./chunk-UNNH6OJB.js";import{a as V,b as U}from"./chunk-HE2D45TV.js";var T={pageIndex:0,pageSize:50,length:0};var qe=(()=>{class i{constructor(){this.relativeDatePipe=r(ue),this.commonDisplay=r(Ve),this.displayTableCells=({latestMessage:e,unreadCount:t})=>{let s=t===0?[]:["font-bold"];return{sender:w({components:[this.getSenderBadge(e),h({content:this.getSenderName(e),truncate:!0})],$element:{classList:"flex gap-x-3 items-center"}}),body:h({content:B(e.body??""),$element:{classList:s}}),created:h({truncate:!0,content:this.getCreatedText(e.created),$element:{classList:s}})}},this.displayListItem=({latestMessage:e,unreadCount:t})=>{let n=t===0,s=n?[]:["!font-medium"];return w({components:[this.getSenderBadge(e),w({components:[w({components:[this.commonDisplay.displayTypography(this.getSenderName(e),"h5"),h({content:this.getCreatedText(e.created),$element:{classList:[...s,"text-sm","darkerGrey"],typography:"caption1"}})],$element:{classList:["flex","flex-row","justify-between","gap-x-2"]}}),h({content:B(e.body??""),$element:{classList:s,color:n?"darkerGrey":"black",typography:"caption1"}})],$element:{classList:["flex","flex-col","grow"]}})],$element:{classList:["flex","flex-row","grow","gap-x-2"]}})}}getCreatedText(e){return e?this.relativeDatePipe.transform(e,"past","short",void 0,void 0,void 0,void 0,{hideTime:!ge(e)}):""}getSenderName(e){return e.isIncoming?e.senderName??e.sender??"":e.recipientName??e.recipient??""}getSenderBadge(e){let t=this.getSenderName(e),n=ce(t??"");return Me($e,{size:"small",backgroundColor:we(n),component:n})}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var Ke=(()=>{class i{constructor(){this.visitCoreService=r(Qe)}openVisitViewer(e){this.visitCoreService.openViewer({entityId:e.visitId,initialTab:"messages"})}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275prov=$({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();var Je=()=>[50,100];function et(i,S){if(i&1){let e=C();m(0,"button",11),E("click",function(){g(e);let n=p(2);return u(n.onMarkAllAsRead())}),k(1,2),d()}}function tt(i,S){i&1&&F(0,et,2,0,"button",10)}function it(i,S){if(i&1){let e=C();m(0,"ww-infinite-scroll",12),o(1,"async"),o(2,"async"),E("scrolledToEnd",function(){g(e);let n=p();return u(n.onScrolledToEnd())})("scrolledToStart",function(){g(e);let n=p();return u(n.onScrolledToStart())}),m(3,"ww-list",13),o(4,"async"),o(5,"async"),E("itemClicked",function(n){g(e);let s=p();return u(s.onMessageSelected(n))}),d()()}if(i&2){let e=p(),t=L(11);f("disabled",a(1,9,e.hasFetchedAllMessages$)||a(2,11,e.isLoadingPage$))("overflowElement",e.layout.mobileOverflowElement)("scrollElement",e.layout.mobileScrollElement),_(3),f("dragDropEnabled",!1)("loading",a(4,13,e.isLoading$))("data",a(5,15,e.threads$))("trackByProperty","id")("placeholder",t)("pluckLabel",e.pluckListLabel)}}function nt(i,S){if(i&1){let e=C();m(0,"ww-paginator",16),o(1,"async"),o(2,"async"),o(3,"async"),o(4,"async"),E("page",function(n){g(e);let s=p(2);return u(s.onPage(n))}),d()}if(i&2){let e=p(2);f("length",a(1,5,e.length$))("pageSizeOptions",ne(13,Je))("pageSize",a(2,7,e.pageSize$))("pageIndex",a(3,9,e.pageIndex$))("disabled",a(4,11,e.isLoadingPage$))}}function st(i,S){if(i&1){let e=C();m(0,"ww-table",14),o(1,"async"),o(2,"async"),o(3,"async"),E("rowClicked",function(n){g(e);let s=p();return u(s.onMessageSelected(n))}),d(),b(4,nt,5,14,"ww-paginator",15),o(5,"async")}if(i&2){let e,t=p(),n=L(11),s=L(13);f("loading",a(1,8,t.isLoading$))("data",a(2,10,t.threads$))("trackByProperty","id")("columns",t.columns)("pluckCellLabel",t.pluckCellLabel)("placeholder",n)("label",(e=a(3,12,t.messageRx.unreadMessagesCount$))!=null&&e.value?s:null),_(4),R(a(5,14,t.canPaginate$)?4:-1)}}function ot(i,S){i&1&&D(0,"ww-empty-state",17)}function at(i,S){if(i&1&&(m(0,"span"),k(1,3),o(2,"async"),d()),i&2){let e,t=p();_(2),te((e=a(2,1,t.messageRx.unreadMessagesCount$))==null?null:e.value),ie(1)}}var z=(()=>{class i extends Ce{onMarkAllAsRead(){this.markAllMessagesAsReadWrite.payload.next()}constructor(){super(),this.messageService=r(Ke),this.messageRx=r(Ge),this.layout=r(Be),this.markAllMessagesAsReadWrite=r(Oe),this.messageDisplay=r(qe),this.optimisticMessageRx=r(ze),this.pageEventSub=new j(T),this.pageEvent$=this.pageEventSub.pipe(X((e,t)=>me(e,t))),this.pageIndex$=this.pageEvent$.pipe(l(e=>e.pageIndex)),this.defaultWhereQueryArgs={where:[["type","in",[y,M]]]},this.dateRangeFormControl=new W(v.createDateRange()),this.allMessageType="all",this.messageTypeData=[this.allMessageType,y,M],this.messageTypeFormControl=new W(this.allMessageType),this.messageTypePluckLabel=e=>We(e)?ye[e]:$localize`All`,this.messageType$=G(this.messageTypeFormControl),this.messageTypeQueryArgs$=this.messageType$.pipe(l(e=>e===y?{where:[["type","==",y]]}:e===M?{where:[["type","==",M]]}:this.defaultWhereQueryArgs)),this.nullableDateRange$=G(this.dateRangeFormControl),this.dateRange$=this.nullableDateRange$.pipe(l(e=>e??v.createDateRange())),this.dateRangeFilters=[be,Re,Le,ve,v],this.dateRangeQueryArgs$=this.dateRange$.pipe(l(e=>{let{end:t,start:n}=e;
1return Pe("created",n,t)})),this.queryArgs$=N([this.dateRangeQueryArgs$,this.messageTypeQueryArgs$]).pipe(l(([e,t])=>O(t,e))),this.messages$=this.queryArgs$.pipe(q(e=>_e(this.pageEvent$,t=>this.optimisticMessageRx.getOptimisticMessages(O(e,t)),"created","desc")),H({refCount:!0,bufferSize:1})),this.isLoadingPage$=he(this.messages$,this.pageEvent$),this.pageSize$=this.pageEvent$.pipe(l(e=>e.pageSize)),this.length$=fe(this.messages$,this.pageEvent$),this.hasFetchedAllMessages$=Ee(this.messages$,this.pageEvent$),this.canPaginateData$=Se(this.messages$,this.pageEvent$),this.canPaginate$=N([this.canPaginateData$,this.nullableDateRange$]).pipe(l(([e,t])=>t&&(t.start||t.end)?!1:e)),this.threads$=this.messages$.pipe(l(e=>{let t=de(e,n=>n.visitId);return Object.entries(t).map(([,n])=>{let s=n[0];return{id:s.id,latestMessage:s,unreadCount:n.filter(c=>!c.isRead&&c.type===y).length}})})),this.isLoading$=Q(this.queryArgs$.pipe(l(()=>!0)),this.messages$.pipe(l(()=>!1))).pipe(Y(!0)),this.columns=[{label:$localize`Name`,key:"sender"},{label:$localize`Message`,key:"body"},{label:$localize`Date`,key:"created"}],this.pluckCellLabel=this.messageDisplay.displayTableCells,this.pluckListLabel=this.messageDisplay.displayListItem,this.subscribe(),this.layout.setFeatureContext({name:$localize`Messages`})}onMessageSelected(e){this.messageService.openVisitViewer(e.latestMessage)}onPage(e){this.pageEventSub.next(e)}onScrolledToEnd(){this.pageEventSub.next(U(V({},this.pageEventSub.value),{pageSize:this.pageEventSub.value.pageSize+T.pageSize}))}onScrolledToStart(){this.pageEventSub.next(T)}subscribe(){this.dateRangeQueryArgs$.pipe(K(this.ngOnDestroy$)).subscribe(()=>{this.pageEventSub.next(T)})}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275cmp=Z({type:i,selectors:[["ww-messages"]],hostAttrs:[1,"ww-messages","flex","flex-col"],standalone:!1,features:[J],decls:14,vars:11,consts:()=>{let e;e=$localize`Type`;let t;t=$localize` Mark all as read `;let n;n=$localize`No messages found`;let s;return s=$localize`${"\uFFFD0\uFFFD"}:INTERPOLATION: unread messages`,[["emptyStateTmpl",""],["unreadCountTmpl",""],t,s,["mat-menu-item",""],["wwLayoutPadding","",1,"flex","flex-col","gap-6","below-small:gap-4"],[3,"filters","formControl"],["ariaLabel",e,3,"data","pluckLabel","formControl"],[1,"flex","flex-col"],[1,"flex-1","relative",3,"disabled","overflowElement","scrollElement"],["mat-menu-item","",3,"click",4,"wwLayoutSecondaryAction"],["mat-menu-item","",3,"click"],[1,"flex-1","relative",3,"scrolledToEnd","scrolledToStart","disabled","overflowElement","scrollElement"],[3,"itemClicked","dragDropEnabled","loading","data","trackByProperty","placeholder","pluckLabel"],[3,"rowClicked","loading","data","trackByProperty","columns","pluckCellLabel","placeholder","label"],[3,"length","pageSizeOptions","pageSize","pageIndex","disabled"],[3,"page","length","pageSizeOptions","pageSize","pageIndex","disabled"],["message",n,"icon","ww-empty-state-messages"]]},template:function(t,n){t&1&&(b(0,tt,1,0,"button",4),o(1,"async"),m(2,"div",5)(3,"ww-page-toolbar"),D(4,"ww-date-range-picker",6)(5,"ww-select",7),d(),m(6,"div",8),b(7,it,6,17,"ww-infinite-scroll",9),o(8,"async"),ee(9,st,6,16),F(10,ot,1,0,"ng-template",null,0,P)(12,at,3,3,"ng-template",null,1,P),d()()),t&2&&(R(a(1,7,n.messageRx.hasUnreadMessages$)?0:-1),_(4),f("filters",n.dateRangeFilters)("formControl",n.dateRangeFormControl),_(),f("data",n.messageTypeData)("pluckLabel",n.messageTypePluckLabel)("formControl",n.messageTypeFormControl),_(2),R(a(8,9,n.layout.isMobile$)?7:9))},dependencies:[ae,re,Te,Ie,xe,Ne,De,Ae,Fe,Xe,Ue,je,He,se],styles:[`.ww-breakpoints-below-small .ww-messages .ww-list-item{padding-left:0;padding-right:0}.ww-messages .mat-mdc-paginator-range-label{display:none} 2/*noopmessages.component-O5TC2Z2O.css.map */ 3`],encapsulation:2,changeDetection:0})}}return i})();var rt=[{path:"",component:z}],Ze=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=A({type:i})}static{this.\u0275inj=x({imports:[pe.forChild(rt)]})}}return i})();var pi=(()=>{class i{static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275mod=A({type:i})}static{this.\u0275inj=x({imports:[oe,le,Ze,ke,Ye]})}}return i})();export{z as WwMessagesComponent,pi as WwMessagesModule}; 4//noopchunk-EPAI5BRT.js.map
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.