PageSourceSearch

https://popt.ai/chunk-3ZNRGRBA.js

js popt.ai collected 2026-10-05 15:24:30 UTC 13,835 bytes, 2 lines download raw bytes

1import{a as oe}from"./chunk-4XDO3UQY.js";import{a as te}from"./chunk-XXZW7RV2.js";import"./chunk-ALVN7FPO.js";import"./chunk-2DWSZAYQ.js";import{a as re}from"./chunk-XJSEU3P6.js";import{a as ie}from"./chunk-U64IH2LQ.js";import"./chunk-S3CKJIQL.js";import{B as Y,C as G,c as W,e as q,i as V,j as K}from"./chunk-DY2KAJ73.js";import{b as ee}from"./chunk-KJFPZW4O.js";import{a as Z}from"./chunk-3TTYIGZ6.js";import{j as N,k as U}from"./chunk-NPGC4NPZ.js";import{E as C,G as w,Gb as b,H as M,Hb as n,Ib as a,Jb as p,P as T,Qb as R,Sb as c,Ua as D,Ub as O,Uc as x,Va as A,Wa as s,ac as S,bc as h,cd as H,dc as l,eb as u,ec as P,f as j,fa as L,fc as f,ga as k,ic as B,jb as I,jc as $,kc as z,ob as E,pd as J,qd as Q,rd as X,wa as F}from"./chunk-6GUWJETO.js";import{a as _,b as y}from"./chunk-66YHNWRR.js";function ne(m,e){if(m&1){let i=R();n(0,"div",15),c("click",function(){let o=L(i).$implicit,r=O();return k(r.selectBudget(o.value))}),l(1),a()}if(m&2){let i=e.$implicit;s(),f(" ",i.label," ")}}var se=class m{constructor(e,i,t,o,r,d,g,v){this._dataServices=e;this._auth=i;this.elRef=t;this.toast=o;this.router=r;this.platform=d;this.modalService=g;this.tourService=v}destroy$=new j;searchSubject=new j;activeTab="active";isFilterDropdownOpen=!1;isMobile=!1;isMobileLoading=!1;activeMenuProjectId=null;displayedProjects=[];userData;openDropdown=null;activeStatusFilter="Active";searchControl=new V("");searchTerm="";selectedBudget="";budgetRanges=[{label:"Below \u20B950 Lac",value:"0-5000000"},{label:"\u20B950 Lac - \u20B91 Cr",value:"5000000-10000000"},{label:"\u20B91 Cr - \u20B92 Cr",value:"10000000-20000000"},{label:"Above \u20B92 Cr",value:"20000000+"}];currentPage=1;pageSize=12;totalActiveCount=0;totalPendingCount=0;totalCompletedCount=0;hasMore=!0;isLoading=!1;filterPayload={projectType:"",availability:"",priceRange:"",keyword:""};statusCount={Active:0,Pending:0,Completed:0};imgUrl=Q.Image_Base;projectRequest=[];currentStep=0;currentTour="";ngOnInit(){this.tourService.step$.subscribe(e=>{this.currentStep=e}),this.tourService.tour$.subscribe(e=>{this.currentTour=e}),this.platform.isBrowser&&(this.isMobile=window.innerWidth<=767,this._auth.getUserData().pipe(w(1)).subscribe(e=>{this.userData=e,this.resetAndLoad(),this.getTourProgress()})),this.getProjectRequest(),this.searchSubject.pipe(C(500),M(),T(this.destroy$)).subscribe(()=>{this.currentPage=1,this.loadProjects()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}onResize(){if(!this.platform.isBrowser)return;let e=this.isMobile;this.isMobile=window.innerWidth<=767,e!==this.isMobile&&(this.currentPage=1,this.displayedProjects=[],this.hasMore=!0,this.loadProjects())}get shimmerItems(){return Array(this.pageSize).fill(0)}getTotalStatusCount(){return(this.statusCount.Active||0)+(this.statusCount.Pending||0)+(this.statusCount.Completed||0)}getTotalCountForActiveTab(){switch(this.activeTab){case"active":return this.totalActiveCount;case"pending":return this.totalPendingCount;case"completed":return this.totalCompletedCount;default:return 0}}getActiveStatusLabel(){return`${this.activeStatusFilter} (${this.statusCount[this.activeStatusFilter]||0})`}get totalPublicCount(){switch(this.activeTab){case"active":return this.totalActiveCount;case"pending":return this.totalPendingCount;case"completed":return this.totalCompletedCount;default:return 0}}get isFilterApplied(){return Object.values(this.filterPayload).some(e=>!!e)||!!this.searchTerm.trim()}resetAndLoad(){this.currentPage=1,this.displayedProjects=[],this.hasMore=!0,this.loadProjects()}onPageChange(e){this.currentPage=e,this.loadProjects(),this.platform.isBrowser&&window.scrollTo({top:0,behavior:"smooth"}),console.log("\u{1F4C4} Page changed:",e,"| Mode:",this.isMobile?"MOBILE":"DESKTOP")}onScrollDown(){if(console.log("\u{1F4DC} Scroll triggered:",{isMobile:this.isMobile,isMobileLoading:this.isMobileLoading,hasMore:this.hasMore}),!this.isMobile||this.isMobileLoading||!this.hasMore){console.log("\u23ED\uFE0F Scroll blocked");return}console.log("\u2B07\uFE0F Loading next page:",this.currentPage+1),this.currentPage++,this.loadProjects(!0)}onStatusFilter(e){this.activeStatusFilter=e,this.activeTab=e.toLowerCase(),this.isFilterDropdownOpen=!1,this.openDropdown=null,this.currentPage=1,this.hasMore=!0,this.loadProjects()}toggleDropdown(e){this.openDropdown=this.openDropdown===e?null:e}selectBudget(e){this.selectedBudget=this.budgetRanges.find(i=>i.value===e)?.label||"",this.filterPayload.priceRange=e,this.openDropdown=null,this.applyFilter()}loadProjects(e=!1){e?this.isMobileLoading=!0:this.isLoading=!0;let i={};for(let r in this.filterPayload){let d=this.filterPayload[r];d&&(i[r]=d)}let t=this.activeStatusFilter,o=`mobile/builder/agent-project-list?currentPage=${this.currentPage}&pageSize=${this.pageSize}`;t&&(o+=`&status=${encodeURIComponent(t)}`),console.log("\u{1F4E1} Loading projects:",{url:o,currentPage:this.currentPage,append:e,tab:this.activeTab,mode:this.isMobile?"MOBILE":"DESKTOP"}),this._dataServices.callAPI("post",i,o).subscribe({next:r=>{if(console.log("\u2705 Projects loaded:",{count:r.data?.projects?.length,totalCount:r.data?.totalCount}),this.isLoading=!1,this.isMobileLoading=!1,r?.data?.projects&&Array.isArray(r.data.projects)){let d=r.data.projects.map(g=>(g.banner?.length&&(g.banner=g.banner.map(v=>y(_({},v),{url:v.url.startsWith("http")?v.url:this.imgUrl+v.url}))),g));switch(this.displayedProjects=e?[...this.displayedProjects,...d]:d,this.activeTab){case"active":this.totalActiveCount=r.data.statusCounts?.active||0;break;
1case"pending":this.totalPendingCount=r.data.statusCounts?.pending||0;break;case"completed":this.totalCompletedCount=r.data.statusCounts?.completed||0;break}this.statusCount={Active:r.data.statusCounts?.active||0,Pending:r.data.statusCounts?.pending||0,Completed:r.data.statusCounts?.completed||0},e?this.hasMore=d.length===this.pageSize:this.hasMore=this.displayedProjects.length<this.getTotalCountForActiveTab(),console.log("\u{1F4CA} Updated state:",{currentPage:this.currentPage,accumulated:this.displayedProjects.length,totalCount:this.getTotalCountForActiveTab(),hasMore:this.hasMore})}},error:r=>{console.error("\u274C Error loading projects:",r),this.isLoading=!1,this.isMobileLoading=!1,this.toast.toast(r.error?.message||"Failed to load projects","error")}})}onTabChange(e){console.log("\u{1F504} Tab changed:",e),this.activeTab=e,this.resetFilter(),this.resetAndLoad()}onFilterChange(e,i){let t=e.target;this.filterPayload[i]=t.value}onFilterChangeForDesktop(e,i){let t=e.target;this.filterPayload[i]=t.value,this.applyFilter()}onSearchChange(e){this.searchTerm=e,this.filterPayload.keyword=e,this.currentPage=1,this.searchSubject.next(e)}applyFilter(){this.currentPage=1,this.displayedProjects=[],this.hasMore=!0,this.loadProjects(),this.isFilterDropdownOpen=!1}resetFilter(){this.filterPayload={projectType:"",availability:"",priceRange:"",keyword:""},this.searchTerm="",this.selectedBudget="",this.openDropdown=null,this.isFilterDropdownOpen=!1,this.currentPage=1,this.displayedProjects=[],this.hasMore=!0,this.loadProjects()}get canReset(){return!!(this.filterPayload.projectType||this.filterPayload.availability||this.filterPayload.priceRange||this.filterPayload.keyword)}toggleFilterDropdown(){this.isFilterDropdownOpen=!this.isFilterDropdownOpen}onDocumentClick(e){let i=e.target,t=this.elRef.nativeElement.querySelector(".mobile-selectboxes")?.contains(i),o=i.closest(".mobile-filterbtn"),r=i.closest(".project-action-menu"),d=i.closest(".project-action-toggle");e.target.closest(".select-dropdown")||(this.openDropdown=null),!r&&!d&&(this.activeMenuProjectId=null)}getProjectRequest(){this._dataServices.callAPI("get",{},"mobile/builder/agentprojectRequest").subscribe({next:e=>{this.projectRequest=e?.data?.agents||[]},error:e=>{this.toast.toast(e.error?.message,void 0,!0)}})}getActionType(){switch(this.activeStatusFilter){case"Active":return"active";case"Pending":return"pending";case"Completed":return"completed";default:return"active"}}toggleStatus(e,i){this._dataServices.callAPI("put",{_id:e,tableName:"ProjectsModel",status:i},"common/status/new").subscribe({next:()=>{this.toast.toast(`Successfully marked as ${i}`),this.activeMenuProjectId=null,this.resetAndLoad()},error:()=>{this.toast.toast("Something went wrong!")}})}toggleActionMenu(e,i){i.stopPropagation(),this.activeMenuProjectId=this.activeMenuProjectId===e?null:e}editProject(e){this.activeMenuProjectId=null,this.router.navigate([`/dashboard/update-project/${e}`])}onViewDetails(e){this.router.navigate(["/project-details",e])}onClickProjectImage(e){this.platform.runInBrowser(()=>{let i=`/project/${e}`;window.open(i,"_blank")})}getTourProgress(){if(this.tourService.currentTour==="projectList"){let e=this.tourService.currentStep;setTimeout(()=>{e<=1?(this.tourService.setStep(1),this.modalService.open("project-overview")):e===2&&(this.tourService.setStep(2),this.modalService.open("project-overview2"))},300);return}this.tourService.currentTour&&this.tourService.setTour(""),this._dataServices.callAPI("get",{},"mobile/user-tour/check-user-progress").subscribe({next:e=>{let i=e?.data?.projectList;if(!i?.completed){let t=i?.currentStep||0;setTimeout(()=>{this.tourService.setTour("projectList"),t<=1?(this.tourService.setStep(1),this.tourService.updateProgress("projectList",1,!1).subscribe(),this.modalService.open("project-overview")):t===2&&(this.tourService.setStep(2),this.modalService.open("project-overview2"))},300);return}}})}static \u0275fac=function(i){return new(i||m)(u(X),u(ee),u(F),u(J),u(N),u(Z),u(re),u(ie))};static \u0275cmp=I({type:m,selectors:[["app-project-list"]],hostBindings:function(i,t){i&1&&c("resize",function(){return t.onResize()},D)("click",function(r){return t.onDocumentClick(r)}
1,A)},decls:41,vars:30,consts:[[1,"app-breadcrumb-main"],[1,"app-title"],[1,"breadcrumb-btns","properties-breadcrumb-btns","myprojects-breadcrumb"],[1,"reset_btn","d-md-inline-block","d-none",3,"click","disabled"],[1,"fa","fa-refresh"],["type","search","placeholder","Search projects by city, type and name",1,"header-common-search","form-control",3,"ngModelChange","ngModel"],[1,"status-dropdown","select-dropdown","position-relative"],[1,"custom-chip","custom-dropdown-btn",3,"click"],[1,"select-arrow"],["src","./assets/icons/property-details/select-arrow.svg","alt","icon"],[1,"custom-dropdown-menu"],[1,"custom-dropdown-item","text-success",3,"click"],[1,"count"],[1,"custom-dropdown-item","text-warning",3,"click"],[1,"custom-dropdown-item","text-danger",3,"click"],[1,"custom-dropdown-item",3,"click"],["class","custom-dropdown-item",3,"click",4,"ngFor","ngForOf"],["href","javascript:void(0)","routerLink","/dashboard/project/add",1,"fw-semibold","btn","btn-primary"],[1,"ri-add-line"],[1,"project-manage-list"],["className","col-12 col-lg-6 col-xl-4 col-xxl-3","fromPage","my-projects",3,"loadMore","pageChanged","statusChanged","projects","loading","totalCount","currentPage","pageSize","hasMore","userData","isMobile"],["modalId","project-overview"]],template:function(i,t){i&1&&(n(0,"div",0)(1,"div",1)(2,"h2"),l(3,"My Projects"),a()(),n(4,"div",2)(5,"button",3),c("click",function(){return t.resetFilter()}),p(6,"i",4),a(),n(7,"input",5),z("ngModelChange",function(r){return $(t.searchTerm,r)||(t.searchTerm=r),r}),c("ngModelChange",function(r){return t.onSearchChange(r)}),a(),n(8,"div",6)(9,"button",7),c("click",function(){return t.toggleDropdown("status")}),l(10),n(11,"span",8),p(12,"img",9),a()(),n(13,"div",10)(14,"label",11),c("click",function(){return t.onStatusFilter("Active")}),l(15," Active Projects "),n(16,"span",12),l(17),a()(),n(18,"label",13),c("click",function(){return t.onStatusFilter("Pending")}),l(19," Pending Projects "),n(20,"span",12),l(21),a()(),n(22,"label",14),c("click",function(){return t.onStatusFilter("Completed")}),l(23," Completed Projects "),n(24,"span",12),l(25),a()()()(),n(26,"div",6)(27,"button",7),c("click",function(){return t.toggleDropdown("budget")}),l(28),n(29,"span",8),p(30,"img",9),a()(),n(31,"div",10)(32,"div",15),c("click",function(){return t.selectBudget("")}),l(33,"All Budgets"),a(),E(34,ne,2,1,"div",16),a()(),n(35,"a",17),p(36,"i",18),l(37," Add Project"),a()()(),n(38,"section",19)(39,"app-project-listing",20),c("loadMore",function(){return t.onScrollDown()})("pageChanged",function(r){return t.onPageChange(r)})("statusChanged",function(){return t.loadProjects()}),a()(),p(40,"app-project-tour-modal",21)),i&2&&(s(5),b("disabled",!t.isFilterApplied),s(2),B("ngModel",t.searchTerm),s(3),f(" ",t.getActiveStatusLabel()," "),s(3),S("display",t.openDropdown==="status"?"block":"none"),s(),h("active",t.activeStatusFilter==="Active"),s(3),P(t.statusCount.Active||0),s(),h("active",t.activeStatusFilter==="Pending"),s(3),P(t.statusCount.Pending||0),s(),h("active",t.activeStatusFilter==="Completed"),s(3),P(t.statusCount.Completed||0),s(3),f(" ",t.selectedBudget||"Budget"," "),s(3),S("display",t.openDropdown==="budget"?"block":"none"),s(3),b("ngForOf",t.budgetRanges),s(),h("dashboard-highlight-active",t.currentStep===2&&t.currentTour==="projectList"),s(3),h("dashboard-highlight-active",t.currentTour==="projectList"&&t.currentStep===1),s(),b("projects",t.displayedProjects)("loading",t.isLoading)("totalCount",t.totalPublicCount)("currentPage",t.currentPage)("pageSize",t.pageSize)("hasMore",t.hasMore)("userData",t.userData)("isMobile",t.isMobile))},dependencies:[H,x,G,W,q,te,Y,K,U,oe],styles:[`.reset_btn{width:48px;height:40px;padding:5px 15px;border-radius:5px;border:1px solid var(--main-blue-color);color:var(--main-blue-color);background:transparent;cursor:pointer}.reset_btn:disabled{cursor:not-allowed;opacity:.6;color:#a1a1a1;border:1px solid rgb(229,225,220)}@media (max-width: 1399px) and (min-width: 992px){.myprojects-breadcrumb .header-common-search{max-width:310px}}
2`],encapsulation:2})};export{se as ProjectList};

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.