1 2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b02ea2e0-89d0-5215-ae5c-30c0d155b811")}catch(e){}}(); 3import {s as st$1,m as mt$1}from'./chunk-8j5-piYf.js';import'./chunk-BtS1Fg9g.js';import'./chunk-PlMxG_pr.js';import'./chunk-jlvpcNsF.js';import'./chunk-XpF_PgI4.js';import {j as jM,H as Hr,L as Lb,a as jb,b as Lc,d as dr,A as Ai,E as Eo,n as nn,w as we,c as He,V as Vc,T as Tr,J as JN,X as XN,v,g as gt$1,B,x,_,e as w,k as kf,f as bn,l,m as ml,y,z,i,h as dx,I as Ia,o as kD,Q as Qx,p as bf,q as _D,r as Xh,s as yx,t as eg,K as KS,u as nx,C as X_,D as TD,F as XS,G as rx,M as bD,N as Af,O as rE,R as Ry}from'./main-CAjEjBVh.js';import {g}from'./chunk-Dv4uTFWz.js';var nt=(l,c)=>c.id;function at(l,c){l&1&&(Ia(0,"tg-info-box",11),_D(1,"tg-icon",18),Ia(2,"p"),Qx(3,"Removing a listing from a Shared Watchlist will remove it for all collaborators."),bf()());}function ct(l,c){if(l&1&&(Ia(0,"div",19),_D(1,"img",23),bf()),l&2){let o=yx().$implicit;X_(),TD("src",o.thumbnail,Ry);}}function st(l,c){if(l&1&&(Ia(0,"div",20),_D(1,"tm-listing-placeholder-illustration-handler",24),bf()),l&2){let o=yx().$implicit;X_(),TD("inActionModal",true)("areaOfBusiness",o.areaOfBusiness);}}function rt(l,c){if(l&1&&(Ia(0,"div",22),_D(1,"tg-icon",25),Ia(2,"span",26),Qx(3),bf()()),l&2){let o=yx().$implicit;bD("aria-label",o.sharingData?.ariaLabel),X_(3),rE(o.sharingData?.tagText);}}function dt(l,c){if(l&1){let o=dx();Ia(0,"div",6),kD("click",function(){let t=Xh(o).$implicit,e=yx(2);return eg(e.toggleInCollection(!t.hasCurrentListingId,t.id))}),Ia(1,"div",7),JN(2,ct,2,1,"div",19)(3,st,2,2,"div",20),Ia(4,"div",21)(5,"p"),Qx(6),bf(),JN(7,rt,4,2,"div",22),bf()(),Ia(8,"tg-checkbox",10),kD("click",function(t){return t.stopPropagation()})("ngModelChange",function(t){let e=Xh(o).$implicit,s=yx(2);return eg(s.toggleInCollection(t,e.id))}),bf(),KS(),bf();}if(l&2){let o=c.$implicit;bD("data-testid","collection-row-"+o.name),X_(2),XN(o?.thumbnail?2:3),X_(4),Af(" ",o.name," "),X_(),XN(o.sharingData?.tagText?7:-1),X_(),TD("ngModel",o.hasCurrentListingId),XS();}}function mt(l,c){if(l&1){let o=dx();Ia(0,"tg-modal",1),kD("close",function(){Xh(o);let t=yx();return eg(t.watchlistCollectionModalService.close())}),Ia(1,"tg-modal-header")(2,"h2",2),Qx(3,"Manage listing"),bf()(),Ia(4,"tg-modal-body")(5,"div",3)(6,"div",4)(7,"div",5)(8,"div",6),kD("click",function(){Xh(o);let t=yx();return eg(t.toggleInWatchlist(!t.watchlistIsToggled()))}),Ia(9,"div",7)(10,"div",8),_D(11,"tg-icon",9),bf(),Ia(12,"p"),Qx(13,"Watchlist"),bf()(),Ia(14,"tg-checkbox",10),kD("click",function(t){return t.stopPropagation()})("ngModelChange",function(t){Xh(o);let e=yx();return eg(e.toggleInWatchlist(t))}),bf(),KS(),bf()(),JN(15,at,4,0,"tg-info-box",11),Ia(16,"div",12),nx(17,dt,9,5,"div",13,nt),bf()(),Ia(19,"div",14)(20,"a",15),kD("click",function(){Xh(o);let t=yx();return eg(t.createNewCollection())}),_D(21,"tg-icon",16),Qx(22," Create Watchlist "),bf(),Ia(23,"button",17),kD("click",function(){Xh(o);let t=yx();return eg(t.watchlistCollectionModalService.close())}),Qx(24," Done "),bf()()()()();}if(l&2){let o=yx();X_(14),TD("ngModel",o.watchlistIsToggled()),XS(),X_(),XN(o.hasSharedCollectionsWithListing()?15:-1),X_(2),rx(o.displayCollections());}}var gt=(()=>{let c=class c{constructor(){this.watchlistCollectionModalService=v(gt$1),this.summaryFacade=v(B),this._watchlistCollectionEditModalService=v(x),this._dataFacade=v(g),this._watchlistFacade=v(_),this._modalCoordinator=v(w),this._sharingService=v(mt$1),this._pendingToggles=kf({source:this.watchlistCollectionModalService.isVisible,computation:()=>new Map}),this._pendingWatchlistState=kf({source:this.watchlistCollectionModalService.isVisible,computation:()=>null}),this.displayCollections=bn(()=>{let i=this._pendingToggles();return this.summaryFacade.collectionsSummary()?.collections?.filter(t=>{let e=t.sharing?.accessRole;return !e||l(e)})?.map(t=>{let e=t?.listings?.[0],s=!!t?.listings?.some(lt=>lt.listingId===this.watchlistCollectionModalService.listing()?.listingId?.toString()),m=i.has(t.id)?i.get(t.id):s;
3return {thumbnail:e?.imageUrl??null,name:t.name,id:t.id,hasCurrentListingId:m,areaOfBusiness:e?.areaOfBusiness,sharing:t.sharing,sharingData:{tagText:this._sharingService.getCollectionSharingTagText(t.sharing),ariaLabel:this._sharingService.getCollectionSharingAriaLabel(t.sharing)}}})??[]}),this.watchlistIsToggled=bn(()=>{let i=this._pendingWatchlistState();return i!==null?i:this.watchlistCollectionModalService.listing()?.isOnWatchList??true}),this.hasSharedCollectionsWithListing=bn(()=>{let i=this.watchlistCollectionModalService.listing()?.listingId?.toString();return i?this.summaryFacade.collectionsSummary()?.collections?.filter(t=>{let e=t.sharing?.accessRole;return !e||l(e)}).some(t=>{let e=!!t.listings?.some(m=>m.listingId===i),s=(t.sharing?.memberCount??0)>1;return e&&s})??false:false}),ml(()=>{this.watchlistCollectionModalService.isVisible()&&(this.summaryFacade.collectionsSummary()?.collections||this.summaryFacade.getAll());}),ml(()=>{let i=this._dataFacade.lastFailedOperation();i&&(this._pendingToggles.update(t=>{let e=new Map(t);return e.set(i.collectionId,i.previousState),e}),this._dataFacade.clearLastFailedOperation());});}toggleInCollection(i,t){if(!this.watchlistCollectionModalService.listing()?.listingId)return;this._pendingToggles.update(s=>{let m=new Map(s);return m.set(t,i),m});let e={listing:this.watchlistCollectionModalService.listing(),collectionId:t};i?(this.watchlistIsToggled()||(this._pendingWatchlistState.set(true),this.watchlistCollectionModalService.updateWatchlistState(true),this._watchlistFacade.addToWatchlist(e.listing.listingId)),this._dataFacade.addListing(e)):this._dataFacade.removeListing(e);}toggleInWatchlist(i){if(!this.watchlistCollectionModalService.listing()?.listingId)return;this._pendingWatchlistState.set(i),this.watchlistCollectionModalService.updateWatchlistState(i);let t=this.watchlistCollectionModalService.listing().listingId;i?this._watchlistFacade.addToWatchlist(t):(this._pendingToggles.set(new Map),this._watchlistFacade.removeFromWatchlist(t),this.removeListingFromAllSummaries(t),this.removeListingFromAllCollections(t));}removeListingFromAllSummaries(i){let t=y({},this.summaryFacade.collectionsSummary()),e=z(y({},t),{collections:t.collections?.map(s=>z(y({},s),{listings:s?.listings?.filter(m=>m?.listingId!==i.toString())}))});this.summaryFacade.updateCollectionsSummary(e);}removeListingFromAllCollections(i){let t=this._dataFacade.collections()?.map(e=>z(y({},e),{listings:z(y({},e.listings),{list:e?.listings?.list?.filter(s=>s?.listingId!==i.toString())})}));this._dataFacade.updateCollections(t);}createNewCollection(){let i$1=this.watchlistCollectionModalService.listing();this.watchlistCollectionModalService.close(),this._modalCoordinator.startFlow(i$1,true),this._watchlistCollectionEditModalService.open(i.Create,i$1??void 0,true);}};c.\u0275fac=function(t){return new(t||c)},c.\u0275cmp=jM({type:c,selectors:[["tm-watchlist-collection-action-modal"]],decls:1,vars:1,consts:[["role","dialog","aria-modal","true","aria-labelledby","action-modal-title",1,"tm-watchlist-collection-action-modal"],["role","dialog","aria-modal","true","aria-labelledby","action-modal-title",1,"tm-watchlist-collection-action-modal",3,"close"],["id","action-modal-title"],[1,"tm-watchlist-collection-action-modal__body-container"],[1,"tm-watchlist-collection-action-modal__scrollable-content"],[1,"tm-watchlist-collection-action-modal__watchlist-container"],[1,"tm-watchlist-collection-action-modal__collection-listings","tm-watchlist-collection-action-modal__collection-listings--clickable",3,"click"],[1,"tm-watchlist-collection-action-modal__collection-listings--details"],[1,"tm-watchlist-collection-action-modal__collection-listings--watchlist-icon"],["size","1","alt","Add to Watchlist icon","name","binoculars"],["name","toggleWatchlist","indeterminate","false","showValidation","false","label","Toggle Watchlist",3,"click","ngModelChange","ngModel"],["tgStyle","danger",1,"tm-watchlist-collection-action-modal__shared-warning"],[1,"tm-watchlist-collection-action-modal__collections-container"],[1,"tm-watchlist-collection-action-modal__collection-listings","tm-watchlist-collection-action-modal__collection-listings--clickable"],[1,"tm-watchlist-collection-action-modal__footer-buttons"],["tgButton2","","tgStyle","secondary",1,"tm-watchlist-collection-action-modal__create-collection",3,"click"],["alt","Create Watchlist","name","basic-plus"],["tgButton2","","tgStyle","primary",1,"tm-watchlist-collection-action-modal__done-button",3,"click"],["name","basic-warning-framed","role","presentation"],[1,"tm-watchlist-collection-action-modal__collection-listings--image"],[1,"tm-watchlist-collection-action-modal__collection-listings--no-image"],[1,"tm-watchlist-collection-action-modal__collection-info"],["role","img",1,"tm-watchlist-collection-action-modal__sharing-tag"],["alt","listing thumbail",3,"src"],[3,"inActionModal","areaOfBusiness"],["name","profile-multi","role","presentation"],["aria-hidden","true"]],template:function(t,e){t&1&&JN(0,mt,25,2,"tg-modal",0),t&2&&XN(e.watchlistCollectionModalService.isVisible()?0:-1);},dependencies:[Hr,Lb,jb,Lc,dr,Ai,Eo,nn,we,He,Vc,st$1,Tr],styles:[`.tm-watchlist-collection-action-modal.o-modal__dialog{overflow-y:clip}@media(min-width:768px){.tm-watchlist-collection-action-modal.o-modal__dialog{width:6
35%}}.tm-watchlist-collection-action-modal__body-container{display:flex;flex-direction:column;max-height:70vh}.tm-watchlist-collection-action-modal__scrollable-content{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:24px}.tm-watchlist-collection-action-modal__collection{margin-bottom:24px}.tm-watchlist-collection-action-modal__collection button{margin-bottom:8px}.tm-watchlist-collection-action-modal__watchlist-container,.tm-watchlist-collection-action-modal__collections-container{display:flex;flex-direction:column;gap:8px;border:solid 1px #d7d5d2;border-radius:6px;padding:8px}.tm-watchlist-collection-action-modal__footer-buttons{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;margin-top:24px;flex-shrink:0}.tm-watchlist-collection-action-modal__footer-buttons>*{flex:1}.tm-watchlist-collection-action-modal__footer-buttons a,.tm-watchlist-collection-action-modal__footer-buttons button{width:100%}@media(max-width:768px){.tm-watchlist-collection-action-modal__footer-buttons{gap:16px;flex-direction:column}}.tm-watchlist-collection-action-modal__collection-listings{display:flex;justify-content:space-between;flex-direction:row;align-items:center}.tm-watchlist-collection-action-modal__collection-listings--clickable{cursor:pointer}.tm-watchlist-collection-action-modal__collection-listings:not(:last-child){border-bottom:solid 1px #d7d5d2;padding-bottom:8px}.tm-watchlist-collection-action-modal__collection-listings .o-checkbox{margin-bottom:24px}.tm-watchlist-collection-action-modal__collection-listings .o-checkbox .o-checkbox__label-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tm-watchlist-collection-action-modal__collection-listings--details{display:flex;justify-content:flex-start;flex-direction:row;align-items:center;gap:8px;width:100%}.tm-watchlist-collection-action-modal__collection-listings--details p{margin-bottom:0;font-weight:700;font-size:17px}.tm-watchlist-collection-action-modal__collection-listings--image,.tm-watchlist-collection-action-modal__collection-listings--no-image,.tm-watchlist-collection-action-modal__collection-listings--watchlist-icon{width:56px;height:56px;border-radius:6px;overflow:hidden;background:#d7d5d2}.tm-watchlist-collection-action-modal__collection-listings--image img,.tm-watchlist-collection-action-modal__collection-listings--no-image img,.tm-watchlist-collection-action-modal__collection-listings--watchlist-icon img{width:100%;height:100%;object-fit:cover}.tm-watchlist-collection-action-modal__collection-listings--no-image{background:#f6f5f4;padding:8px}.tm-watchlist-collection-action-modal__collection-listings--watchlist-icon{display:flex;justify-content:center;align-items:center;background:#ffc041}.tm-watchlist-collection-action-modal__collection-listings--watchlist-icon tg-icon{color:#b45600}.tm-watchlist-collection-action-modal__create-collection{margin-bottom:0}.tm-watchlist-collection-action-modal__create-collection tg-icon{margin-right:4px}.tm-watchlist-collection-action-modal__done-button{margin-bottom:0}.tm-watchlist-collection-action-modal__sharing-tag{display:flex;align-items:center;font-weight:500;font-size:.75rem;color:#65605d}.tm-watchlist-collection-action-modal__sharing-tag tg-icon{margin-right:4px}.tm-watchlist-collection-action-modal__shared-warning tg-icon{flex-shrink:0}.tm-watchlist-collection-action-modal__shared-warning p{margin-bottom:0} 4`],encapsulation:2});let l$1=c;return l$1})(),It=gt;export{It as default};//# sourceMappingURL=watchlist-collection-action-modal.component-ZjdAWzzX.js.map 5 6//# debugId=b02ea2e0-89d0-5215-ae5c-30c0d155b811
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.