1import {r}from'./chunk-Cvqw02_h.js';import {_}from'./chunk-UaF3bGu1.js';import {m as mi}from'./chunk-BGYiJIld.js';import'./chunk-DmMVvtGW.js';import'./chunk--hUsjbHa.js';import {E as En,D as De}from'./chunk-D3crpTkA.js';import'./chunk-C2EVnWPI.js';import'./chunk-CC_dzDIF.js';import {c as ce}from'./chunk-Cha4_V9g.js';import'./chunk-yuXVPJRt.js';import {c8 as Xr,E,D,H,dn as p$1,bQ as P,bO as Gt,aE as lt,a as G,b as gr,h as c$1,K as Kb,T as Tt,i as ea,j as ai,k as Kv,P as Pg,V as Vg,l as b0,L as L0,Y as Yx,m as dn,n as Vw,o as nk,t as td,p as tC,q as bC,s as sv,N as NC,X as XC,_ as _D,aO as oD,aP as lD,b0 as mD,aX as sD,r as il,u as XD,v as rM,F as Fb,w as t1,y as A1,z as gS,B as Vs,C as zs,I as Fi,J as NS,Z as ZS,M as EI,Q as us,R as ms,S as HI,U as ZI,$ as Dn,a0 as kE,a1 as Jv,a2 as go,a3 as qd,av as on,a4 as YE,a5 as OT,a6 as lA,a7 as mt,aM as ZM,cA as zM,a8 as cy,aa as Xs,ac as V_,ae as fS,ad as hd,aB as Qm,a9 as qT,ai as ay,bC as tS,ag as _C,aj as ky,al as hS,ak as Dd,ah as ZT,bg as gS$1,aD as Fy,aT as l_,aR as o_,ab as my,aS as Pp,aU as Lp,b5 as sy}from'./main-CTPND76J.js';import'./chunk-CAH8VGMK.js';var Kt=()=>["Pay now settles an invoice that is still open.","Open Details for the full breakdown, or to download it."];function Yt(i,e){if(i&1&&V_(0),i&2){let t=e.$implicit;Dd(" #",t.id," ");}}function qt(i,e){if(i&1&&V_(0),i&2){let t=e.$implicit;Dd(" ",t.packageName," ");}}function Jt(i,e){if(i&1&&(V_(0),fS(1,"number")),i&2){let t=e.$implicit;Dd(" ",gS$1(1,1,t.points,"1.0-2")," ");}}function Qt(i,e){if(i&1&&(Xs(0,"span",17),V_(1),fS(2,"number"),fS(3,"translate"),hd()),i&2){let t=e.$implicit;_C(),Fy("",gS$1(2,2,t.totalAmountSar,"1.2-2")," ",hS(3,5,"SAR"));}}function Xt(i,e){if(i&1&&(cy(0,"app-badge",18),fS(1,"translate")),i&2){let t=e.$implicit,o=l_();ay("type",o.getStatusBadgeType(t.status))("label",hS(1,2,o.getStatusLabel(t.status)));}}function Zt(i,e){if(i&1&&(V_(0),fS(1,"date")),i&2){let t=e.$implicit;Dd(" ",t.paidOn?gS$1(1,1,t.paidOn,"yyyy/MM/dd"):"-"," ");}}function ti(i,e){if(i&1&&(V_(0),fS(1,"date")),i&2){let t=e.$implicit;Dd(" ",gS$1(1,1,t.createdOn,"yyyy/MM/dd")," ");}}function ii(i,e){if(i&1){let t=o_();Xs(0,"button",21),fS(1,"translate"),fS(2,"translate"),my("click",function(){Pp(t);let n=l_().$implicit,s=l_();return Lp(s.payInvoice(n.id))}),Xs(3,"mat-icon"),V_(4,"payment"),hd()();}i&2&&(ay("matTooltip",hS(1,2,"Pay now")),sy("aria-label",hS(2,4,"Pay now")));}function ei(i,e){if(i&1){let t=o_();Xs(0,"button",19),fS(1,"translate"),fS(2,"translate"),my("click",function(){let n=Pp(t).$implicit,s=l_();return Lp(s.viewInvoice(n.id))}),Xs(3,"mat-icon"),V_(4,"visibility"),hd()(),qT(5,ii,5,6,"button",20);}if(i&2){let t=e.$implicit,o=l_();ay("matTooltip",hS(1,3,"Details")),sy("aria-label",hS(2,5,"Details")),_C(5),ZT(t.status===o.EnumPointsInvoiceStatus.Draft?5:-1);}}function oi(i,e){i&1&&(Xs(0,"div",16)(1,"span",22),V_(2),fS(3,"translate"),hd()()),i&2&&(_C(2),ky(hS(3,1,"No invoices found")));}var ae=(()=>{class i{constructor(t,o,n,s,_,zt,Gt){this.pointsService=t,this.loadingService=o,this.errorService=n,this.toastr=s,this.router=_,this.dialog=zt,this.dialogConfig=Gt,this.invoices=[],this.isLoading=false,this.columns=[{key:"id",label:"Invoice No",priority:1},{key:"packageName",label:"Package",priority:1},{key:"points",label:"Points",priority:2},{key:"totalAmountSar",label:"Total",priority:1},{key:"status",label:"Status",priority:1},{key:"paidOn",label:"Paid On",priority:3},{key:"createdOn",label:"Date",priority:2},{key:"actions",label:"Actions",priority:1,hideLabel:true,stickyEnd:true}],this.EnumPointsInvoiceStatus=r;}ngOnInit(){this.loadInvoices();}loadInvoices(){this.isLoading=true,this.loadingService.beginSuppress(),this.pointsService.getMyInvoices().pipe(Xr(()=>{this.isLoading=false,this.loadingService.endSuppress();})).subscribe({next:t=>{this.invoices=t.succeeded?t.data:[];},error:t=>{this.errorService.setError(t,"Failed to load");}});}viewInvoice(t){this.router.navigate(["/apps/points/invoices",t]);}getStatusLabel(t){return {[r.Draft]:"Draft",[r.Paid]:"Paid",[r.Credited]:"Credited",[r.Cancelled]:"Cancelled",[r.Expired]:"Expired"}[t]||""}getStatusBadgeType(t){return {[r.Draft]:"default",[r.Paid]:"success",[r.Credited]:"primary",[r.Cancelled]:"error",[r.Expired]:"warning"}[t]||"default"}payInvoice(t){this.dialog.open(mi,E(D({},this.dialogConfig.getDefaultDialogConfig()),{width:"500px",data:{invoiceId:t,isAdmin:false}})).afterClosed().subscribe(n=>{n&&n.tokenId!==void 0&&(this.loadingService.loadingOn(),this.pointsService.payPointsInvoice({invoiceId:t,tokenId:n.tokenId}).subscribe({next:s=>{if(this.loadingService.loadingOff(),s.succeeded){let _=s?.data?.checkoutUrl;_?(this.toastr.info("Redirecting to payment"),window.location.href=_):(this.toastr.success("Payment Successful"),this.loadInvoices());}else this.errorService.setError(s,"Payment Failed");},error:s=>{this.loadingService.loadingOff(),this.errorService.setError(s,"Payment Failed");}}));});}static{this.\u0275fac=function(o){return new(o||i)(H(p$1),H(P),H(Gt),H(lt),H(G),H(gr),H(c$1))};}static{this.\u0275cmp=Kb({type:i,selectors:[["app-points-invoices"]],decls:25,vars:12,consts:[["helpKey","points-invoices","intro","Your points invoices \u2014 what you bought, what it cost, and what is still unpaid.","
1warning","Points are only credited after the invoice is paid, not when it is created.",3,"steps"],[1,"cardWithShadow","theme-card"],[1,"m-b-0"],[1,"b-t-1"],["mat-flat-button","","color","primary","routerLink","/apps/points/purchase"],[1,"cardWithShadow"],[1,"p-24"],[3,"dataSource","columns","loading"],["rtColumnDef","id"],["rtColumnDef","packageName"],["rtColumnDef","points"],["rtColumnDef","totalAmountSar"],["rtColumnDef","status"],["rtColumnDef","paidOn"],["rtColumnDef","createdOn"],["rtColumnDef","actions"],[1,"text-center","p-24"],[1,"f-w-600"],[3,"type","label"],["mat-icon-button","","color","primary",3,"click","matTooltip"],["mat-icon-button","","color","accent",3,"matTooltip"],["mat-icon-button","","color","accent",3,"click","matTooltip"],[1,"text-muted","f-s-14"]],template:function(o,n){o&1&&(cy(0,"app-page-help",0),Xs(1,"mat-card",1)(2,"mat-card-header")(3,"mat-card-title",2)(4,"h3"),V_(5),fS(6,"translate"),hd()()(),Xs(7,"mat-card-content",3)(8,"button",4)(9,"mat-icon"),V_(10,"add"),hd(),V_(11),fS(12,"translate"),hd()()(),Xs(13,"mat-card",5)(14,"mat-card-content",6)(15,"app-responsive-table",7),Qm(16,Yt,1,1,"ng-template",8)(17,qt,1,1,"ng-template",9)(18,Jt,2,4,"ng-template",10)(19,Qt,4,7,"ng-template",11)(20,Xt,2,4,"ng-template",12)(21,Zt,2,4,"ng-template",13)(22,ti,2,4,"ng-template",14)(23,ei,6,7,"ng-template",15),hd(),qT(24,oi,4,3,"div",16),hd()()),o&2&&(ay("steps",tS(11,Kt)),_C(5),ky(hS(6,7,"Invoices")),_C(6),Dd(" ",hS(12,9,"Buy Points")," "),_C(4),ay("dataSource",n.invoices)("columns",n.columns)("loading",n.isLoading),_C(9),ZT(!n.isLoading&&n.invoices.length===0?24:-1));},dependencies:[ce,Tt,ea,ai,_,En,De,Kv,Pg,Vg,b0,L0,Yx,dn,Vw,nk,td,tC,bC,sv,NC,XC,_D,oD,lD,mD,sD,il,XD,rM,Fb,t1,A1,gS,Vs,zs,Fi,NS,ZS,EI,us,ms,HI,ZI,Dn,kE,Jv,go,qd,on,YE,OT,lA,mt,ZM,zM],encapsulation:2,changeDetection:1});}}return i})();export{ae as PointsInvoicesComponent};
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.