1import {S}from'./chunk-BUEVLaRT.js';import {W as W$1}from'./chunk-CF84gehD.js';import {E as En,D as De}from'./chunk-DFWdtebV.js';import {f as f$1}from'./chunk-CmdXsb3H.js';import {h as he}from'./chunk-DvLFd6NQ.js';import {R}from'./chunk-BGOHF1M9.js';import {W,c3 as Xr,cN as Ft$1,E,D,V,bK as P,bI as Gt$1,aE as ut$1,v as vr,e as f,X as Xb,j as Xv,R as RM,N as Ng,bv as Og,bN as Gc,T as Tt$1,z as zg,w as w0,b1 as ei$1,H as H0,Z as Zx,k as dn,b2 as da,cp as xr,l as zw,s as sk,n as nd,b3 as id,r as rC,m as wC,o as mv,p as GC,t as tD,q as vD,u as al,x as tM,y as dM,L as Lb,A as r1,P as P1,B as xS,C as Vs,F as zs,J as GS,K as iI,M as RI,Q as us,S as ms,Y as UI,_ as tE,$ as Dn,a0 as ME,a1 as ny,a2 as go,a3 as Kd,av as on,a4 as XE,a5 as LT,a6 as mA,aM as QM,cx as WM,a7 as mt$1,aa as Js,a8 as fy,a9 as ZT,ac as H_,ae as pS,ad as gd,bV as zy,bW as W_,ab as Ey,bD as db,ag as SC,ai as dy,bn as nS,ah as YT,aj as jy,al as gS,bX as $y,bE as pb,ak as Ed,cA as se,bZ as M,c4 as ED,cB as vt$1,a as G,an as x,af as XT,aV as KT,am as JT,aT as d_,ba as xy,bg as mS,aR as i_,aS as Vp,aU as Hp,aB as ey,bh as rS}from'./main-4WA6AAHG.js';var rt=(()=>{class t extends se{constructor(e,l,s){super(e,l,s,"PaymobOperations/");}getOperations(e){let l={page:String(e.page),pageSize:String(e.pageSize)};return e.fromUtc&&(l.fromUtc=e.fromUtc),e.toUtc&&(l.toUtc=e.toUtc),e.eventType&&(l.eventType=e.eventType),e.status&&(l.status=e.status),this.get("GetOperations",l)}getGatewayTransactions(e){return this.get("GetGatewayTransactions",{page:String(e)})}settleTransaction(e){return this.post(`SettleTransaction?transactionId=${encodeURIComponent(String(e))}`,{})}getUnrefundedCharges(){return this.get("GetUnrefundedCharges")}retryAddCardRefund(e){return this.post(`RetryAddCardRefund?cardRowId=${encodeURIComponent(String(e))}`,{})}static{this.\u0275fac=function(l){return new(l||t)(M(ED),M(vt$1),M(G))};}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"});}}return t})();var mt=()=>["This shows what Paymob sent us, not what its dashboard holds. A payment can succeed at Paymob and still not reach us \u2014 the callback may never arrive, or may be rejected because its signature did not verify. Those are the failures this page exists to surface."],dt=()=>[1,2,3,4],ct=t=>[t],ut=()=>[];function _t(t,r){t&1&&(Js(0,"div",19),fy(1,"app-skeleton-loader",20)(2,"app-skeleton-loader",21),gd());}function gt(t,r){t&1&&(Js(0,"div",2),XT(1,_t,3,0,"div",19,KT),gd()),t&2&&(SC(),JT(nS(0,dt)));}function ft(t,r){t&1&&(fy(0,"app-alert-message",28),pS(1,"translate")),t&2&&dy("messages",rS(4,ct,gS(1,2,"Some callbacks were rejected. The usual cause is an HMAC secret that does not match the Paymob account the transaction was created on.")))("dismissible",false);}function Ct(t,r){if(t&1&&(Js(0,"div",2)(1,"div",19)(2,"div",22)(3,"mat-icon"),H_(4,"gpp_bad"),gd()(),Js(5,"div",23),H_(6),gd(),Js(7,"div",24),H_(8),pS(9,"translate"),gd()(),Js(10,"div",19)(11,"div",25)(12,"mat-icon"),H_(13,"hourglass_top"),gd()(),Js(14,"div",23),H_(15),gd(),Js(16,"div",24),H_(17),pS(18,"translate"),gd()(),Js(19,"div",19)(20,"div",26)(21,"mat-icon"),H_(22,"credit_card"),gd()(),Js(23,"div",23),H_(24),gd(),Js(25,"div",24),H_(26),pS(27,"translate"),gd()(),Js(28,"div",19)(29,"div",27)(30,"mat-icon"),H_(31,"payments"),gd()(),Js(32,"div",23),H_(33),pS(34,"number"),gd(),Js(35,"div",24),H_(36),pS(37,"translate"),gd()()(),ZT(38,ft,2,6,"app-alert-message",28)),t&2){let e=d_();SC(),xy("is-alarm",e.summary.rejected>0),SC(5),jy(e.summary.rejected),SC(2),jy(gS(9,13,"Rejected callbacks")),SC(2),xy("is-alarm",e.summary.incompleteAddCards>0),SC(5),jy(e.summary.incompleteAddCards),SC(2),jy(gS(18,15,"Incomplete add-card attempts")),SC(7),jy(e.summary.savedCardsTotal),SC(2),jy(gS(27,17,"Saved cards")),SC(7),jy(mS(34,19,e.summary.paidAmountSar,"1.2-2")),SC(3),jy(gS(37,22,"Collected (SAR)")),SC(2),YT(e.summary.rejected>0?38:-1);}}function yt(t,r){if(t&1){let e=i_();Js(0,"button",29),Ey("click",function(){Vp(e);let s=d_();return Hp(s.clearFilters())}),Js(1,"mat-icon"),H_(2,"filter_alt_off"),gd(),H_(3),pS(4,"translate"),gd();}t&2&&(SC(3),Ed(" ",gS(4,1,"Clear filters")," "));}function bt(t,r){t&1&&(fy(0,"app-empty-state",15),pS(1,"translate"),pS(2,"translate")),t&2&&dy("title",gS(1,2,"No Paymob activity yet"))("message",gS(2,4,"Nothing has been received from Paymob. This is expected while Moyasar is the active gateway."));}function xt(t,r){if(t&1&&(H_(0),pS(1,"date")),t&2){let e=r.$implicit;Ed(" ",mS(1,1,e.timestamp,"short")," ");}}function ht(t,r){if(t&1&&(Js(0,"span",39)(1,"mat-icon"),H_(2),gd(),H_(3),pS(4,"translate"),gd()),t&2){let e=r.$implicit,l=d_(2);SC(2),jy(l.eventIcon(e)),SC(),Ed(" ",gS(4,2,l.eventLabel(e))," ");}}function vt(t,r){if(t&1&&H_(0),t&2){let e=d_().$implicit;Ed(" ",e.clientName," ");}}function St(t,r){t&1&&(Js(0,"span",40),H_(1,"\u2014"),gd());}function Pt(t,r){if(t&1&&ZT(0,vt,1,1)(1,St,2,0,"span",40),t&2){let e=r.$implicit;YT(e.clientName?0:1);}}function Mt(t,r){if(t&1&&(H_(0),pS(1,"number")),t&2){let e=d_().$implicit;Ed(" ",mS(1,1,e.amountSar,"1.2-2")," ");}}function Tt(t,r){t&1&&(Js(0,"span",40),H_(1,"\u2014"),gd());}function wt(t,r){if(t&1&&ZT(0,Mt,2,4)(1,Tt,2,0,"span",40),t&2){let e=r.$implicit;YT(e.amountSar!==null&&e.amountSar!==void 0?0:1);}}function Ot(t,r){if(t&1&&(Js(0,"span",42),H_(1),gd()),t&2){let e=d_(2).$implicit;SC(),jy(e.cardBrand);}}function It(t,r){if(t&1&&(Js(0,"span",41),ZT(1,Ot,2,1,"span",42),Js(2,"
1span",43),H_(3),gd()()),t&2){let e=d_().$implicit;SC(),YT(e.cardBrand?1:-1),SC(2),jy(e.maskedPan);}}function kt(t,r){t&1&&(Js(0,"span",40),H_(1,"\u2014"),gd());}function Et(t,r){if(t&1&&ZT(0,It,4,2,"span",41)(1,kt,2,0,"span",40),t&2){let e=r.$implicit;YT(e.maskedPan?0:1);}}function Bt(t,r){if(t&1&&(Js(0,"span",44),H_(1),gd()),t&2){let e=r.$implicit;SC(),jy(e.specialReference||e.orderId||"\u2014");}}function Rt(t,r){if(t&1&&(Js(0,"span",45),H_(1),pS(2,"translate"),gd()),t&2){let e=r.$implicit,l=d_(2);dy("ngClass",l.outcomeClass(e))("matTooltip",e.message||""),SC(),Ed(" ",gS(2,3,l.outcomeLabel(e))," ");}}function At(t,r){if(t&1){let e=i_();Js(0,"app-responsive-table",30),ey(1,xt,2,4,"ng-template",31)(2,ht,5,4,"ng-template",32)(3,Pt,2,1,"ng-template",33)(4,wt,2,1,"ng-template",34)(5,Et,2,1,"ng-template",35)(6,Bt,2,1,"ng-template",36)(7,Rt,3,5,"ng-template",37),gd(),Js(8,"paginator-configurable",38),Ey("page",function(s){Vp(e);let u=d_();return Hp(u.onPageChange(s))}),gd();}if(t&2){let e=d_();dy("dataSource",e.rows)("columns",e.columns)("loading",e.isLoading)("noDataMessage","No operations match the current filters"),SC(8),dy("length",e.totalCount)("pageSize",e.pageSize)("pageIndex",e.pageIndex);}}function Dt(t,r){if(t&1&&(H_(0),pS(1,"date")),t&2){let e=r.$implicit;jy(mS(1,1,e.createdOn,"short"));}}function Lt(t,r){if(t&1&&H_(0),t&2){let e=r.$implicit;jy(e.clientName||e.clientId);}}function Ft(t,r){if(t&1&&(Js(0,"span",44),H_(1),gd()),t&2){let e=r.$implicit;SC(),jy(e.transactionId);}}function $t(t,r){if(t&1&&(H_(0),pS(1,"number")),t&2){let e=r.$implicit;jy(mS(1,1,e.amountSar,"1.2-2"));}}function jt(t,r){if(t&1&&(Js(0,"span",50),H_(1),pS(2,"translate"),gd()),t&2){let e=d_().$implicit;dy("matTooltip",e.lastError),SC(),jy(gS(2,2,"Refund failed"));}}function Vt(t,r){t&1&&(Js(0,"span",51),H_(1),pS(2,"translate"),gd()),t&2&&(SC(),jy(gS(2,1,"Waiting")));}function Nt(t,r){if(t&1&&ZT(0,jt,3,4,"span",50)(1,Vt,3,3,"span",51),t&2){let e=r.$implicit;YT(e.lastError?0:1);}}function Ut(t,r){if(t&1){let e=i_();Js(0,"button",52),Ey("click",function(){let s=Vp(e).$implicit,u=d_(2);return Hp(u.retryRefund(s))}),Js(1,"mat-icon"),H_(2,"replay"),gd(),H_(3),pS(4,"translate"),gd();}t&2&&(SC(3),Ed(" ",gS(4,1,"Retry")," "));}function zt(t,r){if(t&1&&(Js(0,"div",16)(1,"div",4)(2,"div")(3,"div",17),H_(4),pS(5,"translate"),gd(),Js(6,"div",18),H_(7),pS(8,"translate"),gd()()(),Js(9,"app-responsive-table",46),ey(10,Dt,2,4,"ng-template",31)(11,Lt,1,1,"ng-template",33)(12,Ft,2,1,"ng-template",47)(13,$t,2,4,"ng-template",34)(14,Nt,2,1,"ng-template",48)(15,Ut,5,3,"ng-template",49),gd()()),t&2){let e=d_();SC(4),jy(gS(5,5,"Add-card charges not given back yet")),SC(3),jy(gS(8,7,"Adding a card takes 1.00 SAR, which is given back automatically. These were not \u2014 retry, or refund them from the Paymob dashboard.")),SC(2),dy("dataSource",e.unrefunded)("columns",e.unrefundedColumns)("loading",false);}}function Gt(t,r){if(t&1&&(H_(0),pS(1,"date")),t&2){let e=r.$implicit;jy(mS(1,1,e.createdAt,"short"));}}function Wt(t,r){if(t&1&&(H_(0),pS(1,"number")),t&2){let e=r.$implicit;jy(mS(1,1,e.amountSar,"1.2-2"));}}function Kt(t,r){if(t&1&&(H_(0),pS(1,"translate")),t&2){let e=r.$implicit,l=d_(2);jy(gS(1,1,l.referenceKindLabel(e.referenceKind)));}}function Ht(t,r){if(t&1&&(Js(0,"span",45),H_(1),pS(2,"translate"),gd()),t&2){let e=r.$implicit,l=d_(2);dy("ngClass",l.gatewayResultClass(e))("matTooltip",e.message||""),SC(),jy(gS(2,3,l.gatewayResultLabel(e)));}}function qt(t,r){t&1&&(Js(0,"span",58),H_(1),pS(2,"translate"),gd()),t&2&&(SC(),jy(gS(2,1,"Accepted")));}function Jt(t,r){t&1&&(Js(0,"span",59),H_(1),pS(2,"translate"),gd()),t&2&&(SC(),jy(gS(2,1,"Rejected")));}function Qt(t,r){t&1&&(Js(0,"span",60),H_(1),pS(2,"translate"),gd()),t&2&&(SC(),jy(gS(2,1,"Not received")));}function Xt(t,r){if(t&1&&ZT(0,qt,3,3,"span",58)(1,Jt,3,3,"span",59)(2,Qt,3,3,"span",60),t&2){let e=r.$implicit;YT(e.callbackStatus==="success"?0:e.callbackReceived?1:2);}}function Yt(t,r){if(t&1){let e=i_();Js(0,"button",62),Ey("click",function(){Vp(e);let s=d_().$implicit,u=d_(2);return Hp(u.settle(s))}),Js(1,"mat-icon"),H_(2,"task_alt"),gd(),H_(3),pS(4,"translate"),gd();}if(t&2){let e=d_().$implicit,l=d_(2);dy("disabled",l.settlingId===e.transactionId),SC(3),Ed(" ",gS(4,2,"Settle from Paymob")," ");}}function Zt(t,r){if(t&1&&ZT(0,Yt,5,4,"button",61),t&2){let e=r.$implicit;YT(e.needsAttention?0:-1);}}function ei(t,r){if(t&1){let e=i_();Js(0,"app-responsive-table",46),ey(1,Gt,2,4,"ng-template",31)(2,Wt,2,4,"ng-template",34)(3,Kt,2,3,"ng-template",53)(4,Ht,3,5,"ng-template",54)(5,Xt,3,1,"ng-template",55)(6,Zt,1,1,"ng-template",49),gd(),Js(7,"div",56)(8,"button",57),Ey("click",function(){Vp(e);let s=d_();return Hp(s.loadGateway((s.gatewayPage?.page??1)-1))}),H_(9),pS(10,"translate"),gd(),Js(11,"button",57),Ey("click",function(){Vp(e);let s=d_();return Hp(s.loadGateway((s.gatewayPage?.page??1)+1))}),H_(12),pS(13,"translate"),gd()();}if(t&2){let e=d_();dy("dataSource",e.gatewayPage?.items??nS(11,ut))("columns",e.gatewayColumns)("loading",e.gatewayLoading),SC(8),dy("disabled",e.gatewayLoading||(e.gatewayPage?.page??1)<=1),SC(),Ed(" ",gS(10,7,"Previous")," "),SC(2),dy("disabled",e.gatewayLoading||!e.gatewayPage?.hasNextPage),SC(),Ed(" ",gS(13,9,"Next")," ");}}var ln=(()=>{class t{constructor(e,l,s,u,b,lt){this.operationsService=e,this.loadingService=l,this.errorService=s,this.toastr=u,this.dialog=b,this.dialogConfig=lt,this.subs=new W,this.summary=null,this.rows=[],this.isLoading=false,this.isSummaryLoading=true,this.eventType=null,this.status=null,this.pageIndex=0,this.pageSize=25,this.totalCount=0,this.columns=[{key:"when",label:"When",priority:1},{key:"event",label:"Event type",priority:1},{key:"client",label:"Client",priority:2},{key:"amount",label:"Amount",priority:2,align:"end"},{key:"card",label:"Card",priority:3},{key:"reference",label:"Reference",priority:3},{key:"outcome",label:"Outcome",priority:1}],this.unrefunded=[],this.unrefundedColumns=[{key:"when",label:"When",priority:1},{key:"client",label:"Client",priority:1},{key:"transaction",label:"Transaction",priority:3},{key:"amount",label:"Amount",priority:2,align:"end"},{key:"error",label:"Outcome",priority:1},{key:"actions",label:"",priority:1,hideLabel:true,stickyEnd:true}],this.gatewayPage=null,this.gatewayLoading=false,this.settlingId=null,this.gatewayColumns=[{key:"when",label:"When",priority:1},{key:"amount",label:"Amount",priority:1,align:"end"},{key:"kind",label:"For",priority:2},{key:"result",label:"At Paymob",priority:1},{key:"callback",label:"Callback",priority:1},{key:"actions",label:"",priority:1,hideLabel:true,stickyEnd:true}];}ngOnInit(){this.load(),this.loadUnrefunded();}loadUnrefunded(){this.subs.add(this.operationsService.getUnrefundedCharges().subscribe({next:e=>{this.unrefunded=e.succeeded&&Array.isArray(e.data)?e.data:[];},error:()=>{this.unrefunded=[];}}));}retryRefund(e){this.subs.add(this.operationsService.retryAddCardRefund(e.cardRowId).subscribe({next:l=>
1{l.succeeded?this.toastr.success("Refund queued. Reload in a minute to see the result."):this.errorService.setError(l,"Failed to Complete the Operation");},error:l=>this.errorService.setError(l,"Failed to Complete the Operation")}));}loadGateway(e){this.gatewayLoading=true,this.subs.add(this.operationsService.getGatewayTransactions(Math.max(e,1)).pipe(Xr(()=>this.gatewayLoading=false)).subscribe({next:l=>{l.succeeded&&l.data?this.gatewayPage=l.data:this.errorService.setError(l,"Failed to load");},error:l=>this.errorService.setError(l,"Failed to load")}));}settle(e){this.dialog.open(Ft$1,E(D({},this.dialogConfig.getDefaultDialogConfig()),{width:"460px",data:{title:"Settle from Paymob?",message:"This does what the missing callback would have done: marks the invoice paid and activates what was bought. It reads the transaction from Paymob first, so it settles nothing Paymob did not take.",confirmText:"Settle",cancelText:"Cancel",icon:"task_alt"}})).afterClosed().subscribe(s=>{s&&(this.settlingId=e.transactionId,this.subs.add(this.operationsService.settleTransaction(e.transactionId).pipe(Xr(()=>this.settlingId=null)).subscribe({next:u=>{u.succeeded?(this.toastr.success("Settled"),this.loadGateway(this.gatewayPage?.page??1),this.load()):this.errorService.setError(u,"Failed to Complete the Operation");},error:u=>this.errorService.setError(u,"Failed to Complete the Operation")})));});}referenceKindLabel(e){switch(e){case "subscription":return "Subscription";case "points":return "Points";case "addcard":return "Card saved";case "probe":return "Test";case "external":return "Outside the app";default:return "Other"}}gatewayResultClass(e){return e.isRefunded||e.isVoided?"sl-pill--muted":e.succeeded?e.needsAttention?"sl-pill--warning":"sl-pill--success":e.pending?"sl-pill--info":"sl-pill--error"}gatewayResultLabel(e){return e.isRefunded?"Refunded":e.isVoided?"Voided":e.succeeded?"Paid":e.pending?"Pending":"Declined"}load(){this.isLoading=true,this.loadingService.beginSuppress(),this.subs.add(this.operationsService.getOperations({eventType:this.eventType,status:this.status,page:this.pageIndex+1,pageSize:this.pageSize}).pipe(Xr(()=>{this.isLoading=false,this.isSummaryLoading=false,this.loadingService.endSuppress();})).subscribe({next:e=>{if(!e.succeeded||!e.data){this.summary=null,this.rows=[],this.totalCount=0,this.errorService.setError(e,"Failed to load Paymob operations");return}let l=e.data;this.summary=l.summary??null,this.rows=Array.isArray(l.items)?l.items:[],this.totalCount=l.totalCount??0;},error:e=>{this.summary=null,this.rows=[],this.totalCount=0,this.errorService.setError(e,"Failed to load Paymob operations");}}));}ngOnDestroy(){this.subs.unsubscribe();}onFilterChange(){this.pageIndex=0,this.load();}clearFilters(){this.eventType=null,this.status=null,this.onFilterChange();}get hasActiveFilter(){return !!this.eventType||!!this.status}onPageChange(e){this.pageIndex=e.pageIndex,this.pageSize=e.pageSize,this.load();}isToken(e){return (e.eventType??"").toUpperCase()==="TOKEN"}eventIcon(e){return this.isToken(e)?"credit_card":"payments"}eventLabel(e){return this.isToken(e)?"Card saved":"Paymob payment"}outcomeClass(e){return (e.status??"")!=="success"?"sl-pill--error":e.succeeded===false?"sl-pill--warning":e.pending===true?"sl-pill--info":"sl-pill--success"}outcomeLabel(e){return (e.status??"")!=="success"?"Rejected":e.succeeded===false?"Declined":e.pending===true?"Pending":this.isToken(e)?"Card stored":"Paid"}static{this.\u0275fac=function(l){return new(l||t)(V(rt),V(P),V(Gt$1),V(ut$1),V(vr),V(f))};}static{this.\u0275cmp=Xb({type:t,selectors:[["app-paymob-operations"]],decls:60,vars:50,consts:[[1,"paymob-operations"],["type","info",3,"messages","dismissible"],[1,"kpi-grid"],[1,"sl
1-card","sl-card--flush","table-card"],[1,"toolbar"],["appearance","outline","subscriptSizing","dynamic",1,"filter"],[3,"ngModelChange","ngModel"],[3,"value"],["value","TRANSACTION"],["value","TOKEN"],["value","success"],["value","failed"],[1,"spacer"],["mat-button",""],["mat-stroked-button","",3,"click","disabled"],["icon","receipt_long","size","medium",3,"title","message"],[1,"sl-card","sl-card--flush","table-card","m-t-24"],[1,"sl-card__title"],[1,"sl-card__subtitle"],[1,"sl-card","sl-kpi"],["type","custom","width","40%","height","28px"],["type","custom","width","70%","height","12px"],[1,"sl-kpi__icon","is-error"],[1,"sl-kpi__value"],[1,"sl-kpi__label"],[1,"sl-kpi__icon","is-warning"],[1,"sl-kpi__icon","is-success"],[1,"sl-kpi__icon","is-accent"],["type","error",3,"messages","dismissible"],["mat-button","",3,"click"],[3,"dataSource","columns","loading","noDataMessage"],["rtColumnDef","when"],["rtColumnDef","event"],["rtColumnDef","client"],["rtColumnDef","amount"],["rtColumnDef","card"],["rtColumnDef","reference"],["rtColumnDef","outcome"],[3,"page","length","pageSize","pageIndex"],[1,"event-cell"],[1,"muted"],[1,"card-cell"],[1,"brand"],[1,"pan"],[1,"reference"],[1,"sl-pill",3,"ngClass","matTooltip"],["noDataMessage","No records found",3,"dataSource","columns","loading"],["rtColumnDef","transaction"],["rtColumnDef","error"],["rtColumnDef","actions"],[1,"sl-pill","sl-pill--error",3,"matTooltip"],[1,"sl-pill","sl-pill--info"],["mat-stroked-button","","color","primary","type","button",3,"click"],["rtColumnDef","kind"],["rtColumnDef","result"],["rtColumnDef","callback"],[1,"d-flex","justify-content-end","gap-2","p-16"],["mat-stroked-button","","type","button",3,"click","disabled"],[1,"sl-pill","sl-pill--success"],[1,"sl-pill","sl-pill--error"],[1,"sl-pill","sl-pill--muted"],["mat-flat-button","","color","primary","type","button",3,"disabled"],["mat-flat-button","","color","primary","type","button",3,"click","disabled"]],template:function(l,s){l&1&&(Js(0,"div",0),fy(1,"app-alert-message",1),ZT(2,gt,3,1,"div",2)(3,Ct,39,24),Js(4,"div",3)(5,"div",4)(6,"mat-form-field",5)(7,"mat-label"),H_(8),pS(9,"translate"),gd(),Js(10,"mat-select",6),zy("ngModelChange",function(b){return W_(s.eventType,b)||(s.eventType=b),b}),Ey("ngModelChange",function(){return s.onFilterChange()}),Js(11,"mat-option",7),H_(12),pS(13,"translate"),gd(),Js(14,"mat-option",8),H_(15),pS(16,"translate"),gd(),Js(17,"mat-option",9),H_(18),pS(19,"translate"),gd()(),db(),gd(),Js(20,"mat-form-field",5)(21,"mat-label"),H_(22),pS(23,"translate"),gd(),Js(24,"mat-select",6),zy("ngModelChange",function(b){return W_(s.status,b)||(s.status=b),b}),Ey("ngModelChange",function(){return s.onFilterChange()}),Js(25,"mat-option",7),H_(26),pS(27,"translate"),gd(),Js(28,"mat-option",10),H_(29),pS(30,"translate"),gd(),Js(31,"mat-option",11),H_(32),pS(33,"translate"),gd()(),db(),gd(),fy(34,"span",12),ZT(35,yt,5,3,"button",13),Js(36,"button",14),Ey("click",function(){return s.load()}),Js(37,"mat-icon"),H_(38,"refresh"),gd(),H_(39),pS(40,"translate"),gd()(),ZT(41,bt,3,6,"app-empty-state",15)(42,At,9,7),gd(),ZT(43,zt,16,9,"div",16),Js(44,"div",16)(45,"div",4)(46,"div")(47,"div",17),H_(48),pS(49,"translate"),gd(),Js(50,"div",18),H_(51),pS(52,"translate"),gd()(),fy(53,"span",12),Js(54,"button",14),Ey("click",function(){return s.loadGateway(s.gatewayPage?.page??1)}),Js(55,"mat-icon"),H_(56,"sync"),gd(),H_(57),pS(58,"translate"),gd()(),ZT(59,ei,14,12),gd()()),l&2&&(SC(),dy("messages",nS(49,mt))("dismissible",true),SC(),YT(s.isSummaryLoading?2:s.summary?3:-1),SC(6),jy(gS(9,25,"Event type")),SC(2),$y("ngModel",s.eventType),pb(),SC(),dy("value",null),SC(),jy(gS(13,27,"All events")),SC(3),jy(gS(16,29,"Paymob payment")),SC(3),jy(gS(19,31,"Card saved")),SC(4),jy(gS(23,33,"Outcome")),SC(2),$y("ngModel",s.status),pb(),SC(),dy("value",null),SC(),jy(gS(27,35,"All outcomes")),SC(3),jy(gS(30,37,"Accepted")),SC(3),jy(gS(33,39,"Rejected")),SC(3),YT(s.hasActiveFilter?35:-1),SC(),dy("disabled",s.isLoading),SC(3),Ed(" ",gS(40,41,"Reload")," "),SC(2),YT(!s.isLoading&&s.rows.length===0&&!s.hasActiveFilter?41:42),SC(2),YT(s.unrefunded.length>0?43:-1),SC(5),jy(gS(49,43,"Reconcile with Paymob")),SC(3),jy(gS(52,45,"Paymob's own list of transactions on our account, beside whether each callback reached us. A paid app charge with no accepted callback is still unpaid here \u2014 settle it from Paymob's record.")),SC(3),dy("disabled",s.gatewayLoading),SC(3),Ed(" ",gS(58,47,s.gatewayPage?"Reload":"Load from Paymob")," "),SC(2),YT(s.gatewayPage||s.gatewayLoading?59:-1));},dependencies:[Xv,RM,Ng,Og,Gc,Tt$1,En,De,W$1,R,S,f$1,he,zg,w0,ei$1,H0,Zx,dn,da,xr,zw,sk,nd,id,rC,wC,mv,GC,tD,vD,al,tM,dM,Lb,r1,P1,xS,Vs,zs,GS,iI,RI,us,ms,UI,tE,Dn,ME,ny,go,Kd,on,XE,LT,mA,QM,WM,mt$1],styles:['@charset "UTF-8";.paymob-operations[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.kpi-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.sl-kpi.is-alarm[_ngcontent-%COMP%]{outline:2px solid rgba(250,137,107,.35);outline-offset:-2px}.toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px}.toolbar[_ngcontent-%COMP%] .filter[_ngcontent-%COMP%]{min-width:180px}.toolbar[_ngcontent-%COMP%] .spacer[_ngcontent-%COMP%]{flex:1 1 auto}.event-cell[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px}.event-cell[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.125rem;width:1em;height:1em;color:var(--color-text-muted)}.card-cell[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px}.card-cell[_ngcontent-%COMP%] .brand[_ngcontent-%COMP%]{font-weight:600}.card-cell[_ngcontent-%COMP%] .pan[_ngcontent-%COMP%]{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.reference[_ngcontent-%COMP%]{font-variant-numeric:tabular-nums;word-break:break-all;direction:ltr;unicode-bidi:isolate}.muted[_ngcontent-%COMP%]{color:var(--color-text-muted)}'],changeDetection:1});}}return t})();export{ln as PaymobOperationsComponent};
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.