PageSourceSearch

https://brafford-photography.web.app/3460.f3c95284d964a25a.js

js brafford-photography.web.app collected 2026-10-03 12:19:30 UTC 59,750 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunktonomo=self.webpackChunktonomo||[]).push([[3460],{90754:(ee,M,o)=>{o.d(M,{Y9:()=>c,y9:()=>u});var d=o(98798);const u=Object.values(d.i4).map(T=>({value:T,name:T})),c=[{name:"Admin",value:d.Pv.ADMIN},{name:"Staff",value:d.Pv.STAFF},{name:"Contractor",value:d.Pv.CONTRACTOR},{name:"Customer",value:d.Pv.CUSTOMER}]},73460:(ee,M,o)=>{o.r(M),o.d(M,{CrmFeatureUsersDashboardModule:()=>$t});var d=o(69808),u=o(93075),c=o(48966),T=o(92181),V=o(86087),$=o(20773),U=o(32368),_=o(53251),x=o(87238),j=o(77759),P=o(51062),l=o(658),B=o(25752),f=o(96410),pe=o(30567),O=o(21086),de=o(2994),te=o(87545),ne=o(90754),v=o(98798),y=o(24254),e=o(5e3),H=o(67656),ue=o(61432),he=o(70949),ge=o(39348),fe=o(60250),Ce=o(10207),ie=o(69009),A=o(66809),D=o(72751),G=o(68566);function ve(i,a){1&i&&(e.\u0275\u0275elementStart(0,"ui-form-row",2),e.\u0275\u0275element(1,"ui-input",13)(2,"ui-input",14),e.\u0275\u0275elementEnd())}function _e(i,a){1&i&&(e.\u0275\u0275elementStart(0,"ui-form-row")(1,"label",15),e.\u0275\u0275text(2," Brokerage "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(3,"ui-brokerage-autocomplete",16),e.\u0275\u0275elementEnd())}function ye(i,a){if(1&i&&e.\u0275\u0275element(0,"ui-select",17),2&i){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("items",t.roles)}}let be=(()=>{class i{constructor(t,n,r,s){this.dialogRef=t,this.usersRepositoryService=n,this.alertDialogService=r,this.fb=s,this.pending=!1,this.permissions=ne.Y9,this.roles=ne.y9}get isCustomerPermissionSelected(){return this.form.get("permissions").value===v.Pv.CUSTOMER}ngOnInit(){this.form=this.fb.group({displayName:["",[y.$9f.required]],email:["",[y.$9f.required,y.$9f.unstrictEmailValidator]],phone:["",[y.$9f.phone]],website:"",licenseNumber:"",brokerage_obj:{},permissions:[v.Pv.CUSTOMER,[y.$9f.required]],role:null})}onSubmit(){if(!this.form.valid)return this.form.markAllAsTouched(),void this.form.markAsDirty();this.pending=!0;const t=this.getFormData();(0,pe.D)([t.phone?this.usersRepositoryService.getByQuery([["phone","==",t.phone]]):(0,O.of)([]),this.usersRepositoryService.getByQuery([["email","==",t.email]])]).pipe((0,de.b)(([n,r])=>{const s=n.length?`User with phone ${t.phone} already exists`:r.length?`User with email ${t.email} already exists`:null;if(s)return this.alertDialogService.alert({message:[s]}),void(this.pending=!1)}),(0,te.w)(([n,r])=>n.length||r.length?(0,O.of)(null):this.usersRepositoryService.create(Object.assign(Object.assign({},(0,y.Ybi)(t)),{isAnonymous:!0,referralCode:(0,y.lJ1)()})))).subscribe(n=>{n&&this.dialogRef.close(this.form.getRawValue())})}getFormData(){var t;const n=this.form.getRawValue();return n.permissions===v.Pv.CUSTOMER?delete n.role:delete n.brokerage_obj,(null===(t=n.brokerage_obj)||void 0===t?void 0:t.id)&&(n.brokerage=n.brokerage_obj.name),n}}return i.\u0275fac=function(t){return new(t||i)(e.\u0275\u0275directiveInject(c.so),e.\u0275\u0275directiveInject(l.L2p),e.\u0275\u0275directiveInject(f.CtT),e.\u0275\u0275directiveInject(u.qu))},i.\u0275cmp=e.\u0275\u0275defineComponent({type:i,selectors:[["ng-component"]],decls:21,vars:6,consts:[[3,"formGroup"],["label","Full Name*","formControlName","displayName"],[1,"grid-cols-2"],["label","Email*","formControlName","email"],["label","Phone Number","formControlName","phone",1,"block","-mt-min"],["class","grid-cols-2",4,"ngIf"],[4,"ngIf"],["size","medium","appearance","bordered","label","User Permission","formControlName","permissions",3,"items"],["size","medium","appearance","bordered","label","Role","formControlName","role",3,"items",4,"ngIf"],[1,"flex-nowrap","justify-end"],[1,"flex","flex-shrink-0"],["matDialogClose","","uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary",1,"mr-8"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","primary",3,"uiBtnLoading","click"],["formControlName","website","label","Website"],["formControlName","licenseNumber","label","License","placeholder","DRE # 8888888888"],[1,"body","pl-8","text-gray-50","mb-0"],["formControlName","brokerage_obj"],["size","medium","appearance","bordered","label","Role","formControlName","role",3,"items"]],template:function(t,n){1&t&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1,"New User"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-dialog-content")(3,"form",0)(4,"ui-form-group")(5,"ui-form-row"),e.\u0275\u0275element(6,"ui-input",1),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"ui-form-row",2),e.\u0275\u0275element(8,"ui-input",3)(9,"ui-phone-input",4),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(10,ve,3,0,"ui-form-row",5),e.\u0275\u0275template(11,_e,4,0,"ui-form-row",6),e.\u0275\u0275elementStart(12,"ui-form-row",2),e.\u0275\u0275element(13,"ui-select",7),e.\u0275\u0275template(14,ye,1,1,"ui-select",8),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(15,"mat-dialog-actions",9)(16,"div",10)(17,"button",11),e.\u0275\u0275text(18," Cancel "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(19,"button",12),e.\u0275\u0275listener("click",function(){return n.onSubmit()}),e.\u0275\u0275text(20," Save "),e.\u0275\u0275elementEnd()()()),2&t&&(e.\u0275\u0275advance(3),e.\u0275\u0275property("formGroup",n.form),e.\u0275\u0275advance(7),e.\u0275\u0275property("ngIf",n.isCustomerPermissionSelected),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",n.isCustomerPermissionSelected),e.\u0275\u0275advance(2),e.\u0275\u0275property("items",n.permissions),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!n.isCustomerPermissionSelected),e.\u0275\u0275advance(5),e.\u0275\u0275property("uiBtnLoading",n.pending))},directives:[H.A,c.xY,u._Y,u.JL,u.sg,ue.H,he.L,ge.a,u.JJ,u.u,fe.T,d.NgIf,Ce.E,ie.H,c.H8,c.ZT,A.
1s,D.V,G.T],styles:[""]}),i})(),ae=(()=>{class i{constructor(t){this.dialog=t}openDialog(){return this.dialog.open(be,{panelClass:["app-v2"],width:"600px",disableClose:!1,autoFocus:!1}).afterClosed()}}return i.\u0275fac=function(t){return new(t||i)(e.\u0275\u0275inject(c.uw))},i.\u0275prov=e.\u0275\u0275defineInjectable({token:i,factory:i.\u0275fac}),i})();var b=o(74202),S=o(70655),Se=o(94327),Q=o(591),Y=o(72986),xe=o(40537),Te=o(36053),J=o(5154),re=o(24850),se=o(40520),oe=o(44224),Ae=o(15486),k=o(84415),R=o(52395),le=o(24731);function De(i,a){if(1&i&&(e.\u0275\u0275elementStart(0,"div",9),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&i){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.invalidDataCounter," record(s) contain an invalid email ")}}function Ie(i,a){if(1&i&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275elementContainerEnd()),2&i){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" ",t.usersValidData.length," of ",t.usersFullData.length," users will be imported ")}}function Ue(i,a){if(1&i&&e.\u0275\u0275text(0),2&i){const t=e.\u0275\u0275nextContext();e.\u0275\u0275textInterpolate1(" Import ",t.usersValidData.length," users ")}}const me=["full_name","email","phone","website","license_number","brokerage","additional_contacts"];let w=class{constructor(a,t,n,r,s){this.dialogRef=a,this.appConfigService=t,this.popupService=n,this.http=r,this.data=s,this.columns=[{field:"full_name",header:"Full Name",minWidth:"180px",maxWidth:"300px"},{field:"email",header:"Email",width:"200px"},{field:"phone",header:"Phone",width:"150px"},{field:"website",header:"Website",width:"130px"},{field:"license_number",header:"License Number",width:"120px"},{field:"brokerage",header:"Brokerage",width:"120px"},{field:"additional_contacts",header:"Additional Contacts",minWidth:"200px",maxWidth:"300px"}],this.loading=!1,this.usersFullData=function Me(i,a,t="DESC"){return i.sort((n,r)=>{const s=Number(n[a]),m=Number(r[a]);return"ASC"===t?s-m:m-s})}(function Fe(i){let a=i.split("\n").map(t=>t.trim()).filter(Boolean);return function Le(i){const a=i.split(",").map(t=>t.trim());return me.every((t,n)=>t===a[n])}(a[0])&&(a=a.slice(1)),a.map(t=>{const n=t.split(",").map(r=>r.trim());return me.reduce((r,s,m)=>{var g,h;return"additional_contacts"===s?r[s]=(null!==(g=n[m])&&void 0!==g?g:"").split(/\s/).map(C=>C.trim()).filter(Boolean):"phone"===s?r[s]=function we(i){if(!i)return null;const a=i.replace(/[^0-9]/g,"").match(/^\d{10,12}$/);return a?`+${a[0]}`:null}(n[m]):"email"===s?(r[s]=n[m],r.invalid_email=!(0,Ae.Jh)(r[s])):r[s]=null!==(h=n[m])&&void 0!==h?h:null,r},{})})}(s.csv),"invalid_email"),this.usersValidData=this.usersFullData.filter(m=>!m.invalid_email),this.invalidDataCounter=this.usersFullData.length-this.usersValidData.length}submit(){return(0,S.mG)(this,void 0,void 0,function*(){this.loading=!0,this.dialogRef.disableClose=!0;try{yield this.http.post(`${this.appConfigService.coreAppUrl}/api/v1/users/import`,function Be(i,a){return i.map(t=>{const n=Object.assign({},t);return a.forEach(r=>delete n[r]),n})}(this.usersValidData,["invalid_email"])).pipe((0,Y.q)(1)).toPromise(),this.dialogRef.close(),yield this.popupService.success({title:"Users data imported successfully"})}catch(a){this.dialogRef.close(),yield this.popupService.error({title:"Error importing users data"})}finally{this.loading=!1}})}};w.\u0275fac=function(a){return new(a||w)(e.\u0275\u0275directiveInject(c.so),e.\u0275\u0275directiveInject(l._ZM),e.\u0275\u0275directiveInject(l.qLq),e.\u0275\u0275directiveInject(se.HttpClient),e.\u0275\u0275directiveInject(c.WI))},w.\u0275cmp=e.\u0275\u0275defineComponent({type:w,selectors:[["tn-import-users-dialog"]],decls:14,vars:13,consts:[[3,"allowScroll"],["autofitContainerComponent",""],[3,"columns","items","cellHighlightBaseOn","cellHighlight","itemHeight","tableHeight"],[1,"justify-end"],["class","mr-auto text-red-50",4,"ngIf"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary","uiAutofocus","",3,"matDialogClose"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","primary",3,"disabled","uiBtnLoading","click"],[4,"ngIf","ngIfElse"],["allDataValid",""],[1,"mr-auto","text-red-50"]],template:function(a,t){if(1&a&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1,"Import users data"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-dialog-content")(3,"ui-vertical-autofit-container",0,1),e.\u0275\u0275element(5,"ui-datatable",2),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"mat-dialog-actions",3),e.\u0275\u0275template(7,De,2,1,"div",4),e.\u0275\u0275elementStart(8,"button",5),e.\u0275\u0275text(9," Cancel "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"button",6),e.\u0275\u0275listener("click",function(){return t.submit()}),e.\u0275\u0275template(11,Ie,2,2,"ng-container",7),e.\u0275\u0275template(12,Ue,1,1,"ng-template",null,8,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()()),2&a){const n=e.\u0275\u0275reference(4),r=e.\u0275\u0275reference(13);e.\u0275\u0275advance(3),e.\u0275\u0275property("allowScroll",!1),e.\u0275\u0275advance(2),e.\u0275\u0275property("columns",t.columns)("items",t.usersFullData)("cellHighlightBaseOn","invali
1d_email")("cellHighlight","email")("itemHeight",40)("tableHeight",n.height),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.invalidDataCounter),e.\u0275\u0275advance(1),e.\u0275\u0275property("matDialogClose",void 0),e.\u0275\u0275advance(2),e.\u0275\u0275property("disabled",!t.usersValidData.length)("uiBtnLoading",t.loading),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.invalidDataCounter)("ngIfElse",r)}},directives:[H.A,c.xY,k.i,R.n,c.H8,d.NgIf,A.s,D.V,le.U,c.ZT,G.T],styles:["[_nghost-%COMP%]{display:flex;height:100%;flex:1 1 0%;flex-direction:column}mat-dialog-content[_ngcontent-%COMP%]{display:flex;flex:1 1 0%;flex-direction:column}"]}),w=(0,S.gn)([(0,oe.c)(),(0,S.w6)("design:paramtypes",[c.so,l._ZM,l.qLq,se.HttpClient,Object])],w);let ce=(()=>{class i{constructor(t){this.dialog=t}openDialog(t){return this.dialog.open(w,{panelClass:"app-v2",width:"100vw",height:"65vh",disableClose:!1,autoFocus:!1,data:{csv:t}}).afterClosed()}}return i.\u0275fac=function(t){return new(t||i)(e.\u0275\u0275inject(c.uw))},i.\u0275prov=e.\u0275\u0275defineInjectable({token:i,factory:i.\u0275fac}),i})();var p=(()=>{return(i=p||(p={})).ALL="all",i.AGENTS="agents",i.STAFF="staff",p;var i})();let I=(()=>{class i{constructor(t,n,r){this.algoliaSearch=t,this.cacheService=n,this.importUsersDialogService=r,this.fetchCountsSubj$=new Q.X(null),this.counts$=this.fetchCountsSubj$.pipe((0,te.w)(()=>this.fetchCounts()),(0,J.d)(1)),this.byIdCache={}}queryUsersIndex({search:t,skip:n,limit:r,showAnonymous:s},m){var g;const h={restrictSearchableAttributes:["email","displayName","phone"],attributesToRetrieve:["uid","displayName","email","phone","photoURL","brokerage_obj","role","permissions","isAnonymous"],length:r,offset:n};return m&&(h.facetFilters=[...null!=m?m:[]]),s||(h.facetFilters=[...null!==(g=h.facetFilters)&&void 0!==g?g:[],"isAnonymous:false"]),this.algoliaSearch.userIndex.search(t,h).then(C=>({results:C.hits.map(z=>Object.assign(Object.assign({},z),{uid:z.objectID})),length:C.nbHits}))}removeFromCache(t){delete this.byIdCache[t]}searchAllList(t){return this.cacheService.get({domainKey:`crm-dashboard-${p.ALL}`,fetcher:({skip:n,limit:r,search:s,showAnonymous:m})=>this.queryUsersIndex({search:s,skip:n,limit:r,showAnonymous:m}),context:t})}searchStaffList(t){const n=[],{role:r,permission:s}=t;return n.push(s&&"any"!==s?`permissions:${s}`:[`permissions:${v.Pv.CONTRACTOR}`,`permissions:${v.Pv.STAFF}`,`permissions:${v.Pv.ADMIN}`]),r&&"any"!==r&&n.push(`role:${r}`),this.cacheService.get({domainKey:`crm-dashboard-${p.STAFF}`,fetcher:({skip:m,limit:g,search:h,showAnonymous:C})=>this.queryUsersIndex({search:h,skip:m,limit:g,showAnonymous:C},n),context:t})}searchAgentsList(t){return this.cacheService.get({domainKey:`crm-dashboard-${p.AGENTS}`,fetcher:({skip:n,limit:r,search:s,showAnonymous:m})=>this.queryUsersIndex({search:s,skip:n,limit:r,showAnonymous:m},[`permissions:-${v.Pv.CONTRACTOR}`,`permissions:-${v.Pv.STAFF}`,`permissions:-${v.Pv.ADMIN}`]),context:t})}invalidateListCache(t){this.cacheService.invalidateForDomain(`crm-dashboard-${t}`)}searchList(t,n){if(0===n.pageSize)return(0,O.of)({results:[],length:0});switch(t){case p.ALL:return this.searchAllList(n);case p.AGENTS:return this.searchAgentsList(n);case p.STAFF:return this.searchStaffList(n)}return this.searchAllList(n)}loadCounts(){this.fetchCountsSubj$.next(null)}importUsers(t){return(0,S.mG)(this,void 0,void 0,function*(){return this.importUsersDialogService.openDialog(t).pipe((0,Y.q)(1)).toPromise()})}fetchCounts(){const t={skip:0,limit:1,search:"",showAnonymous:!0};return(0,Te.aj)([this.searchAllList(t),this.searchAgentsList(t),this.searchStaffList(t)]).pipe((0,re.U)(([n,r,s])=>({[p.ALL]:n.length,[p.AGENTS]:r.length,[p.STAFF]:s.length})))}}return i.\u0275fac=function(t){return new(t||i)(e.\u0275\u0275inject(l.ewU),e.\u0275\u0275inject(l.J4i),e.\u0275\u0275inject(ce))},i.\u0275prov=e.\u0275\u0275defineInjectable({token:i,factory:i.\u0275fac}),i})();var Ee=o(34467),$e=o(58242),je=o(44282),E=o(255);function ke(i,a){if(1&i&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275elementContainerEnd()),2&i){const t=e.\u0275\u0275nextContext().$implicit,n=e.\u0275\u0275nextContext();let r;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ( ",null==(r=e.\u0275\u0275pipeBind1(2,1,n.tabsCounts$))?null:r[t]," ) ")}}function Re(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"a",13),e.\u0275\u0275listener("click",function(){const s=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().goToTab(s)}),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275text(2),e.\u0275\u0275template(3,ke,3,3,"ng-container",14),e.\u0275\u0275pipe(4,"async"),e.\u0275\u0275elementEnd()}if(2&i){const t=a.$implicit,n=e.\u0275\u0275nextContext(),r=e.\u0275\u0275reference(17);let s;e.\u0275\u0275property("active",e.\u0275\u0275pipeBind1(1,4,n.activeTab$)===t),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",n.tabsLabels[t]," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==(s=e.\u0275\u0275pipeBind1(4,6,n.tabsCounts$))?null:s[t])("ngIfElse",r)}}function Ne(i,a){if(1&i&&(e.\u0275\u0275elementStart(0,"button",17,18),e.\u0275\u0275element(2,"i",19),e.\u0275\u0275text(3," Import users data "),e.\u0275\u0275elementEnd()),2&i){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}const ze=function(){return["csv"]};function Ve(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-file-input",15),e.\u0275\u0275listener("fileSelect",function(r){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onImportUsersFileSelect(r)}),e.\u0275\u0275template(1,Ne,4,1,"button",16),e.\u0275\u0275elementEnd()}if(2&i){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("multiple",!1)("allowedFileTypes",e.\u0275\u0275pureFunction0(3,ze)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.allowUsersImport)}}function Pe(i,a){1&i&&e.\u0275\u0275element(0,"mat-spinner",20),2&i&&e.\u0275\u0275property("diameter",12)}const Oe={[p.ALL]:"All",[p.AGENTS]:"Agents",[p.STAFF]:"Staff"};let He=(()=>{class i{constructor(t,n,r,s,m,g,h){this.addNewUserDialogService=t,this.dashboardFacade=n,this.appConfigService=r,this.coreAppReadApi=s,this.popupService=m,this.route=g,this.router=h,this.tabs=[p.ALL,p.AGENTS,p.STAFF],this.tabsCounts$=this.dashboardFacade.counts$,this.activeTab$=(0,y.RFC)(this.router,this.route,"agents"),this.tabsLabels=Oe,this.allowUsersImport=this.appConfigService.allowUsersImport,this.usersCsvBusy$=new Q.X(!1),this.dashboardFacade.loadCounts()}onDownloadUsersCsv(){this.usersCsvBusy$.value||(this.usersCsvBusy$.next(!0),this.coreAppReadApi.getUsersCsv().pipe((0,Y.q)(1),(0,xe.x)(()=>this.usersCsvBusy$.next(!1))).subscribe({next:t=>
1(0,Se.saveAs)(t,"users.csv"),error:()=>this.popupService.error({title:"Could not download the users CSV"})}))}goToTab(t){this.router.navigate([t],{relativeTo:this.route})}onAddNewUser(){this.addNewUserDialogService.openDialog().subscribe()}onImportUsersFileSelect(t){return(0,S.mG)(this,void 0,void 0,function*(){const n=t[0],r=yield this.readFileTextContent(n);yield this.dashboardFacade.importUsers(r)})}readFileTextContent(t){return(0,S.mG)(this,void 0,void 0,function*(){const n=new FileReader;return yield new Promise(s=>{n.onload=()=>{s(n.result)},n.readAsText(t)})})}}return i.\u0275fac=function(t){return new(t||i)(e.\u0275\u0275directiveInject(ae),e.\u0275\u0275directiveInject(I),e.\u0275\u0275directiveInject(l._ZM),e.\u0275\u0275directiveInject(l.wul),e.\u0275\u0275directiveInject(l.qLq),e.\u0275\u0275directiveInject(b.gz),e.\u0275\u0275directiveInject(b.F0))},i.\u0275cmp=e.\u0275\u0275defineComponent({type:i,selectors:[["ng-component"]],features:[e.\u0275\u0275ProvidersFeature([I])],decls:20,vars:12,consts:[[1,"w-full","pt-12","pl-24","border-solid","bg-gradient-to-b","from-white","to-gray-5","border-b-1","border-gray-15"],[1,"mb-12"],[1,"flex","justify-between"],["mat-tab-nav-bar","",1,"flex-1","mat-tab-borderless"],["mat-tab-link","",3,"active","click",4,"ngFor","ngForOf"],[1,"flex","gap-4","pr-8"],["hint","Download CSV","text","Download",3,"v2","busy","downloadRequested"],["class","flex-shrink-0",3,"multiple","allowedFileTypes","fileSelect",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","primary",3,"click"],["newUser","btnSize"],["uiIcon","add",3,"size"],["countLoaderTmpl",""],[1,"flex","flex-col","flex-1","p-24","pb-12","bg-white","lists-wrapper","w-100"],["mat-tab-link","",3,"active","click"],[4,"ngIf","ngIfElse"],[1,"flex-shrink-0",3,"multiple","allowedFileTypes","fileSelect"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary","uiFileSelectionBtn","",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary","uiFileSelectionBtn",""],["importUser","btnSize"],["uiIcon","upload",3,"size"],[3,"diameter"]],template:function(t,n){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h1",1),e.\u0275\u0275text(2,"User Management"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",2)(4,"nav",3),e.\u0275\u0275template(5,Re,5,8,"a",4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div",5)(7,"ui-download-by-link",6),e.\u0275\u0275listener("downloadRequested",function(){return n.onDownloadUsersCsv()}),e.\u0275\u0275pipe(8,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(9,Ve,2,4,"ui-file-input",7),e.\u0275\u0275pipe(10,"async"),e.\u0275\u0275pipe(11,"ablePure"),e.\u0275\u0275elementStart(12,"button",8,9),e.\u0275\u0275listener("click",function(){return n.onAddNewUser()}),e.\u0275\u0275element(14,"i",10),e.\u0275\u0275text(15," New user "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275template(16,Pe,1,1,"ng-template",null,11,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(18,"div",12),e.\u0275\u0275element(19,"router-outlet"),e.\u0275\u0275elementEnd()),2&t){const r=e.\u0275\u0275reference(13);e.\u0275\u0275advance(5),e.\u0275\u0275property("ngForOf",n.tabs),e.\u0275\u0275advance(2),e.\u0275\u0275property("v2",!0)("busy",!0===e.\u0275\u0275pipeBind1(8,5,n.usersCsvBusy$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(10,7,e.\u0275\u0275pipeBind2(11,9,"manage","User"))),e.\u0275\u0275advance(5),e.\u0275\u0275property("size",r.iconSize)}}
1,directives:[_.BU,d.NgForOf,_.Nj,d.NgIf,Ee.K,$e.Y,A.s,D.V,je.v,E.a,$.Ou,b.lC],pipes:[d.AsyncPipe,j.pb],styles:[".lists-wrapper>ng-component{display:flex;flex-direction:column;flex:1}\n"],encapsulation:2,changeDetection:0}),i})(),L=class{constructor(a,t,n,r){this.dialogRef=a,this.brokeragesService=t,this.data=n,this.callableFunctions=r,this.loading=!1}submit(){var a;return(0,S.mG)(this,void 0,void 0,function*(){const t=null!==(a=this.data.user.objectID)&&void 0!==a?a:this.data.user.uid;this.dialogRef.disableClose=!0,this.loading=!0,yield this.callableFunctions.deleteUsers([t]),this.loading=!1,this.dialogRef.close(t)})}};L.\u0275fac=function(a){return new(a||L)(e.\u0275\u0275directiveInject(c.so),e.\u0275\u0275directiveInject(I),e.\u0275\u0275directiveInject(c.WI),e.\u0275\u0275directiveInject(l.q2L))},L.\u0275cmp=e.\u0275\u0275defineComponent({type:L,selectors:[["tn-delete-user-dialog"]],features:[e.\u0275\u0275ProvidersFeature([I])],decls:16,vars:4,consts:[[1,"mb-min"],[1,"font-semibold"],[1,"justify-end"],["uiBtnSize","medium","uiBtnTheme","error","themeMode","secondary","uiAutofocus","",3,"matDialogClose"],["uiBtnSize","medium","uiBtnTheme","error","themeMode","primary",3,"uiBtnLoading","click"]],template:function(a,t){1&a&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-dialog-content")(3,"p",0),e.\u0275\u0275text(4," User id: "),e.\u0275\u0275elementStart(5,"span",1),e.\u0275\u0275text(6),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(7,"p",0),e.\u0275\u0275text(8," Account and all the user's data will be deleted from the system. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"p"),e.\u0275\u0275text(10,"This can not be undone."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(11,"mat-dialog-actions",2)(12,"button",3),e.\u0275\u0275text(13," Cancel "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"button",4),e.\u0275\u0275listener("click",function(){return t.submit()}),e.\u0275\u0275text(15," Delete User "),e.\u0275\u0275elementEnd()()),2&a&&(e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("Delete user '",t.data.user.displayName,"'?"),e.\u0275\u0275advance(5),e.\u0275\u0275textInterpolate(t.data.user.uid),e.\u0275\u0275advance(6),e.\u0275\u0275property("matDialogClose",void 0),e.\u0275\u0275advance(2),e.\u0275\u0275property("uiBtnLoading",t.loading))},directives:[H.A,c.xY,c.H8,A.s,D.V,le.U,c.ZT,G.T],encapsulation:2}),L=(0,S.gn)([(0,oe.c)(),(0,S.w6)("design:paramtypes",[c.so,I,Object,l.q2L])],L);let N=(()=>{class i{constructor(t){this.dialog=t}openDialog(t){return this.dialog.open(L,{panelClass:"app-v2",width:"512px",disableClose:!1,autoFocus:!1,data:{user:t}}).afterClosed()}}return i.\u0275fac=function(t){return new(t||i)(e.\u0275\u0275inject(c.uw))},i.\u0275prov=e.\u0275\u0275defineInjectable({token:i,factory:i.\u0275fac}),i})();var Ge=o(8929),Qe=o(7625);const Ye={displayName:{field:"displayName",header:"Name",maxWidth:"350px",minWidth:"220px"},uid:{field:"uid",header:"User ID",width:"300px",allowDeselect:!0},email:{field:"email",header:"Email",width:"260px",allowDeselect:!0},phone:{field:"phone",header:"Phone",width:"160px",allowDeselect:!0},permissions:{field:"permissions",header:"Permission",width:"150px",allowDeselect:!0},role:{field:"role",header:"Role",width:"180px",allowDeselect:!0},brokerage:{field:"brokerage",header:"Brokerage",width:"180px",allowDeselect:!0},"view-orders":{field:"view-orders",justify:"end",minWidth:"120px"},"delete-user":{field:"delete-user",justify:"end",minWidth:"120px"}},Je={[p.ALL]:["displayName","uid","email","phone","permissions","role","brokerage","view-orders","delete-user"],[p.AGENTS]:["displayName","uid","email","phone","brokerage","view-orders","delete-user"],[p.STAFF]:["displayName","uid","email","phone","permissions","role","view-orders","delete-user"]};class K{constructor(a,t,n,r,s,m,g,h,C,z,jt=["search","showAnonymous"]){this.tab=a,this.router=t,this.route=n,this.dashboardFacade=r,this.usersRepository=s,this.auth=m,this.ability=g,this.deleteUserDialogService=h,this.paramsConfig=C,this.domainKey=z,this.searchParams=jt,this.destroy$=new Ge.xQ,this.datatableColumns=function Ke(i,a){let t=Je[i];
1return a.cannot("delete","User")&&(t=t.filter(n=>"delete-user"!==n)),t.map(n=>Ye[n])}(this.tab,this.ability),this.paramsManager=new y.t3E(this.router,this.route,this.paramsConfig,this.destroy$,this.domainKey),this.currentUserUid$=this.auth.uid$,this.displayCols$=this.paramsManager.paramsStreams.cols.pipe((0,re.U)(F=>Array.from(new Set(["displayName","view-orders","delete-user",...null!=F?F:[]]))),(0,J.d)(1)),this.dataManager=new y.MMz({params$:this.paramsManager.getCombinedParams(this.searchParams),fetchDataFn:F=>this.fetchItems(F),batchSize:20},this.destroy$),this.users$=(0,y.Rzk)(this.dataManager.items$,F=>this.usersRepository.getById$(F),"uid",this.dashboardFacade.byIdCache).pipe((0,J.d)(1)),this.deletingUsers$=new Q.X([]),this.tableHeight=0}goToProfile(a){this.router.navigate([`/crm/profile/${a}/personal`])}onScrollEnd(){this.dataManager.loadMore()}onSearchChange(a){var t;this.paramsManager.setParam("search",a),null===(t=this.datatable)||void 0===t||t.scrollToStart()}goToBrokerage(a){!a||this.router.navigate([`/crm/brokerages/${a}`])}goToOrders(a){this.router.navigate(["/order-dashboard"],{queryParams:{uid:a}})}onHeightChange(a){if(this.tableHeight=a,this.datatable){const t=this.datatable.calculateItemsFitCount(this.tableHeight);this.paramsManager.setParam("pageSize",t)}}refresh(){this.dashboardFacade.invalidateListCache(this.tab),this.dataManager.refresh()}fetchItems(a){return this.dashboardFacade.searchList(this.tab,a)}deleteUser(a){return(0,S.mG)(this,void 0,void 0,function*(){this.deletingUsers$.next([a.uid]),this.deleteUserDialogService.openDialog(a).pipe((0,Qe.R)(this.destroy$)).subscribe(t=>{t&&(this.dashboardFacade.removeFromCache(a.uid),this.dashboardFacade.invalidateListCache(this.tab),this.dataManager.refresh(),this.dashboardFacade.loadCounts()),this.deletingUsers$.next([])})})}}var W=o(93531),X=o(45867),Z=o(75518),q=o(83289),We=o(32408);function Xe(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",3,4),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const r=e.\u0275\u0275nextContext();return r.mergeAccounts.emit(r.selectedUids)}),e.\u0275\u0275element(2,"i",5),e.\u0275\u0275text(3," Merge Accounts "),e.\u0275\u0275elementEnd()}if(2&i){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}let Ze=(()=>{class i{constructor(){this.mergeAccounts=new e.EventEmitter,this.showMergeAction=!0,this.selectedUids=[]}}return i.\u0275fac=function(t){return new(t||i)},i.\u0275cmp=e.\u0275\u0275defineComponent({type:i,selectors:[["tn-users-bulk-actions"]],inputs:{showMergeAction:"showMergeAction",selectedUids:"selectedUids"},outputs:{mergeAccounts:"mergeAccounts"},decls:4,vars:3,consts:[[1,"app-v2","snack-bar"],[1,"text-12"],["uiBtnSize","x-small","uiBtnTheme","main","class","uppercase ml-12 mr-12",3,"click",4,"ngIf"],["uiBtnSize","x-small","uiBtnTheme","main",1,"uppercase","ml-12","mr-12",3,"click"],["mergeAccountsButton","btnSize"],["uiIcon","group",3,"size"]],template:function(t,n){1&t&&(e.\u0275\u0275elementStart(0,"ui-snack-bar",0)(1,"span",1),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Xe,4,1,"button",2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate2(" ",n.selectedUids.length," user",n.selectedUids.length>1?"s":""," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",n.showMergeAction))},directives:[We.E,d.NgIf,A.s,D.V,E.a],styles:[".snack-bar[_ngcontent-%COMP%]{position:fixed}"],changeDetection:0}),i})();const qe=["datatable"];function et(i,a){1&i&&(e.\u0275\u0275elementStart(0,"ui-badge",17),e.\u0275\u0275text(1,"You"),e.\u0275\u0275elementEnd())}function tt(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",13),e.\u0275\u0275listener("click",function(){const s=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().goToProfile(s.uid)}),e.\u0275\u0275element(1,"ui-avatar",14),e.\u0275\u0275elementStart(2,"h4",15),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,et,2,0,"ui-badge",16),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275elementEnd()}if(2&i){const t=a.$implicit,n=e.\u0275\u0275nextContext();e.\u0275\u0275classProp("opacity-50",t.isAnonymous),e.\u0275\u0275property("matTooltip","Unregistered user")("matTooltipPosition","right")("matTooltipDisabled",!t.isAnonymous),e.\u0275\u0275advance(1),e.\u0275\u0275property("src",t.photoURL)("name",t.displayName)("email",t.email),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.displayName),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.uid===e.\u0275\u0275pipeBind1(5,10,n.currentUserUid$))}}function nt(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"h4",19),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const r=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().goToBrokerage(r.brokerage_obj.id)}),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()}if(2&i){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",null==t.brokerage_obj?null:t.brokerage_obj.name," ")}}function it(i,a){if(1&i&&e.\u0275\u0275template(0,nt,2,1,"h4",18),2&i){const t=a.$implicit;e.\u0275\u0275property("ngIf",null==t.brokerage_obj?null:t.brokerage_obj.id)}}function at(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",20),e.\u0275\u0275listener("click",function(){const s=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().goToOrders(s.uid)}),e.\u0275\u0275text(1," View orders "),e.\u0275\u0275elementEnd()}}function rt(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",22,23),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const r=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().deleteUser(r)}),e.\u0275\u0275element(2,"i",24),e.\u0275\u0275text(3," Delete "),e.\u0275\u0275elementEnd()}if(2&i){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function st(i,a){if(1&i&&(e.\u0275\u0275template(0,rt,4,1,"button",21),e.\u0275\u0275pipe(1,"async")),2&i){const t=a.$implicit,n=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngIf",t.uid!==e.\u0275\u0275pipeBind1(1,1,n.currentUserUid$))}}function ot(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-users-bulk-actions",25),e.\u0275\u0275listener("mergeAccounts",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().goToMergeAccounts()}),e.\u0275\u0275elementEnd()}if(2&i){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("selectedUids",t.selectedUids)}}const lt=function(i){return[i]};let ct=(()=>{class i extends K{constructor(t,n,r,s,m,g,h,C){super(p.AGENTS,t,n,r,s,g,C,h,[{name:"search",type:"string",defaultValue:"",saveLastValue:!0},{name:"showAnonymous",type:"boolean",defaultValue:!1,saveLastValue:!0},{name:"pageSize",type:"number",defaultValue:0,saveLastValue:!0,disableReset:!0},{name:"cols",type:"array",disableUrlSync:!0,saveLastValue:!0,defaultValue:["displayName","uid","email","role","brokerage","view-orders"]}],"crm-agents-list",["search","showAnonymous"]),this.selectedUids=[]}onSelectedUsersChange(t){this.selectedUids=t}goToMergeAccounts(){this.router.navigate(["/crm/merge-accounts"],{queryParams:{users:this.selectedUids.join(",")}})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return i.\u0275fac=function(t){return new(t||i)(e.\u0275\u0275directiveInject(b.F0),e.\u0275\u0275directiveInject(b.gz),e.\u0275\u0275directiveInject(I),e.\u0275\u0275directiveInject(l.L2p),e.\u0275\u0275directiveInject(l.q2L),e.\u0275\u0275directiveInject(l.e80),e.\u0275\u0275directiveInject(N),e.\u0275\u0275directiveInject(l.umt))},i.\u0275cmp=e.\u0275\u0275defineComponent({type:i,selectors:[["ng-component"]],viewQuery:function(t,n){if(1&t&&e.\u0275\u0275viewQuery(qe,5),2&t){let r;e.\u0275\u0275queryRefresh(r=e.\u0275\u0275loadQuery())&&(n.datatable=r.first)}},features:[e.\u0275\u0275InheritDefinitionFeature],decls:25,vars:45,consts:[[1,"flex","items-end","mb-2","h-48","mb-2"],[1,"search-users","flex","items-center","content-start","mr-16"],["placeholder","Search agents",1,"h-32","mr-2",3,"value","realtime","searchOnEnter","realtimeDebounce","search"],[3,"disableRipple","ngModel","ngModelChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["resetFilters","btnSize"],["uiIcon","close",3,"size"],[1,"pb-16","h-full","relative"],[3,"heightChange"],[3,"items","itemsCheckboxes","loading","itemsDisplayCount","trackByKey","tableHeight","notFoundText","itemHeight","appendOnly","delayRowRender","displayColumns","itemsSelectable","highlightedRows","scrollEndThreshold","allowChangeColumns","showRefreshButton","columns","itemsCheckedChange","itemsDisplayCountChange","displayColumnsChange","scrollEnd","refresh"],["datatable",""],[3,"uiDatatableCell"],[3,"selectedUids","mergeAccounts",4,"ngIf"],[1,"flex","items-center","cursor-pointer","select-none","overflow-hidden",3,"matTooltip","matTooltipPosition","matTooltipDisabled","click"],["size","small",1,"mr-2",3,"src","name","email"],[1,"text-gray-90","overflow-hidden","overflow-ellipsis"],["class","ml-2","type","black","size","sm",4,"ngIf"],["type","black","size","sm",1,"ml-2"],["class","text-gray-90 cursor-pointer",3,"click",4,"ngIf"],[1,"text-gray-90","cursor-pointer",3,"click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mr-8",3,"click"],["uiBtnSize","small","uiBtnTheme","setting","themeMode","primary",3,"click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","setting","themeMode","primary",3,"click"],["deleteUserButton","btnSize"],["uiIcon","delete",3,"size"],[3,"selectedUids","mergeAccounts"]],template:function(t,n){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"ui-search-input",2),e.\u0275\u0275listener("search",function(s){return n.onSearchChange(s)}),e.\u0275\u0275pipe(3,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"mat-slide-toggle",3),e.\u0275\u0275listener("ngModelChange",function(s){return n.paramsM
1anager.setParam("showAnonymous",s)}),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275text(6," Show unregistered users "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(7,"button",4,5),e.\u0275\u0275listener("click",function(){return n.paramsManager.resetAll()}),e.\u0275\u0275element(9,"i",6),e.\u0275\u0275text(10," Reset filters "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(11,"div",7)(12,"ui-vertical-autofit-container",8),e.\u0275\u0275listener("heightChange",function(s){return n.onHeightChange(s)}),e.\u0275\u0275elementStart(13,"ui-datatable",9,10),e.\u0275\u0275listener("itemsCheckedChange",function(s){return n.onSelectedUsersChange(s)})("itemsDisplayCountChange",function(s){return n.paramsManager.setParam("pageSize",s)})("displayColumnsChange",function(s){return n.paramsManager.setParam("cols",s)})("scrollEnd",function(){return n.onScrollEnd()})("refresh",function(){return n.refresh()}),e.\u0275\u0275pipe(15,"async"),e.\u0275\u0275pipe(16,"async"),e.\u0275\u0275pipe(17,"async"),e.\u0275\u0275pipe(18,"async"),e.\u0275\u0275pipe(19,"async"),e.\u0275\u0275template(20,tt,6,12,"ng-template",11),e.\u0275\u0275template(21,it,1,1,"ng-template",11),e.\u0275\u0275template(22,at,2,0,"ng-template",11),e.\u0275\u0275template(23,st,2,3,"ng-template",11),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(24,ot,1,1,"tn-users-bulk-actions",12)),2&t){const r=e.\u0275\u0275reference(8);e.\u0275\u0275advance(2),e.\u0275\u0275property("value",e.\u0275\u0275pipeBind1(3,29,n.paramsManager.paramsStreams.search))("realtime",!0)("searchOnEnter",!1)("realtimeDebounce",250),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",e.\u0275\u0275pipeBind1(5,31,n.paramsManager.paramsStreams.showAnonymous)),e.\u0275\u0275advance(5),e.\u0275\u0275property("size",r.iconSize),e.\u0275\u0275advance(4),e.\u0275\u0275property("items",e.\u0275\u0275pipeBind1(15,33,n.users$))("itemsCheckboxes",!0)("loading",e.\u0275\u0275pipeBind1(16,35,n.dataManager.loading$))("itemsDisplayCount",e.\u0275\u0275pipeBind1(17,37,n.paramsManager.paramsStreams.pageSize))("trackByKey","uid")("tableHeight",n.tableHeight)("notFoundText","No users found")("itemHeight",60)("appendOnly",!1)("delayRowRender",!0)("displayColumns",e.\u0275\u0275pipeBind1(18,39,n.displayCols$))("itemsSelectable",!1)("highlightedRows",e.\u0275\u0275pureFunction1(43,lt,e.\u0275\u0275pipeBind1(19,41,n.currentUserUid$)))("scrollEndThreshold",5)("allowChangeColumns",!0)("showRefreshButton",!0)("columns",n.datatableColumns),e.\u0275\u0275advance(7),e.\u0275\u0275property("uiDatatableCell","displayName"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","brokerage"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","view-orders"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","delete-user"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",n.selectedUids.length>0)}},directives:[W.J,U.Rr,u.JJ,u.On,A.s,D.V,E.a,k.i,R.n,X.Q,x.gM,Z.A,d.NgIf,q.F,Ze],pipes:[d.AsyncPipe],styles:[""],changeDetection:0}),i})();const pt=["datatable"];function dt(i,a){1&i&&(e.\u0275\u0275elementStart(0,"ui-badge",19),e.\u0275\u0275text(1,"You"),e.\u0275\u0275elementEnd())}function ut(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",15),e.\u0275\u0275listener("click",function(){const s=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().goToProfile(s.uid)}),e.\u0275\u0275element(1,"ui-avatar",16),e.\u0275\u0275elementStart(2,"h4",17),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,dt,2,0,"ui-badge",18),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275elementEnd()}if(2&i){const t=a.$implicit,n=e.\u0275\u0275nextContext();e.\u0275\u0275classProp("opacity-50",t.isAnonymous),e.\u0275\u0275property("matTooltip","Unregistered user")("matTooltipPosition","right")("matTooltipDisabled",!t.isAnonymous),e.\u0275\u0275advance(1),e.\u0275\u0275property("src",t.photoURL)("name",t.displayName)("email",t.email),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.displayName),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.uid===e.\u0275\u0275pipeBind1(5,10,n.currentUserUid$))}}function ht(i,a){if(1&i&&(e.\u0275\u0275elementStart(0,"ui-badge",20),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&i){const t=a.$implicit;let n;e.\u0275\u0275property("type","default"),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(null!==(n=t.permissions)&&void 0!==n?n:"Customer")}}function gt(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",21),e.\u0275\u0275listener("click",function(){const s=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().goToOrders(s.uid)}),e.\u0275\u0275text(1," View orders "),e.\u0275\u0275elementEnd()}}function ft(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",23,24),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const r=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().deleteUser(r)}),e.\u0275\u0275element(2,"i",25),e.\u0275\u0275text(3," Delete "),e.\u0275\u0275elementEnd()}if(2&i){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function Ct(i,a){if(1&i&&(e.\u0275\u0275template(0,ft,4,1,"button",22),e.\u0275\u0275pipe(1,"async")),2&i){const t=a.$implicit,n=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngIf",t.uid!==e.\u0275\u0275pipeBind1(1,1,n.currentUserUid$))}}const vt=function(i){return[i]};let yt=(()=>{class i extends K{constructor(t,n,r,s,m,g,h){super(p.STAFF,t,n,r,s,m,g,h,[{name:"search",type:"string",defaultValue:"",saveLastValue:!0},{name:"showAnonymous",type:"boolean",defaultValue:!1,saveLastValue:!0},{name:"permission",type:"string",defaultValue:"any",saveLastValue:!0},{name:"role",type:"string",defaultValue:"any",saveLastValue:!0},{name:"pageSize",type:"number",defaultValue:0,saveLastValue:!0,disableReset:!0},{name:"cols",type:"array",disableUrlSync:!0,saveLastValue:!0,defaultValue:["displayName","uid","email","permissions","role","brokerage","view-orders"]}],"crm-staff-list",["search","showAnonymous","role","permission"]),this.rolesOptions=[{value:"any",name:"Any"},...Object.values(v.i4).map(C=>({value:C,name:C}))],this.permissionsOptions=[{value:"any",name:"Any"},{name:"Staff",value:v.Pv.STAFF},{name:"Admin",value:v.Pv.ADMIN},{name:"Contractor",value:v.Pv.CONTRACTOR}]}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return i.\u0275fac=function(t){return new(t||i)(e.\u0275\u0275directiveInject(b.F0),e.\u0275\u0275directiveInject(b.gz),e.\u0275\u0275directiveInject(I),e.\u0275\u0275directiveInject(l.L2p),e.\u0275\u0275directiveInject(l.e80),e.\u0275\u0275directiveInject(l.umt),e.\u0275\u0275directiveInject(N))},i.\u0275cmp=e.\u0275\u0275defineComponent({type:i,selectors:[["ng-component"]],viewQuery:function(t,n){if(1&t&&e.\u0275\u0275viewQuery(pt,5),2&t){let r;e.\u0275\u0275queryRefresh(r=e.\u0275\u0275loadQuery())&&(n.datatable=r.first)}},features:[e.\u0275\u0275InheritDefinitionFeature],decls:29,vars:52,consts:[[1,"flex","items-end","mb-2","h-48"],[1,"flex","items-end","h-48","mr-16","-mt-4"],[1,"search-users","flex","content-start","items-center","mr-16"],["placeholder","Search staff",1,"h-32","mr-2",3,"value","realtime","searchOnEnter","realtimeDebounce","search"],[3,"disableRipple","ngModel","ngModelChange"],["label","Role","size","medium","appearance","bordered",1,"filter-select","mr-2",3,"items","ngModel","ngModelChange"],["label","Permission","size","medium","appearance","bordered",1,"filter-select",3,"items","ngModel","ngModelChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["resetFilters","btnSize"],["uiIcon","close",3,"size"],[1,"pb-16","h-full","relative"],[3,"heightChange"],[3,"items","loading","itemsDisplayCount","trackByKey","tableHeight","notFoundText","itemHeight","appendOnly","delayRowRender","displayColumns","itemsCheckboxes","itemsSelectable","scrollEndThreshold","allowChangeColumns","showRefreshButton","highlightedRows","columns","itemsDisplayCountChange","displayColumnsChange","scrollEnd","refresh"],["datatable",""],[3,"uiDatatableCell"],[1,"flex","items-center","cursor-pointer","select-none","overflow-hidden",3,"matTooltip","matTooltipPosition","matTooltipDisabled","click"],["size","small",1,"mr-2",3,"src","name","email"],[1,"text-gray-90","overflow-hidden","overflow-ellipsis"],["class","ml-2","type","black","size","sm",4,"ngIf"],["type","black","size","sm",1,"ml-2"],[3,"type"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mr-8",3,"click"],["uiBtnSize","small","uiBtnTheme","setting","themeMode","primary",3,"click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","setting","themeMode","primary",3,"click"],["deleteUserButton","btnSize"],["uiIcon","delete",3,"size"]],template:function(t,n){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2)(3,"ui-search-input",3),e.\u0275\u0275listener("search",function(s){return n.onSearchChange(s)}),e.\u0275\u0275pipe(4,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"mat-slide-toggle",4),e.\u0275\u0275listener("ngModelChange",function(s){return n.paramsM
1anager.setParam("showAnonymous",s)}),e.\u0275\u0275pipe(6,"async"),e.\u0275\u0275text(7," Show unregistered users "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"ui-select",5),e.\u0275\u0275listener("ngModelChange",function(s){return n.paramsManager.setParam("role",s)}),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"ui-select",6),e.\u0275\u0275listener("ngModelChange",function(s){return n.paramsManager.setParam("permission",s)}),e.\u0275\u0275pipe(11,"async"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"button",7,8),e.\u0275\u0275listener("click",function(){return n.paramsManager.resetAll()}),e.\u0275\u0275element(14,"i",9),e.\u0275\u0275text(15," Reset filters "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(16,"div",10)(17,"ui-vertical-autofit-container",11),e.\u0275\u0275listener("heightChange",function(s){return n.onHeightChange(s)}),e.\u0275\u0275elementStart(18,"ui-datatable",12,13),e.\u0275\u0275listener("itemsDisplayCountChange",function(s){return n.paramsManager.setParam("pageSize",s)})("displayColumnsChange",function(s){return n.paramsManager.setParam("cols",s)})("scrollEnd",function(){return n.onScrollEnd()})("refresh",function(){return n.refresh()}),e.\u0275\u0275pipe(20,"async"),e.\u0275\u0275pipe(21,"async"),e.\u0275\u0275pipe(22,"async"),e.\u0275\u0275pipe(23,"async"),e.\u0275\u0275pipe(24,"async"),e.\u0275\u0275template(25,ut,6,12,"ng-template",14),e.\u0275\u0275template(26,ht,2,2,"ng-template",14),e.\u0275\u0275template(27,gt,2,0,"ng-template",14),e.\u0275\u0275template(28,Ct,2,3,"ng-template",14),e.\u0275\u0275elementEnd()()()),2&t){const r=e.\u0275\u0275reference(13);e.\u0275\u0275advance(3),e.\u0275\u0275property("value",e.\u0275\u0275pipeBind1(4,32,n.paramsManager.paramsStreams.search))("realtime",!0)("searchOnEnter",!1)("realtimeDebounce",250),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",e.\u0275\u0275pipeBind1(6,34,n.paramsManager.paramsStreams.showAnonymous)),e.\u0275\u0275advance(3),e.\u0275\u0275property("items",n.rolesOptions)("ngModel",e.\u0275\u0275pipeBind1(9,36,n.paramsManager.paramsStreams.role)),e.\u0275\u0275advance(2),e.\u0275\u0275property("items",n.permissionsOptions)("ngModel",e.\u0275\u0275pipeBind1(11,38,n.paramsManager.paramsStreams.permission)),e.\u0275\u0275advance(4),e.\u0275\u0275property("size",r.iconSize),e.\u0275\u0275advance(4),e.\u0275\u0275property("items",e.\u0275\u0275pipeBind1(20,40,n.users$))("loading",e.\u0275\u0275pipeBind1(21,42,n.dataManager.loading$))("itemsDisplayCount",e.\u0275\u0275pipeBind1(22,44,n.paramsManager.paramsStreams.pageSize))("trackByKey","uid")("tableHeight",n.tableHeight)("notFoundText","No users found")("itemHeight",60)("appendOnly",!1)("delayRowRender",!0)("displayColumns",e.\u0275\u0275pipeBind1(23,46,n.displayCols$))("itemsCheckboxes",!1)("itemsSelectable",!1)("scrollEndThreshold",5)("allowChangeColumns",!0)("showRefreshButton",!0)("highlightedRows",e.\u0275\u0275pureFunction1(50,vt,e.\u0275\u0275pipeBind1(24,48,n.currentUserUid$)))("columns",n.datatableColumns),e.\u0275\u0275advance(7),e.\u0275\u0275property("uiDatatableCell","displayName"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","permissions"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","view-orders"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","delete-user")}},directives:[W.J,U.Rr,u.JJ,u.On,ie.H,A.s,D.V,E.a,k.i,R.n,X.Q,x.gM,Z.A,d.NgIf,q.F],pipes:[d.AsyncPipe],styles:[".filter-select[_ngcontent-%COMP%]{--ui-select-field-height: 32px}"],changeDetection:0}),i})();const bt=["datatable"];function St(i,a){1&i&&(e.\u0275\u0275elementStart(0,"ui-badge",16),e.\u0275\u0275text(1,"You"),e.\u0275\u0275elementEnd())}function xt(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",12),e.\u0275\u0275listener("click",function(){const s=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().goToProfile(s.uid)}),e.\u0275\u0275element(1,"ui-avatar",13),e.\u0275\u0275elementStart(2,"h4",14),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,St,2,0,"ui-badge",15),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275elementEnd()}if(2&i){const t=a.$implicit,n=e.\u0275\u0275nextContext();e.\u0275\u0275classProp("opacity-50",t.isAnonymous),e.\u0275\u0275property("matTooltip","Unregistered user")("matTooltipPosition","right")("matTooltipDisabled",!t.isAnonymous),e.\u0275\u0275advance(1),e.\u0275\u0275property("src",t.photoURL)("name",t.displayName)("email",t.email),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.displayName),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.uid===e.\u0275\u0275pipeBind1(5,10,n.currentUserUid$))}}function Tt(i,a){if(1&i&&(e.\u0275\u0275elementStart(0,"ui-badge",17),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&i){const t=a.$implicit;let n;e.\u0275\u0275property("type","default"),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(null!==(n=t.permissions)&&void 0!==n?n:"Customer")}}function At(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"h4",19),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const r=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().goToBrokerage(r.brokerage_obj.id)}),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()}if(2&i){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",null==t.brokerage_obj?null:t.brokerage_obj.name," ")}}function Dt(i,a){if(1&i&&e.\u0275\u0275template(0,At,2,1,"h4",18),2&i){const t=a.$implicit;e.\u0275\u0275property("ngIf",null==t.brokerage_obj?null:t.brokerage_obj.id)}}function It(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",20),e.\u0275\u0275listener("click",function(){const s=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().goToOrders(s.uid)}),e.\u0275\u0275text(1," View orders "),e.\u0275\u0275elementEnd()}}function Ut(i,a){if(1&i){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",22,23),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const r=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().deleteUser(r)}),e.\u0275\u0275element(2,"i",24),e.\u0275\u0275text(3," Delete "),e.\u0275\u0275elementEnd()}if(2&i){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function wt(i,a){if(1&i&&(e.\u0275\u0275template(0,Ut,4,1,"button",21),e.\u0275\u0275pipe(1,"async")),2&i){const t=a.$implicit,n=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngIf",t.uid!==e.\u0275\u0275pipeBind1(1,1,n.currentUserUid$))}}const Lt=function(){return[]},Ft=function(i){return[i]},Bt=[{path:"",component:He,children:[{path:"all",component:(()=>{class i extends K{constructor(t,n,r,s,m,g,h,C){super(p.ALL,t,n,r,s,g,C,h,[{name:"search",type:"string",defaultValue:"",saveLastValue:!0},{name:"showAnonymous",type:"boolean",defaultValue:!1,saveLastValue:!0},{name:"pageSize",type:"number",defaultValue:0,saveLastValue:!0,disableReset:!0},{name:"cols",type:"array",disableUrlSync:!0,saveLastValue:!0,defaultValue:["displayName","uid","email","permissions","brokerage","view-orders","delete-user"]}],"crm-all-list")}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}return i.\u0275fac=function(t){return new(t||i)(e.\u0275\u0275directiveInject(b.F0),e.\u0275\u0275directiveInject(b.gz),e.\u0275\u0275directiveInject(I),e.\u0275\u0275directiveInject(l.L2p),e.\u0275\u0275directiveInject(l.q2L),e.\u0275\u0275directiveInject(l.e80),e.\u0275\u0275directiveInject(N),e.\u0275\u0275directiveInject(l.umt))},i.\u0275cmp=e.\u0275\u0275defineComponent({type:i,selectors:[["ng-component"]],viewQuery:function(t,n){if(1&t&&e.\u0275\u0275viewQuery(bt,5),2&t){let r;e.\u0275\u0275queryRefresh(r=e.\u0275\u0275loadQuery())&&(n.datatable=r.first)}},features:[e.\u0275\u0275InheritDefinitionFeature],decls:26,vars:50,consts:[[1,"flex","items-end","mb-2","h-48","mb-2"],[1,"search-users","flex","items-center","content-start","mr-16"],["placeholder","Search users",1,"h-32","mr-2",3,"value","realtime","searchOnEnter","realtimeDebounce","search"],[3,"disableRipple","ngModel","ngModelChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["resetFilters","btnSize"],["uiIcon","close",3,"size"],[1,"pb-16","h-full","relative"],[3,"heightChange"],[3,"items","loading","itemsDisplayCount","trackByKey","tableHeight","notFoundText","itemHeight","appendOnly","delayRowRender","displayColumns","itemsCheckboxes","itemsSelectable","scrollEndThreshold","allowChangeColumns","highlightDeletedRows","savingEdits","highlightedRows","showRefreshButton","columns","itemsDisplayCountChange","displayColumnsChange","scrollEnd","refresh"],["datatable",""],[3,"uiDatatableCell"],[1,"flex","items-center","cursor-pointer","select-none","overflow-hidden",3,"matTooltip","matTooltipPosition","matTooltipDisabled","click"],["size","small",1,"mr-2",3,"src","name","email"],[1,"text-gray-90","overflow-hidden","overflow-ellipsis"],["class","ml-2","type","black","size","sm",4,"ngIf"],["type","black","size","sm",1,"ml-2"],[3,"type"],["class","text-gray-90 cursor-pointer",3,"click",4,"ngIf"],[1,"text-gray-90","cursor-pointer",3,"click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mr-8",3,"click"],["uiBtnSize","small","uiBtnTheme","setting","themeMode","primary",3,"click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","setting","themeMode","primary",3,"click"],["deleteUserButton","btnSize"],["uiIcon","delete",3,"size"]],template:function(t,n){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"ui-search-input",2),e.\u0275\u0275listener("search",function(s){return n.onSearchChange(s)}),e.\u0275\u0275pipe(3,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"mat-slide-toggle",3),e.\u0275\u0275listener("ngModelChange",function(s){return n.paramsM
1anager.setParam("showAnonymous",s)}),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275text(6," Show unregistered users "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(7,"button",4,5),e.\u0275\u0275listener("click",function(){return n.paramsManager.resetAll()}),e.\u0275\u0275element(9,"i",6),e.\u0275\u0275text(10," Reset filters "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(11,"div",7)(12,"ui-vertical-autofit-container",8),e.\u0275\u0275listener("heightChange",function(s){return n.onHeightChange(s)}),e.\u0275\u0275elementStart(13,"ui-datatable",9,10),e.\u0275\u0275listener("itemsDisplayCountChange",function(s){return n.paramsManager.setParam("pageSize",s)})("displayColumnsChange",function(s){return n.paramsManager.setParam("cols",s)})("scrollEnd",function(){return n.onScrollEnd()})("refresh",function(){return n.refresh()}),e.\u0275\u0275pipe(15,"async"),e.\u0275\u0275pipe(16,"async"),e.\u0275\u0275pipe(17,"async"),e.\u0275\u0275pipe(18,"async"),e.\u0275\u0275pipe(19,"async"),e.\u0275\u0275pipe(20,"async"),e.\u0275\u0275template(21,xt,6,12,"ng-template",11),e.\u0275\u0275template(22,Tt,2,2,"ng-template",11),e.\u0275\u0275template(23,Dt,1,1,"ng-template",11),e.\u0275\u0275template(24,It,2,0,"ng-template",11),e.\u0275\u0275template(25,wt,2,3,"ng-template",11),e.\u0275\u0275elementEnd()()()),2&t){const r=e.\u0275\u0275reference(8);let s;e.\u0275\u0275advance(2),e.\u0275\u0275property("value",e.\u0275\u0275pipeBind1(3,31,n.paramsManager.paramsStreams.search))("realtime",!0)("searchOnEnter",!1)("realtimeDebounce",250),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!1)("ngModel",e.\u0275\u0275pipeBind1(5,33,n.paramsManager.paramsStreams.showAnonymous)),e.\u0275\u0275advance(5),e.\u0275\u0275property("size",r.iconSize),e.\u0275\u0275advance(4),e.\u0275\u0275property("items",e.\u0275\u0275pipeBind1(15,35,n.users$))("loading",e.\u0275\u0275pipeBind1(16,37,n.dataManager.loading$))("itemsDisplayCount",e.\u0275\u0275pipeBind1(17,39,n.paramsManager.paramsStreams.pageSize))("trackByKey","uid")("tableHeight",n.tableHeight)("notFoundText","No users found")("itemHeight",60)("appendOnly",!1)("delayRowRender",!0)("displayColumns",e.\u0275\u0275pipeBind1(18,41,n.displayCols$))("itemsCheckboxes",!1)("itemsSelectable",!1)("scrollEndThreshold",5)("allowChangeColumns",!0)("highlightDeletedRows",null!==(s=e.\u0275\u0275pipeBind1(19,43,n.deletingUsers$))&&void 0!==s?s:e.\u0275\u0275pureFunction0(47,Lt))("savingEdits",!0)("highlightedRows",e.\u0275\u0275pureFunction1(48,Ft,e.\u0275\u0275pipeBind1(20,45,n.currentUserUid$)))("showRefreshButton",!0)("columns",n.datatableColumns),e.\u0275\u0275advance(8),e.\u0275\u0275property("uiDatatableCell","displayName"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","permissions"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","brokerage"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","view-orders"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","delete-user")}},directives:[W.J,U.Rr,u.JJ,u.On,A.s,D.V,E.a,k.i,R.n,X.Q,x.gM,Z.A,d.NgIf,q.F],pipes:[d.AsyncPipe],styles:[""],changeDetection:0}),i})()},{path:"agents",component:ct},{path:"staff",component:yt},{path:"**",redirectTo:"all"}]},{path:"**",redirectTo:""}];let Et=(()=>{class i{}return i.\u0275fac=function(t){return new(t||i)},i.\u0275mod=e.\u0275\u0275defineNgModule({type:i}),i.\u0275inj=e.\u0275\u0275defineInjector({imports:[[b.Bz.forChild(Bt)],b.Bz]}),i})(),$t=(()=>{class i{}return i.\u0275fac=function(t){return new(t||i)},i.\u0275mod=e.\u0275\u0275defineNgModule({type:i}),i.\u0275inj=e.\u0275\u0275defineInjector({providers:[N,ce,ae],imports:[[d.CommonModule,u.UX,j.Dx,Et,B.E,f.FxY,f.gPf,f.Anc,u.u5,f.xq7,T.Tx,f.FqG,f.QX1,f.IGp,V.TU,f.w$n,f.J42,$.Cq,_.Nh,f.TXv,U.rP,x.AV,c.Is,f.eYi,l.B2M,P.aw,f.ejP,f.YoW]]}),i})()},25752:(ee,M,o)=>{o.d(M,{E:()=>j,t:()=>P});var d=o(69808),u=o(93075),c=o(77446),T=o(48966),V=o(25245),$=o(20773),U=o(79814),_=o(96410),x=o(5e3);let j=(()=>{class l{}return l.\u0275fac=function(f){return new(f||l)},l.\u0275mod=x.\u0275\u0275defineNgModule({type:l}),l.\u0275inj=x.\u0275\u0275defineInjector({imports:[[d.CommonModule,_.Ybw,_.QX1,_.FqG,T.Is,U.Fk,u.u5,_.Phw,_.FxY,u.UX,V.Ps,c.p9,$.Cq],T.Is]}),l})(),P=(()=>{class l{}return l.\u0275fac=function(f){return new(f||l)},l.\u0275mod=x.\u0275\u0275defineNgModule({type:l}),l.\u0275inj=x.\u0275\u0275defineInjector({imports:[[d.CommonModule,_.QX1,_.FqG,T.Is,U.Fk,u.u5,_.Phw]]}),l})()}}]);

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.