dealposbooks 5.36.1 → 5.36.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{chunk-E7AQUEVD.js → chunk-3PPJHQQ4.js} +1 -1
- package/{chunk-IPXNFGXP.js → chunk-4AOHMAEQ.js} +1 -1
- package/chunk-4BKREZBV.js +1 -0
- package/{chunk-QMRRMWZN.js → chunk-4O47GML2.js} +1 -1
- package/{chunk-T5WWS25E.js → chunk-4OMJSWGH.js} +1 -1
- package/{chunk-QINDEB2G.js → chunk-5L5UVIIK.js} +1 -1
- package/{chunk-VCZXQVWN.js → chunk-5U2DQZ3P.js} +1 -1
- package/{chunk-GVMHNDIX.js → chunk-62S2RZ5N.js} +2 -2
- package/{chunk-33BBQ6RC.js → chunk-6DH5EZBL.js} +2 -2
- package/{chunk-QBGM5GTK.js → chunk-6SQ75ZSO.js} +1 -1
- package/{chunk-KMDZKE4V.js → chunk-6XZEYZFV.js} +1 -1
- package/{chunk-U2WQQNY6.js → chunk-6Y7LC5K4.js} +1 -1
- package/{chunk-NIDRHASQ.js → chunk-7K7AJJBA.js} +1 -1
- package/{chunk-TP2ORO5N.js → chunk-7SXGBB2J.js} +1 -1
- package/{chunk-HCFPAKFR.js → chunk-ASZXOTXP.js} +1 -1
- package/{chunk-YEQ35LTZ.js → chunk-AYDYX3J4.js} +1 -1
- package/{chunk-ALXNUA2V.js → chunk-EA47GVMD.js} +1 -1
- package/{chunk-2KLXL4MK.js → chunk-EBEP5ZNI.js} +1 -1
- package/{chunk-CGCYFX2J.js → chunk-EM3AQZPZ.js} +1 -1
- package/{chunk-DH3ZIMF6.js → chunk-EVRPQUZB.js} +1 -1
- package/{chunk-ORFEXIMG.js → chunk-FE4Q3L6W.js} +1 -1
- package/{chunk-Y5LMPOT6.js → chunk-FETWPNGI.js} +1 -1
- package/{chunk-UEW33LPU.js → chunk-GCTX4M5B.js} +1 -1
- package/{chunk-UXYHS5V4.js → chunk-GI2IGVR7.js} +1 -1
- package/{chunk-MAKOPAMW.js → chunk-GTVRKYLY.js} +1 -1
- package/{chunk-RH4OI3PO.js → chunk-IQQJUFFQ.js} +1 -1
- package/{chunk-WKUCQF2H.js → chunk-JOLNIJ36.js} +1 -1
- package/{chunk-BVK3ZKMS.js → chunk-JTK43IPK.js} +1 -1
- package/{chunk-O6URLJBJ.js → chunk-LSY7PUC7.js} +1 -1
- package/{chunk-2WXAYRVE.js → chunk-LZSGMIGM.js} +1 -1
- package/{chunk-SMM7ZNGR.js → chunk-MQPAWXQR.js} +1 -1
- package/{chunk-W42IYRTY.js → chunk-N5RPPHA6.js} +1 -1
- package/{chunk-KOL333HP.js → chunk-NSHK5C75.js} +1 -1
- package/{chunk-O4HLUAOT.js → chunk-O3JBRZF4.js} +1 -1
- package/{chunk-Y57O7UMC.js → chunk-O75U5E6H.js} +1 -1
- package/{chunk-NCEC5HNX.js → chunk-SNKHWMQW.js} +1 -1
- package/{chunk-C3W3M6BO.js → chunk-SSZSLP4Z.js} +1 -1
- package/{chunk-BZFDD5C3.js → chunk-TB6LDOLG.js} +1 -1
- package/{chunk-3XKN3BD5.js → chunk-UDNPUUWO.js} +1 -1
- package/{chunk-BELZJUWW.js → chunk-VKYNOYJC.js} +1 -1
- package/{chunk-V73ECQBM.js → chunk-WKBCELT6.js} +1 -1
- package/{chunk-52J7F6HR.js → chunk-WW5ELKKO.js} +1 -1
- package/{chunk-HXPLUAS2.js → chunk-X5PP77DR.js} +1 -1
- package/{chunk-KQA4MVBN.js → chunk-XGCWDZO7.js} +1 -1
- package/{chunk-7KIZ6KYX.js → chunk-XO27WEAF.js} +1 -1
- package/{chunk-5HGUQMKI.js → chunk-XZQ3IYQ6.js} +1 -1
- package/{chunk-VUY5OTY3.js → chunk-YARD4P64.js} +1 -1
- package/{chunk-XKUFP534.js → chunk-YJ2QEIBF.js} +1 -1
- package/index.html +2 -2
- package/{main-RDFIBSUD.js → main-RSQGAYLC.js} +1 -1
- package/package.json +1 -1
- package/chunk-NEOGNB43.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as kt}from"./chunk-SMZ363LC.js";import{a as Ee,b as Ie}from"./chunk-AACWH3EJ.js";import{a as Lt,b as se}from"./chunk-NCEC5HNX.js";import{a as he}from"./chunk-52J7F6HR.js";import{b as Mt,c as nt,d as ot}from"./chunk-5XDCBC5Q.js";import{a as pe,b as me}from"./chunk-YYVQS5LF.js";import"./chunk-FLZXCWDU.js";import{b as it}from"./chunk-Q23KXB3T.js";import"./chunk-DHW7UHFT.js";import{a as te}from"./chunk-BY6QUHQI.js";import"./chunk-C2GO6SPF.js";import{a as Se,b as ve}from"./chunk-O4QM64EH.js";import{a as Ze,b as et,d as ae,k as le}from"./chunk-SVXDMOLP.js";import{a as oe,b as re}from"./chunk-S6X7PJAB.js";import"./chunk-LWLJZPBI.js";import"./chunk-3NU3P6NL.js";import{a as tt}from"./chunk-U2WQQNY6.js";import{a as Fe}from"./chunk-XKCLERWG.js";import{b as Ce}from"./chunk-H57SDRPH.js";import"./chunk-GDX5XEV3.js";import{a as Vt,b as ye}from"./chunk-DLUALPHU.js";import"./chunk-4DOELXOP.js";import"./chunk-VVUSFS6O.js";import"./chunk-ZTEDQLOG.js";import"./chunk-EDGADVEY.js";import"./chunk-JTDJJORR.js";import{d as He}from"./chunk-LZUGPBFD.js";import"./chunk-2KERKGCG.js";import{b as ne}from"./chunk-4CDAAU6Z.js";import{e as Je,f as Qe,h as ie}from"./chunk-5HGUQMKI.js";import"./chunk-X22YKT5B.js";import{a as Ue,b as ee}from"./chunk-JYCUE5HV.js";import{a as P,b as We,c as Ke,d as Ye,e as $e,f as Xe}from"./chunk-JMEBBWX4.js";import"./chunk-FUZFAJGJ.js";import{n as ze,o as qe,w as Q,x as Z}from"./chunk-5FSMHZSY.js";import{b as be}from"./chunk-A5HAJEPC.js";import{b as je,e as W,f as K,g as Ft,i as rt,k as Y,l as $,o as X,u as xe,x as J}from"./chunk-G5S5AZA7.js";import{b as Pe,e as H,l as U}from"./chunk-Z45NTTES.js";import{a as Dt}from"./chunk-IPXNFGXP.js";import{a as Oe}from"./chunk-BLQJXMNV.js";import"./chunk-F2X3VGZZ.js";import{h as Ae,k as j,p as Ge,q as z,r as q,x as Rt,y as Tt}from"./chunk-OKCHQM5Q.js";import{Ac as F,Bc as wt,Cb as b,D as Me,Ga as E,Jc as S,Kb as s,Kc as v,Lc as Be,Mc as d,Nb as Le,Pb as L,Qb as we,Sb as Re,Tb as Te,Ub as o,V as yt,Vb as r,W as Et,Wb as w,X as _e,Yc as T,Z as M,Zc as ge,_b as R,ba as It,bb as O,c as ue,cb as fe,dc as I,ec as c,gb as l,ha as C,hc as ke,pa as h,qa as x,qc as a,rc as f,s as Ve,sc as D,tc as De,vc as B,wb as k,wc as N,xc as G,yc as Ne,zc as V}from"./chunk-JP6RBSB3.js";import{a as g,b as y,c as de,e as vt}from"./chunk-YQFG5XE2.js";var A=(()=>{class t{constructor(){this.httpService=C(Dt),this.authService=C(he)}fetchGeneralLedgerLoader(e="single"){return this.httpService.get(void 0,`api/GeneralLedgerLoader/${e==="single"?"GetFilterSingle":"GetFilter"}`)}getGLCount(e){return this.httpService.post(void 0,"api/GeneralLedger/GetSingleCount",e)}fetchGeneralLedgerReport(e,i="single"){return this.httpService.post(void 0,`api/GeneralLedger/${i==="single"?"GetSingle":"Get"}`,e)}exportGeneralLedger(e,i={}){let n=g({responseType:"blob"},i);return this.httpService.post(void 0,"/api/GeneralLedgerExport/GetGeneralLedgerExport",e,n)}getCustomerSuggestions(e){let i={Prefix:e,Count:100};return this.httpService.get(this.authService.getTenantExternalURL(),"/API/AC/GetCustomerSuggestion",{params:i})}getSupplierSuggestions(e){let i={Prefix:e,Count:100};return this.httpService.get(this.authService.getTenantExternalURL(),"/API/AC/GetSupplierSuggestion",{params:i})}getCashierSuggestions(e){let i={Prefix:e,Count:100};return this.httpService.get(this.authService.getTenantExternalURL(),"/api/ac/GetUserSuggestion",{params:i})}getBalanceSheetLoader(){return this.httpService.get(void 0,"/api/BalanceSheetLoader/GetBalanceSheet")}getBalanceSheet(e,i={}){let n=new Tt({fromObject:Object.fromEntries(Object.entries(e).map(([_,Ut])=>[_,String(Ut)]))}),p=new Rt({"X-Timeout":"50000","X-Retry":"3","X-Retry-Delay":"2000","X-Exponential-Backoff":"true","X-Retry-On-500":"true","X-Retry-On-500-Message":"timeout expired"}),u=g({params:n,headers:p},i);return this.httpService.get(void 0,"/api/BalanceSheet",u)}getIncomeStatementLoader(){return this.httpService.get(void 0,"api/IncomeStatementLoader/Filter")}getIncomeStatement(e,i={}){return this.httpService.post(void 0,"api/IncomeStatement/List",g({},e),i)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=It({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var $t=()=>({width:"30vw"}),Xt=()=>({"1199px":"75vw","575px":"90vw"}),Jt=t=>["/pages/journal/journal-entry/",t],Qt=t=>({"ng-dirty ng-invalid":t});function Zt(t,m){if(t&1){let e=R();o(0,"p-button",17),I("onClick",function(){h(e);let n=c(2);return x(n.onToggleExportDialog())}),r()}}function ei(t,m){if(t&1&&(o(0,"div",14)(1,"a",15),a(2,"Return to Accounts"),r(),b(3,Zt,1,0,"p-button",16),r()),t&2){let e=c();l(3),s("ngIf",e.roleService.global.export)}}function ti(t,m){if(t&1&&(o(0,"div",14)(1,"span",24)(2,"h2",25),a(3),r()(),o(4,"span",24)(5,"h2",25),a(6),r()()()),t&2){let e=c(3);l(3),f(e.items().data.name),l(3),D(" (",e.items().data.chartOfAccountCode,") ")}}function ii(t,m){t&1&&(o(0,"tr")(1,"th",26),a(2,"Outlet"),r(),o(3,"th",26),a(4,"No."),r(),o(5,"th",26),a(6,"Date"),r(),o(7,"th"),a(8,"Contact / Note"),r(),o(9,"th",27),a(10,"Debit"),r(),o(11,"th",28),a(12,"Credit"),r(),o(13,"th",28),a(14,"Balance"),r()())}function ni(t,m){if(t&1&&(o(0,"div",31)(1,"a",32),a(2),r(),w(3,"div",34),o(4,"span",35),a(5),r()()),t&2){let e=c().$implicit,i=c(3);l(),s("href",i.authService.getTenantExternalURL()+i.buildReferenceUrl(e),fe),l(),f(e.referenceText),l(),s("innerHTML",e.journalNote,O),l(2),D("",e.note," ")}}function oi(t,m){if(t&1&&(o(0,"div",31),w(1,"span",34)(2,"div",34),o(3,"span",35),a(4),r()()),t&2){let e=c().$implicit;l(),s("innerHTML",e.referenceText,O),l(),s("innerHTML",e.journalNote,O),l(2),D("",e.note," ")}}function ri(t,m){if(t&1&&(o(0,"tr")(1,"td",29),a(2),r(),o(3,"td",29)(4,"a",30),a(5),r()(),o(6,"td",29),a(7),S(8,"date"),r(),o(9,"td",29)(10,"div",31)(11,"a",32),a(12),r(),b(13,ni,6,4,"div",31)(14,oi,5,3,"div",31),r()(),o(15,"td",33),a(16),S(17,"number"),r(),o(18,"td",33),a(19),S(20,"number"),r(),o(21,"td",33),a(22),S(23,"number"),r()()),t&2){let e=m.$implicit,i=c(3);l(2),f(e.outletName),l(2),s("routerLink",F(19,Jt,e.id)),l(),f(e.number),l(2),f(Be(8,10,e.date,"dd MMM yyyy")),l(4),s("href",i.authService.getTenantExternalURL()+"/menu/Contacts/Contact/Customers/Info?ID="+e.contactID,fe),l(),f(e.contactName),l(),L(i.buildReferenceUrl(e)?13:14),l(3),D(" ",v(17,13,e.debitAmount)," "),l(3),D(" ",v(20,15,e.creditAmount)," "),l(3),f(v(23,17,e.balance))}}function ai(t,m){if(t&1&&(o(0,"tr"),w(1,"td",36),o(2,"td",37),a(3,"Total"),r(),o(4,"td",37),a(5),S(6,"number"),r(),o(7,"td",37),a(8),S(9,"number"),r(),w(10,"td"),r()),t&2){let e=c(3);l(5),f(v(6,2,e.debitSubTotal())),l(3),D(" ",v(9,4,e.creditSubTotal())," ")}}function li(t,m){t&1&&(o(0,"tr")(1,"td",38)(2,"span"),a(3,"No records found."),r()()())}function pi(t,m){if(t&1){let e=R();o(0,"button",39),I("click",function(){h(e);let n=c(3);return x(n.getGLCount())})("keyup.enter",function(){h(e);let n=c(3);return x(n.getGLCount())}),r()}}function mi(t,m){if(t&1&&a(0),t&2){let e=c(3);D(" ",e.count()," ")}}function si(t,m){if(t&1){let e=R();o(0,"div",19)(1,"p-table",20),b(2,ti,7,2,"ng-template",null,5,d)(4,ii,15,0,"ng-template",null,6,d)(6,ri,24,21,"ng-template",null,7,d)(8,ai,11,6,"ng-template",null,4,d)(10,li,4,0,"ng-template",null,8,d),r(),o(12,"div",21)(13,"div"),a(14),b(15,pi,1,0,"button",22)(16,mi,1,1),a(17," entries "),r(),o(18,"div",14)(19,"p-button",23),I("onClick",function(){h(e);let n=c(2);return x(n.onNextPage())}),r()()()()}if(t&2){let e=c(2);l(),s("value",e.items().data.data),l(13),De(" Showing ",e.pagination().first," to ",e.pagination().end," of "),l(),L(e.totalRecords()===-1?15:16),l(4),s("disabled",!e.pagination().hasNext)}}function ci(t,m){if(t&1&&b(0,si,20,5,"div",18),t&2){let e=c();s("ngIf",e.items()&&e.items().data)}}function di(t,m){if(t&1&&(o(0,"div",14)(1,"div",24)(2,"span",58),a(3),r()(),o(4,"div")(5,"span"),a(6,"-"),r()(),o(7,"div",24)(8,"span",59),a(9),r()()()),t&2){let e=m.$implicit;l(3),D("(",e.code,")"),l(6),f(e.name)}}function ui(t,m){if(t&1&&(o(0,"div",14)(1,"div",24)(2,"span",58),a(3),r()(),o(4,"div")(5,"span"),a(6,"-"),r()(),o(7,"div",24)(8,"span",59),a(9),r()()()),t&2){let e=m.$implicit;l(3),D("(",e.code,")"),l(6),f(e.name)}}function _i(t,m){t&1&&(o(0,"div",60),a(1," Account is required. "),r())}function fi(t,m){if(t&1&&(o(0,"div",61)(1,"div"),a(2),r()()),t&2){let e=m.$implicit;l(2),f(e.value)}}function gi(t,m){if(t&1&&(o(0,"div",51)(1,"div",52),w(2,"p-radiobutton",62),o(3,"label",63),a(4),r()()()),t&2){let e=m.$implicit;l(2),s("value",e.key)("inputId",e.key),l(),ke("for",e.key),l(),f(e.value)}}function hi(t,m){if(t&1){let e=R();o(0,"div",31)(1,"label",42),a(2,"Customer"),r(),o(3,"p-autocomplete",64),I("completeMethod",function(n){h(e);let p=c(3);return x(p.searchCustomer(n))}),r()()}if(t&2){let e=c(3);l(3),s("suggestions",e.customerSuggestions())}}function xi(t,m){if(t&1){let e=R();o(0,"div",31)(1,"label",42),a(2,"Supplier"),r(),o(3,"p-autocomplete",65),I("completeMethod",function(n){h(e);let p=c(3);return x(p.searchSupplier(n))}),r()()}if(t&2){let e=c(3);l(3),s("suggestions",e.supplierSuggestions())}}function bi(t,m){if(t&1){let e=R();o(0,"div",31)(1,"label",42),a(2,"Customer"),r(),o(3,"p-autocomplete",64),I("completeMethod",function(n){h(e);let p=c(3);return x(p.searchCustomer(n))}),r()()}if(t&2){let e=c(3);l(3),s("suggestions",e.customerSuggestions())}}function Ci(t,m){if(t&1){let e=R();o(0,"form",41)(1,"div",31)(2,"label",42),a(3,"Accounts"),r(),o(4,"p-select",43),I("onChange",function(n){h(e);let p=c(2);return x(p.onAccountChange(n))}),b(5,di,10,2,"ng-template",null,9,d)(7,ui,10,2,"ng-template",null,10,d),r(),b(9,_i,2,0,"div",44),r(),o(10,"div",31)(11,"label",42),a(12,"From"),r(),o(13,"div",45),w(14,"p-datepicker",46)(15,"p-datepicker",47),r()(),o(16,"div",31)(17,"label",42),a(18,"Outlets"),r(),o(19,"p-multiselect",48),b(20,fi,3,1,"ng-template",null,10,d),r()(),o(22,"div",31)(23,"label",49),a(24,"Contact Type"),r(),o(25,"div",50),Re(26,gi,5,4,"div",51,we),r()(),o(28,"div",31)(29,"label",49),a(30,"Sort order"),r(),o(31,"div",50)(32,"div",51)(33,"div",52),w(34,"p-radiobutton",53),o(35,"label",54),a(36,"Asc"),r()()(),o(37,"div",55)(38,"div",52),w(39,"p-radiobutton",56),o(40,"label",57),a(41,"Desc"),r()()()()(),b(42,hi,4,1,"div",31)(43,xi,4,1,"div",31)(44,bi,4,1,"div",31),r()}if(t&2){let e,i,n,p=c(2);s("formGroup",p.form),l(4),s("virtualScroll",!0)("virtualScrollItemSize",50)("options",p.loaderMetadata().options.accounts)("ngClass",F(16,Qt,((e=p.form.get("accountID"))==null?null:e.invalid)&&(((e=p.form.get("accountID"))==null?null:e.touched)||((e=p.form.get("accountID"))==null?null:e.dirty)))),l(5),s("ngIf",((i=p.form.get("accountID"))==null?null:i.invalid)&&(((i=p.form.get("accountID"))==null?null:i.touched)||((i=p.form.get("accountID"))==null?null:i.dirty))),l(5),s("iconDisplay","input")("showIcon",!0),l(),s("iconDisplay","input")("showIcon",!0),l(4),s("virtualScroll",!0)("virtualScrollItemSize",50)("options",p.loaderMetadata().options.outlets),l(7),Te(p.loaderMetadata().options.contactTypeOptions),l(8),s("value",!0),l(5),s("value",!1),l(3),L((n=p.form.controls.contactType.value)===1?42:n===2?43:44)}}function Si(t,m){if(t&1&&b(0,Ci,45,18,"form",40),t&2){let e=c();s("ngIf",e.loaderMetadata())}}function vi(t,m){if(t&1&&(o(0,"div",66)(1,"div",67)(2,"div",68)(3,"div",50)(4,"div",69)(5,"label",49),a(6,"Page"),r()(),o(7,"div",69),w(8,"input",70),r()()()(),o(9,"div",71)(10,"div",52),w(11,"i",72),o(12,"span",73),a(13),S(14,"number"),S(15,"number"),r()()()()),t&2){let e=c();l(),s("formGroup",e.form),l(12),De("Exporting data from ",v(14,3,e.filter().exportPageNumber)," - ",v(15,5,e.filter().exportRowCount),"")}}function yi(t,m){if(t&1){let e=R();o(0,"p-button",74),I("onClick",function(){h(e);let n=c();return x(n.onToggleExportDialog())}),r()}t&2&&s("rounded",!0)("text",!0)}function Ei(t,m){if(t&1){let e=R();o(0,"p-button",75),I("click",function(){h(e);let n=c();return x(n.onToggleExportDialog())}),r(),o(1,"p-button",76),I("click",function(){h(e);let n=c();return x(n.onExport())}),r()}}var Bt=(()=>{class t{getGLCount(){this.reportService.getGLCount(this.filter()).pipe(M(({count:e})=>{this.totalRecords.set(e)})).subscribe()}onToggleExportDialog(){this.isDialogExportVisible.update(e=>!e)}get pageTitle(){return this.items()&&this.items().pageTitle?this.items().pageTitle:"General Ledger"}constructor(){this.reportService=C(A),this.route=C(Pe),this.roleService=C(te),this.authService=C(he),this.fb=C(xe),this.coaService=C(tt),this.toastr=C(Oe),this.dayjsService=C(se),this.infinity=1/0,this.metadata=E(null),this.items=E(null),this.totalRecords=E(-1),this.dialogFilterVisible=E(!0),this.initDialogVisible=E(!1),this.isDialogExportVisible=E(!1),this.customerSuggestions=E([]),this.supplierSuggestions=E([]),this.categoriesOptions=E([]),this.localFilter=E({}),this.count=T(()=>this.totalRecords()<0?1/0:this.totalRecords()),this.pagination=T(()=>{let e=this.filter(),i=this.totalRecords()!=null&&this.totalRecords()>=0?this.totalRecords():1/0,n=Math.min(e.pageNumber*e.pageSize,isFinite(i)?i:e.pageNumber*e.pageSize);return{first:1,end:e.pageSize>0?n:0,total:i,page:e.pageNumber,pageSize:e.pageSize,hasPrev:e.pageNumber>1,hasNext:isFinite(i)?e.pageNumber*e.pageSize<i:!0}}),this.loaderMetadata=be(this.reportService.fetchGeneralLedgerLoader(),{initialValue:null}),this.baseFilter=T(()=>{let e=this.loaderMetadata();return e?e.filter:null}),this.exportFileTypes=E([{key:0,value:"CSV"},{key:1,value:"Excel"}]),this.queryFilter=be(this.route.queryParamMap.pipe(Ve(e=>({accountID:e.get("id"),to:e.get("to")}))),{initialValue:null}),this.filter=T(()=>{let e=this.baseFilter(),i=this.queryFilter(),n=this.localFilter();return e?g(g(g({},e),i??{}),n):null}),this.creditSubTotal=T(()=>(this.items()?.data?.data??[]).reduce((i,n)=>i+(Number(n.creditAmount)||0),0)),this.debitSubTotal=T(()=>(this.items()?.data?.data??[]).reduce((i,n)=>i+(Number(n.debitAmount)||0),0)),this.hasNextPage=T(()=>{let e=this.filter();if(!e)return!1;let i=Math.ceil(e.rowCount/e.pageSize);return e.pageNumber<i}),this.initializeForm(),ge(()=>{let e=this.filter();e&&e.accountID&&(this.form.patchValue(this.transformFilterToFormValue(e),{emitEvent:!1}),this.reportService.fetchGeneralLedgerReport(e).subscribe(i=>{this.items.update(n=>e.pageNumber===1?i:y(g({},i),{data:y(g({},i.data),{data:[...n?.data.data??[],...i.data.data]})}))}))})}buildReferenceUrl(e){return kt(e)}ngOnInit(){this.route.queryParamMap.pipe(Me(e=>e.keys.length>0)).subscribe({next:()=>this.initDialogVisible.set(!0)})}initializeForm(){this.form=this.fb.group({accountID:this.fb.control(null),from:this.fb.control(null),to:this.fb.control(new Date),contactType:this.fb.control(null),contactID:this.fb.control(""),listOutletID:this.fb.control([]),pageNumber:this.fb.control(1),pageSize:this.fb.control(50),sortAscending:this.fb.control(!0),listAccountID:this.fb.control([]),rowCount:this.fb.control(0),export:this.fb.control(!1),exportPageNumber:this.fb.control(1),exportRowCount:this.fb.control(0)})}findNodeByKey(e,i){for(let n of e){if(n.key===i)return n;if(n.children){let p=this.findNodeByKey(n.children,i);if(p)return p}}return null}transformFilterToFormValue(e){return Object.entries(e).reduce((i,[n,p])=>{switch(n){case"from":break;case"to":i[n]=p&&(typeof p=="string"||typeof p=="number"||p instanceof Date)?this.dayjsService.from(p)?.toDate():this.dayjsService.now.toDate();break;case"listCategoryID":Array.isArray(p)?i[n]=p.map(u=>this.findNodeByKey(this.categoriesOptions(),u)).filter(u=>!!u):i[n]=[];break;case"listOutletID":case"listAccountID":i[n]=Array.isArray(p)?p:[];break;case"pageNumber":case"pageSize":case"rowCount":case"exportPageNumber":case"exportRowCount":i[n]=p!=null?Number(p):0;break;case"sortAscending":case"export":i[n]=!!p;break;case"contactType":i[n]=p!=null?Number(p):null;break;default:i[n]=p}return i},{})}clearContactValueOnContactTypeChange(){this.form.get("contactType")?.valueChanges.subscribe(()=>this.form.get("contactID")?.setValue(""))}isEmpty(e){return e==null||typeof e=="string"&&e.trim().length===0}onCategoryFocus(){this.coaService.getCachedCategoriesOptions().pipe(M(e=>this.categoriesOptions.set(e))).subscribe()}searchCustomer(e){this.reportService.getCustomerSuggestions(e.query).pipe(M(i=>this.customerSuggestions.set(i))).subscribe()}searchSupplier(e){this.reportService.getSupplierSuggestions(e.query).pipe(M(i=>this.supplierSuggestions.set(i))).subscribe()}onAccountChange(e){Array.isArray(e.value)&&e.value.length>=1&&this.toastr.warning("Please select at least 1 accounts for the general ledger report.","Warning")}onFilterOKEvent(){if(this.form.invalid){this.form.markAllAsTouched(),this.dialogFilterVisible.set(!0);return}let e=this.buildFilterBody();this.dialogFilterVisible.set(!1),this.localFilter.set(e)}buildFilterBody(){let p=this.form.getRawValue(),{from:e,to:i}=p,n=de(p,["from","to"]);return y(g({},this.filter()),{pageNumber:n.pageNumber,pageSize:n.pageSize,sortAscending:n.sortAscending,accountID:n.accountID,contactID:n.contactID?.length===0?null:n.contactID,listOutletID:n.listOutletID??[],listAccountID:n.listAccountID??[],from:this.dayjsService.from(e)?this.dayjsService.format(e):null,to:this.dayjsService.from(i)?this.dayjsService.format(i):null,contactType:n.contactType})}onExport(){let e=this.buildExportBody();this.performExport(e)}performExport(e){this.reportService.exportGeneralLedger(e,{responseType:"blob",observe:"response"}).pipe(M(i=>this.handleExportResponse(i))).subscribe()}handleExportResponse(e){let i=e.headers,n=i.get("Content-Disposition")??i.get("content-disposition"),p="download.csv";if(n){let _=n.match(/filename\*?=(?:UTF-8'')?"?([^;\r\n"]+)/i);_?.[1]&&(p=decodeURIComponent(_[1].replace(/"/g,"")))}let u=e.body;ot(u,p,u.type)}buildExportBody(){let p=this.form.value,{from:e,to:i}=p,n=de(p,["from","to"]);return y(g({},this.filter()),{exportPageNumber:+n.exportPageNumber,pageNumber:n.pageNumber,pageSize:n.pageSize,sortAscending:n.sortAscending,accountID:n.accountID,contactID:n.contactID?.length===0?null:n.contactID,listOutletID:n.listOutletID??[],listAccountID:n.listAccountID??[],from:this.dayjsService.from(e)?this.dayjsService.format(e):null,to:this.dayjsService.from(i)?this.dayjsService.format(i):null,contactType:n.contactType,export:!0})}onNextPage(){this.localFilter.update(e=>{let i=e.pageNumber??this.baseFilter()?.pageNumber??1;return y(g({},e),{pageNumber:i+1,balance:this.items().data.data[this.items().data.data.length-1]?.balance??0})})}onPrevPage(){this.localFilter.update(e=>{let i=e.pageNumber??this.baseFilter()?.pageNumber??1;return y(g({},e),{pageNumber:Math.max(1,i-1)})})}goToPage(e){this.localFilter.update(i=>y(g({},i),{pageNumber:e}))}goToLastPage(){let e=this.filter();if(!e)return;let i=this.totalRecords();if(i===-1||!isFinite(i)){this.toastr.info("Please load total records before going to the last page","Info");return}let n=Math.ceil(i/e.pageSize);if(e.pageNumber>=n){this.toastr.warning("You are already on the last page","Warning");return}this.localFilter.update(p=>y(g({},p),{pageNumber:n}))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["app-report-general-ledger"]],decls:13,vars:13,consts:[["actionButton",""],["content",""],["filters",""],["closeIconTemplate",""],["footer",""],["caption",""],["header",""],["body",""],["emptymessage",""],["selectedItem",""],["item",""],[3,"isDialogFilterVisibleChange","isInitDialogFilterVisibleChange","filterConfirmed","pageTitle","isDialogFilterVisible","isFilterable","isInitDialogFilterVisible","scrollable"],["header","Export Journal Entry",3,"visibleChange","modal","visible","breakpoints"],["class","d-flex flex-column gap-3",4,"ngIf"],[1,"d-flex","gap-2"],["routerLink","/pages/chart-of-account/account",1,"p-button","p-button-secondary","p-button-outlined","fs-3"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick",4,"ngIf"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick"],["class","px-3 h-100 bg-white border-top",4,"ngIf"],[1,"px-3","h-100","bg-white","border-top"],[3,"value"],[1,"d-flex","justify-content-between","align-items-center","my-2"],["type","button","aria-label","Get journal entry count","tabindex","0",1,"fa-solid","fa-circle-question","cursor-pointer","p-0","border-0","bg-transparent"],["variant","outlined","severity","secondary","icon","fa-solid fa-angle-right","size","small","label","next",3,"onClick","disabled"],[1,""],[1,"fs-5","fw-semibold"],[2,"width","10%"],[1,"text-end",2,"width","10%"],[1,"text-end",2,"width","20%"],[1,"text-break"],["target","_blank",1,"link","link-primary",3,"routerLink"],[1,"d-flex","flex-column"],["target","_blank",1,"link","link-primary",3,"href"],[1,"text-end","text-break"],[3,"innerHTML"],[2,"width","300px","white-space","normal","word-break","break-word"],["colspan","3"],[1,"text-end","fw-semibold"],["colspan","8"],["type","button","aria-label","Get journal entry count","tabindex","0",1,"fa-solid","fa-circle-question","cursor-pointer","p-0","border-0","bg-transparent",3,"click","keyup.enter"],["class","d-flex flex-column row-gap-3",3,"formGroup",4,"ngIf"],[1,"d-flex","flex-column","row-gap-3",3,"formGroup"],["for","outlet"],["showClear","","filter","","filterBy","code,name","display","chip","formControlName","accountID","appendTo","body","optionLabel","name","optionValue","id","placeholder","Select Accounts",3,"onChange","virtualScroll","virtualScrollItemSize","options","ngClass"],["class","text-danger",4,"ngIf"],[1,"d-flex","flex-column","gap-2"],["showClear","","formControlName","from","styleClass","w-100","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"],["showClear","","formControlName","to","styleClass","w-100","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"],["showClear","","display","chip","formControlName","listOutletID","appendTo","body","optionLabel","value","optionValue","key","placeholder","Select Outlets",3,"virtualScroll","virtualScrollItemSize","options"],["for",""],[1,"row"],[1,"col-4"],[1,"d-flex","align-items-center","gap-2"],["name","sortAscending","formControlName","sortAscending","inputId","asc",3,"value"],["for","asc",1,"m-0"],[1,"col-3"],["name","sortAscending","formControlName","sortAscending","inputId","desc",3,"value"],["for","desc",1,"m-0"],[1,"h-full","align-middle"],[1,"text-truncate","d-inline-block","h-full","align-middle"],[1,"text-danger"],[1,"flex","items-center","gap-2"],["name","contactType","formControlName","contactType",3,"value","inputId"],[1,"m-0",3,"for"],["formControlName","contactID","appendTo","body","styleClass","w-100","optionLabel","Value","optionValue","Key","inputStyleClass","w-100",3,"completeMethod","suggestions"],["formControlName","ContactID","appendTo","body","styleClass","w-100","optionLabel","Value","optionValue","Key","inputStyleClass","w-100",3,"completeMethod","suggestions"],[1,"d-flex","flex-column","gap-3"],[1,"row",3,"formGroup"],[1,"col-8"],[1,"col"],["type","text","formControlName","exportPageNumber","fluid","","pInputText","","pSize","small"],["role","alert",1,"alert","alert-primary","m-0","p-2"],[1,"fa-solid","fa-circle-info"],[1,"fs-2","text-dark","fw-semibold"],["severity","secondary","variant","outlined","icon","fa-solid fa-xmark",3,"onClick","rounded","text"],["label","Cancel","severity","secondary","variant","outlined",3,"click"],["label","OK (F2)",3,"click"]],template:function(i,n){if(i&1){let p=R();o(0,"app-main-panel",11),G("isDialogFilterVisibleChange",function(_){return h(p),N(n.dialogFilterVisible,_)||(n.dialogFilterVisible=_),x(_)})("isInitDialogFilterVisibleChange",function(_){return h(p),N(n.initDialogVisible,_)||(n.initDialogVisible=_),x(_)}),I("filterConfirmed",function(){return h(p),x(n.onFilterOKEvent())}),b(1,ei,4,1,"ng-template",null,0,d)(3,ci,1,1,"ng-template",null,1,d)(5,Si,1,1,"ng-template",null,2,d),r(),o(7,"p-dialog",12),G("visibleChange",function(_){return h(p),N(n.isDialogExportVisible,_)||(n.isDialogExportVisible=_),x(_)}),b(8,vi,16,7,"div",13)(9,yi,1,2,"ng-template",null,3,d)(11,Ei,2,0,"ng-template",null,4,d),r()}i&2&&(s("pageTitle",n.pageTitle),B("isDialogFilterVisible",n.dialogFilterVisible),s("isFilterable",!0),B("isInitDialogFilterVisible",n.initDialogVisible),s("scrollable",!0),l(7),Le(V(11,$t)),s("modal",!0),B("visible",n.isDialogExportVisible),s("breakpoints",V(12,Xt)),l(),s("ngIf",n.form&&n.filter()))},dependencies:[ie,q,Ae,j,z,Ge,ne,le,ae,Qe,Je,Z,Q,ye,Vt,re,oe,Ie,Ee,J,Y,je,W,K,$,X,me,pe,Ce,He,nt,it,ee,U,H,et,Ze,qe,ze],styles:["[_nghost-%COMP%] .p-datatable .p-datatable-header{padding:.75rem 1rem .75rem 0}"],changeDetection:0})}}return t})();var Ii={data:{},filter:{EntityID:[],CashierID:null,Text:null,from:null,to:null},isLoading:!0,loader:{options:{outlets:[]},filter:{from:"",to:"",outletID:[]},roles:{isInRoleEmptyOutlet:!1}}},ut=We(Xe(Ii),Ke(t=>{let m={totalCOGS:T(()=>{let e=t.data()?.data?.cogs;return Array.isArray(e)?e.reduce((i,n)=>i+(n?.amount??0),0):0}),totalRevenue:T(()=>{let e=t.data()?.data?.revenue;return Array.isArray(e)?e.reduce((i,n)=>i+(n?.amount??0),0):0}),totalExpense:T(()=>{let e=t.data()?.data?.expense;return Array.isArray(e)?e.reduce((i,n)=>i+(n?.amount??0),0):0}),grossProfit:T(()=>Array.isArray(t.data()?.data?.cogs)&&Array.isArray(t.data()?.data?.revenue)?m.totalRevenue()-m.totalCOGS():0),profitOrLoss:T(()=>m.totalRevenue()-m.totalCOGS()-m.totalExpense()),isDataEmpty:T(()=>Object.keys(t.data()?.data??{}).length===0)};return m}),$e(t=>{let m=C(A),e=C(se),i={updateFilter(n){P(t,p=>y(g({},p),{filter:g(g({},p.filter),n)}))},getLoader:Se(ue(_e(()=>m.getIncomeStatementLoader().pipe(ve({next:n=>{P(t,p=>y(g({},p),{loader:n,filter:y(g({},p.filter),{from:e.from(n.filter.from).format(),to:e.from(n.filter.to).format()})})),i.getIncomeStatement(t.filter)},error:n=>{console.error(n)}}))))),getIncomeStatement:Se(ue(_e(n=>m.getIncomeStatement(n).pipe(Et(()=>P(t,p=>y(g({},p),{isLoading:!0}))),ve({next:p=>{P(t,u=>y(g({},u),{data:p,isLoading:!1}))},error:p=>{console.error(p)}})))))};return i}),Ye({onInit:t=>{t.getLoader()}}));var _t=()=>({}),ft=t=>["/pages/chart-of-account/account/",t],gt=()=>["/pages/report/general-ledger"],ht=t=>({id:t});function Ri(t,m){if(t&1){let e=R();o(0,"p-button",10),I("onClick",function(){h(e);let n=c(2);return x(n.onExport())}),r()}}function Ti(t,m){if(t&1&&(o(0,"div",8),b(1,Ri,1,0,"p-button",9),r()),t&2){let e=c();l(),s("ngIf",e.roleService.global.export)}}function Di(t,m){t&1&&(o(0,"tr")(1,"th",14),a(2,"Code"),r(),o(3,"th",15),a(4,"Name"),r(),o(5,"th",16),a(6,"Total"),r()())}function Fi(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",17),a(5),r()(),o(6,"td",16)(7,"a",18),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit;l(2),f(e.code),l(2),s("routerLink",F(8,ft,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,gt))("queryParams",F(11,ht,e.accountID)),l(),f(v(9,6,e.amount))}}function Vi(t,m){if(t&1&&(o(0,"tr")(1,"td",19)(2,"div",20)(3,"span",21),a(4,"Total Revenue :"),r(),o(5,"span",22),a(6),S(7,"number"),r()()()()),t&2){let e=c(3);l(6),f(v(7,1,e.store.totalRevenue()))}}function Mi(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No revenue records available"),r()()())}function Li(t,m){if(t&1&&(o(0,"h6",12),a(1,"Revenue"),r(),o(2,"p-table",13),b(3,Di,7,0,"ng-template",null,3,d)(5,Fi,10,13,"ng-template",null,4,d)(7,Vi,8,3,"ng-template",null,5,d)(9,Mi,4,0,"ng-template",null,6,d),r()),t&2){let e,i=c(2);l(2),s("value",(e=i.store.data())==null||e.data==null?null:e.data.revenue)}}function ki(t,m){t&1&&(o(0,"tr")(1,"th",14),a(2,"Code"),r(),o(3,"th",15),a(4,"Name"),r(),o(5,"th",24),a(6,"Total"),r()())}function Ni(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",17),a(5),r()(),o(6,"td",16)(7,"a",18),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit;l(2),f(e.code),l(2),s("routerLink",F(8,ft,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,gt))("queryParams",F(11,ht,e.accountID)),l(),f(v(9,6,e.amount))}}function Bi(t,m){if(t&1&&(o(0,"tr")(1,"td",19)(2,"div",20)(3,"span",21),a(4,"Total COGS :"),r(),o(5,"span",22),a(6),S(7,"number"),r()()()(),o(8,"tr")(9,"td",19)(10,"div",20)(11,"span",21),a(12,"Gross Profit :"),r(),o(13,"span",22),a(14),S(15,"number"),r()()()()),t&2){let e=c(3);l(6),f(v(7,2,e.store.totalCOGS())),l(8),f(v(15,4,e.store.grossProfit()))}}function Ai(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No COGS records available"),r()()())}function Gi(t,m){if(t&1&&(o(0,"h4",12),a(1,"COGS"),r(),o(2,"p-table",13),b(3,ki,7,0,"ng-template",null,3,d)(5,Ni,10,13,"ng-template",null,4,d)(7,Bi,16,6,"ng-template",null,5,d)(9,Ai,4,0,"ng-template",null,6,d),r()),t&2){let e,i=c(2);l(2),s("value",(e=i.store.data())==null||e.data==null?null:e.data.cogs)}}function Pi(t,m){t&1&&(o(0,"tr")(1,"th",14),a(2,"Code"),r(),o(3,"th",15),a(4,"Name"),r(),o(5,"th",16),a(6,"Total"),r()())}function Oi(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",17),a(5),r()(),o(6,"td",16)(7,"a",18),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit;l(2),f(e.code),l(2),s("routerLink",F(8,ft,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,gt))("queryParams",F(11,ht,e.accountID)),l(),f(v(9,6,e.amount))}}function ji(t,m){if(t&1&&(o(0,"tr")(1,"td",19)(2,"div",20)(3,"span",21),a(4,"Total Expense :"),r(),o(5,"span",22),a(6),S(7,"number"),r()()()(),o(8,"tr")(9,"td",19)(10,"div",20)(11,"span",21),a(12,"Profit / Loss :"),r(),o(13,"span",22),a(14),S(15,"number"),r()()()()),t&2){let e=c(3);l(6),f(v(7,2,e.store.totalExpense())),l(8),f(v(15,4,e.store.profitOrLoss()))}}function zi(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No expense records available"),r()()())}function qi(t,m){if(t&1&&(o(0,"h4",12),a(1,"Expense"),r(),o(2,"p-table",13),b(3,Pi,7,0,"ng-template",null,3,d)(5,Oi,10,13,"ng-template",null,4,d)(7,ji,16,6,"ng-template",null,5,d)(9,zi,4,0,"ng-template",null,6,d),r()),t&2){let e,i=c(2);l(2),s("value",(e=i.store.data())==null||e.data==null?null:e.data.expense)}}function Hi(t,m){if(t&1&&(o(0,"p-panel")(1,"div",11),b(2,Li,11,1)(3,Gi,11,1)(4,qi,11,1),r()()),t&2){let e,i,n,p=c();l(2),L(p.Object.keys((e=p.store.data().data)!==null&&e!==void 0?e:V(3,_t)).length>0?2:-1),l(),L(p.Object.keys((i=(i=p.store.data().data)==null?null:i.cogs)!==null&&i!==void 0?i:V(4,_t)).length>0?3:-1),l(),L(p.Object.keys((n=(n=p.store.data().data)==null?null:n.expense)!==null&&n!==void 0?n:V(5,_t)).length>0?4:-1)}}function Ui(t,m){if(t&1){let e=R();o(0,"form",25)(1,"div",26)(2,"label",27),a(3,"Outlet"),r(),w(4,"p-multiselect",28),r(),o(5,"div",26)(6,"label",27),a(7,"Cashier"),r(),o(8,"p-autocomplete",29),I("completeMethod",function(n){h(e);let p=c();return x(p.onCashierSearch(n))})("onSelect",function(n){h(e);let p=c();return x(p.onCashierSelect(n))}),r()(),o(9,"div",26)(10,"label",30),a(11,"From - To"),r(),o(12,"div",31),w(13,"p-datepicker",32)(14,"p-datepicker",33),r()()()}if(t&2){let e=c();s("formGroup",e.formFilter),l(4),s("virtualScroll",!0)("virtualScrollItemSize",50)("options",e.store.loader().options.outlets)("showClear",!0),l(4),s("showClear",!0)("suggestions",e.cashierSuggestions())("showClear",!0),l(5),s("iconDisplay","input")("showIcon",!0),l(),s("iconDisplay","input")("showIcon",!0)}}var At=(()=>{class t{constructor(){this.dayjsService=C(se),this.store=C(ut),this.fb=C(xe),this.reportService=C(A),this.roleService=C(te),this.isInitDialogFilterVisible=E(!1),this.dialogFilterVisible=E(!1),this.cashierSuggestions=E([]),this.cashierHashMap=new Map,this.Object=Object,ge(()=>{this.store.filter()&&this.initForm()})}ngOnInit(){this.initForm(),console.log(this.cashierHashMap.entries())}onSearch(e){this.store.updateFilter(y(g({},this.store.filter()),{Text:e}))}onCashierSearch(e){this.reportService.getCashierSuggestions(e.query).pipe(Fe("Cashier Suggestions"),M(i=>this.cashierSuggestions.set(i))).subscribe()}initForm(){let e=this.store.filter();console.log("initForm",this.cashierHashMap.get(e.CashierID)),this.formFilter=this.fb.group({EntityID:this.fb.control(e.EntityID??[]),CashierID:this.fb.control(this.cashierHashMap.get(e.CashierID)??""),Text:this.fb.control(e.Text??""),from:this.fb.control(e.from?this.dayjsService.from(e.from).toDate():null),to:this.fb.control(e.to?this.dayjsService.from(e.to).toDate():null)})}onFilterOK(){let e=this.formFilter.getRawValue(),i=Object.entries(e).reduce((n,[p,u])=>(p==="from"||p==="to"?u instanceof Date&&(n[p]=this.dayjsService.from(u).format()):n[p]=u||null,n),{});this.store.updateFilter(g(g({},this.store.filter()),i)),this.dialogFilterVisible.update(n=>!n),console.log("body",e)}onCashierSelect(e){console.log("Cashier selected:",e),!this.cashierHashMap.has(e.value.Key)&&(this.cashierHashMap.set(e.value.Key,e.value.Value),console.log("Cashier HashMap:",this.cashierHashMap))}onExport(){let e=y(g({},this.store.filter()),{export:!0,ExportPageNumber:1,ExportRowCount:1e4});this.reportService.getIncomeStatement(e,{responseType:"blob"}).pipe(Fe("Export Profit & Loss"),M(i=>{let n=i.type,p=[i],u=document.createElement("a");u.href=window.URL.createObjectURL(new Blob(p,{type:n}));let _=`profit-and-loss.${n.split("/")[1]}`;u.setAttribute("download",_),document.body.appendChild(u),u.click(),document.body.removeChild(u)})).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["app-report-income-statement"]],features:[Ne([ut])],decls:7,vars:5,consts:[["actionButton",""],["content",""],["filters",""],["header",""],["body",""],["footer",""],["emptymessage",""],[3,"isDialogFilterVisibleChange","isInitDialogFilterVisibleChange","filterConfirmed","isFilterable","pageTitle","isDialogFilterVisible","isInitDialogFilterVisible","scrollable"],[1,"d-flex","gap-2"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick",4,"ngIf"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick"],[1,"d-flex","flex-column","gap-3"],[1,"fs-5","fw-semibold"],[3,"value"],[2,"width","20%"],[2,"width","30%"],[1,"text-end"],["target","_blank",1,"link","link-primary",3,"routerLink"],["target","_blank",1,"link","link-primary",3,"routerLink","queryParams"],["colspan","3",1,"text-end","fw-semibold"],[1,"row"],[1,"col"],[1,"col-1","col-lg-2"],["colspan","3",1,""],[1,"text-end",2,"min-width","10%"],[1,"d-flex","flex-column","gap-3",3,"formGroup"],[1,"d-flex","flex-column"],["for",""],["formControlName","EntityID","filterBy","value","appendTo","body","display","chip","optionLabel","value","optionValue","key","placeholder","Select an Outlet",3,"virtualScroll","virtualScrollItemSize","options","showClear"],["appendTo","body","formControlName","CashierID","optionLabel","Value","optionValue","Key","styleClass","w-100","inputStyleClass","w-100","field","Value","placeholder","Search a cashier",3,"completeMethod","onSelect","showClear","suggestions"],["for","outlet"],[1,"d-flex","flex-column","gap-2"],["formControlName","from","styleClass","w-100 mb-0","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"],["formControlName","to","styleClass","w-100","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"]],template:function(i,n){if(i&1){let p=R();o(0,"app-main-panel",7),G("isDialogFilterVisibleChange",function(_){return h(p),N(n.dialogFilterVisible,_)||(n.dialogFilterVisible=_),x(_)})("isInitDialogFilterVisibleChange",function(_){return h(p),N(n.isInitDialogFilterVisible,_)||(n.isInitDialogFilterVisible=_),x(_)}),I("filterConfirmed",function(){return h(p),x(n.onFilterOK())}),b(1,Ti,2,1,"ng-template",null,0,d)(3,Hi,5,6,"ng-template",null,1,d)(5,Ui,15,12,"ng-template",null,2,d),r()}i&2&&(s("isFilterable",!0)("pageTitle",n.store.data().pageTitle),B("isDialogFilterVisible",n.dialogFilterVisible)("isInitDialogFilterVisible",n.isInitDialogFilterVisible),s("scrollable",!0))},dependencies:[ie,q,j,z,ye,re,oe,J,Y,W,K,$,X,me,pe,ne,le,ae,ee,Ue,U,H,Ie,Ee,Z,Q],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})}}return t})();var xt=vt(Lt());var Wi={metadata:{options:{outlets:[]},filter:{to:"",outletID:[]},roles:{isInRoleEmptyOutlet:!1}},data:{asset:[],liability:[],equity:[],pageTitle:""},filter:{date:(0,xt.default)().format("YYYY-MM-DD"),listOutletParam:[]}},bt=We(Xe(Wi),Ke(t=>({totalAsset:T(()=>t.data().asset.reduce((m,e)=>m+ +e.amount,0)),totalLiability:T(()=>t.data().liability.reduce((m,e)=>m+ +e.counterAmount,0)),totalEquity:T(()=>t.data().equity.reduce((m,e)=>m+ +e.counterAmount,0))})),$e(t=>{let m=C(A),e={updateFilter:i=>{P(t,n=>y(g({},n),{filter:i}))},fetchBalanceSheet:Se(ue(Me(()=>{let i=t.filter();return Object.entries(i).every(([n,p])=>p!=null&&p!=="")}),_e(i=>m.getBalanceSheet(i).pipe(ve({next:n=>{P(t,p=>y(g({},p),{data:n}))},error:n=>{console.error(n)}}))),yt(1))),fetchLoader:Se(ue(_e(()=>m.getBalanceSheetLoader().pipe(ve({next:i=>{P(t,n=>y(g({},n),{metadata:i,filter:{date:(0,xt.default)(i.filter.to).format("YYYY-MM-DD")}})),e.fetchBalanceSheet(t.filter)},error:i=>{console.error(i)}})))))};return e}),Ye(t=>({onInit:()=>{t.fetchLoader()}})));var Gt=vt(Lt());var Ct=t=>["/pages/chart-of-account/account/",t],St=()=>["/pages/report/general-ledger"],Ki=(t,m)=>({id:t,to:m}),Pt=t=>({id:t});function Yi(t,m){if(t&1){let e=R();o(0,"p-button",11),I("onClick",function(){h(e);let n=c(2);return x(n.onExport())}),r()}}function $i(t,m){if(t&1&&(o(0,"div",9),b(1,Yi,1,0,"p-button",10),r()),t&2){let e=c();l(),s("ngIf",e.roleService.global.export)}}function Xi(t,m){t&1&&(o(0,"tr")(1,"th",16),a(2,"Code"),r(),o(3,"th"),a(4,"Asset"),r(),o(5,"th",17),a(6,"Total"),r()())}function Ji(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",18),a(5),r()(),o(6,"td",19)(7,"a",20),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit,i=c(3);l(2),f(e.code),l(2),s("routerLink",F(8,Ct,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,St))("queryParams",wt(11,Ki,e.accountID,i.store.filter().date)),l(),f(v(9,6,e.amount))}}function Qi(t,m){if(t&1&&(o(0,"tr")(1,"td",21),a(2,"Total Asset"),r(),o(3,"td",22),a(4),S(5,"number"),r()()),t&2){let e=c(3);l(4),D(" ",v(5,1,e.store.totalAsset())," ")}}function Zi(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No asset records found."),r()()())}function en(t,m){if(t&1&&(o(0,"h4",14),a(1,"Asset"),r(),o(2,"p-table",15),b(3,Xi,7,0,"ng-template",null,3,d)(5,Ji,10,14,"ng-template",null,4,d)(7,Qi,6,3,"ng-template",null,5,d)(9,Zi,4,0,"ng-template",null,6,d),r()),t&2){let e=c(2);l(2),s("value",e.store.data().asset)}}function tn(t,m){t&1&&(o(0,"tr")(1,"th",16),a(2,"Code"),r(),o(3,"th"),a(4,"Liability"),r(),o(5,"th",17),a(6,"Total"),r()())}function nn(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",25),a(5),r()(),o(6,"td",19)(7,"a",20),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit;l(2),f(e.code),l(2),s("routerLink",F(8,Ct,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,St))("queryParams",F(11,Pt,e.accountID)),l(),f(v(9,6,e.counterAmount))}}function on(t,m){if(t&1&&(o(0,"tr")(1,"td",21),a(2," Total Liability "),r(),o(3,"td",22),a(4),S(5,"number"),r()()),t&2){let e=c(3);l(4),D(" ",v(5,1,e.store.totalLiability())," ")}}function rn(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No liability records found."),r()()())}function an(t,m){if(t&1&&(o(0,"h4",24),a(1,"Liability"),r(),o(2,"p-table",15),b(3,tn,7,0,"ng-template",null,3,d)(5,nn,10,13,"ng-template",null,4,d)(7,on,6,3,"ng-template",null,5,d)(9,rn,4,0,"ng-template",null,6,d),r()),t&2){let e=c(2);l(2),s("value",e.store.data().liability)}}function ln(t,m){t&1&&(o(0,"tr")(1,"th",16),a(2,"Code"),r(),o(3,"th"),a(4,"Equity"),r(),o(5,"th",17),a(6,"Total"),r()())}function pn(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",18),a(5),r()(),o(6,"td",19)(7,"a",20),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit;l(2),f(e.code),l(2),s("routerLink",F(8,Ct,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,St))("queryParams",F(11,Pt,e.accountID)),l(),f(v(9,6,e.counterAmount))}}function mn(t,m){if(t&1&&(o(0,"tr")(1,"td",21),a(2,"Total Equity"),r(),o(3,"td",22),a(4),S(5,"number"),r()(),o(6,"tr")(7,"td",21),a(8," Total Liability + Equity "),r(),o(9,"td",22),a(10),S(11,"number"),r()()),t&2){let e=c(3);l(4),D(" ",v(5,2,e.store.totalEquity())," "),l(6),D(" ",v(11,4,e.store.totalLiability()+e.store.totalEquity())," ")}}function sn(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No equity records found."),r()()())}function cn(t,m){if(t&1&&(o(0,"h4",24),a(1,"Equity"),r(),o(2,"p-table",15),b(3,ln,7,0,"ng-template",null,3,d)(5,pn,10,13,"ng-template",null,4,d),a(7," <"),b(8,mn,12,6,"ng-template",null,5,d)(10,sn,4,0,"ng-template",null,6,d),r()),t&2){let e=c(2);l(2),s("value",e.store.data().equity)}}function dn(t,m){if(t&1&&(o(0,"p-panel",12)(1,"div",13),b(2,en,11,1)(3,an,11,1)(4,cn,12,1),r()()),t&2){let e=c();s("showHeader",!1),l(2),L(e.Object.keys(e.store.data().asset).length>0?2:-1),l(),L(e.Object.keys(e.store.data().liability).length>0?3:-1),l(),L(e.Object.keys(e.store.data().equity).length>0?4:-1)}}function un(t,m){if(t&1&&(o(0,"div",31)(1,"div"),a(2),r()()),t&2){let e=m.$implicit;l(2),f(e.value)}}function _n(t,m){if(t&1&&(o(0,"form",26)(1,"div",27)(2,"label",28),a(3,"Outlet"),r(),o(4,"p-multiselect",29),b(5,un,3,1,"ng-template",null,7,d),r()(),o(7,"div",27)(8,"label",28),a(9,"From"),r(),w(10,"p-datepicker",30),r()()),t&2){let e=c();s("formGroup",e.filterForm),l(4),s("virtualScroll",!0)("virtualScrollItemSize",50)("options",e.store.metadata().options.outlets)("showClear",!0),l(6),s("iconDisplay","input")("showIcon",!0)}}var Ot=(()=>{class t{constructor(){this.store=C(bt),this.ReportServiceStore=C(A),this.dialogFilterVisible=E(!1),this.isInitDialogFilterVisible=E(!1),this.roleService=C(te),this.Object=Object}ngOnInit(){this.generateFilterForm()}generateFilterForm(){this.filterForm=new Ft({date:new rt(new Date),outletID:new rt([])})}onFilterOKEvent(){let{date:e,outletID:i}=this.filterForm.value;this.store.updateFilter({date:(0,Gt.default)(e).format("YYYY-MM-DD"),listOutletParam:i}),this.dialogFilterVisible.update(n=>!n)}onExport(){let e=y(g({},this.store.filter()),{export:!0,ExportPageNumber:1,ExportRowCount:1e4});this.ReportServiceStore.getBalanceSheet(e,{responseType:"blob"}).pipe(Fe("Export Balance Sheet"),M(i=>{let n=i.type,p=[i],u=document.createElement("a");u.href=window.URL.createObjectURL(new Blob(p,{type:n}));let _=`balance-sheet.${n.split("/")[1]}`;u.setAttribute("download",_),document.body.appendChild(u),u.click(),document.body.removeChild(u)})).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["app-report-balance-sheet"]],features:[Ne([bt])],decls:7,vars:5,consts:[["actionButton",""],["content",""],["filters",""],["header",""],["body",""],["footer",""],["emptymessage",""],["item",""],[3,"isDialogFilterVisibleChange","isInitDialogFilterVisibleChange","filterConfirmed","pageTitle","isFilterable","isDialogFilterVisible","isInitDialogFilterVisible","scrollable"],[1,"d-flex","gap-2"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick",4,"ngIf"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick"],[3,"showHeader"],[1,"d-flex","flex-column","gap-3"],[1,"fs-5","fw-semibold","mt-3"],[3,"value"],[2,"width","20%"],[1,"text-end",2,"width","5%"],["target","_blank",1,"link","link-primary",3,"routerLink"],[1,"text-end"],["target","_blank",1,"link","link-primary",3,"routerLink","queryParams"],["colspan","2",1,"fw-semibold","text-end"],[1,"text-end","fw-semibold"],["colspan","3",1,""],[1,"fs-5","fw-semibold"],["target","_blank",1,"link","link-primary","d-flex","align-items-center",3,"routerLink"],[1,"d-flex","flex-column","row-gap-3",3,"formGroup"],[1,"d-flex","flex-column"],["for","outlet"],["formControlName","outletID","display","chip","appendTo","body","optionLabel","value","optionValue","key","placeholder","Select Outlet",3,"virtualScroll","virtualScrollItemSize","options","showClear"],["formControlName","date","styleClass","w-100","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"],[1,"flex","items-center","gap-2"]],template:function(i,n){if(i&1){let p=R();o(0,"app-main-panel",8),G("isDialogFilterVisibleChange",function(_){return h(p),N(n.dialogFilterVisible,_)||(n.dialogFilterVisible=_),x(_)})("isInitDialogFilterVisibleChange",function(_){return h(p),N(n.isInitDialogFilterVisible,_)||(n.isInitDialogFilterVisible=_),x(_)}),I("filterConfirmed",function(){return h(p),x(n.onFilterOKEvent())}),b(1,$i,2,1,"ng-template",null,0,d)(3,dn,5,4,"ng-template",null,1,d)(5,_n,11,7,"ng-template",null,2,d),r()}i&2&&(s("pageTitle",n.store.data().pageTitle)("isFilterable",!0),B("isDialogFilterVisible",n.dialogFilterVisible)("isInitDialogFilterVisible",n.isInitDialogFilterVisible),s("scrollable",!0))},dependencies:[ie,q,j,z,le,ae,ne,Z,Q,J,Y,W,K,$,X,me,pe,re,oe,Ce,ee,Ue,U,H],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})}}return t})();var jt=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["app-report-comparative-balance"]],decls:3,vars:0,template:function(i,n){i&1&&(o(0,"p"),a(1,"report-comparative-balance works!"),r(),a(2,`
|
|
1
|
+
import{a as kt}from"./chunk-SMZ363LC.js";import{a as Ee,b as Ie}from"./chunk-AACWH3EJ.js";import{a as Lt,b as se}from"./chunk-SNKHWMQW.js";import{a as he}from"./chunk-WW5ELKKO.js";import{b as Mt,c as nt,d as ot}from"./chunk-5XDCBC5Q.js";import{a as pe,b as me}from"./chunk-YYVQS5LF.js";import"./chunk-FLZXCWDU.js";import{b as it}from"./chunk-Q23KXB3T.js";import"./chunk-DHW7UHFT.js";import{a as te}from"./chunk-BY6QUHQI.js";import"./chunk-C2GO6SPF.js";import{a as Se,b as ve}from"./chunk-O4QM64EH.js";import{a as Ze,b as et,d as ae,k as le}from"./chunk-SVXDMOLP.js";import{a as oe,b as re}from"./chunk-S6X7PJAB.js";import"./chunk-LWLJZPBI.js";import"./chunk-3NU3P6NL.js";import{a as tt}from"./chunk-6Y7LC5K4.js";import{a as Fe}from"./chunk-XKCLERWG.js";import{b as Ce}from"./chunk-H57SDRPH.js";import"./chunk-GDX5XEV3.js";import{a as Vt,b as ye}from"./chunk-DLUALPHU.js";import"./chunk-4DOELXOP.js";import"./chunk-VVUSFS6O.js";import"./chunk-ZTEDQLOG.js";import"./chunk-EDGADVEY.js";import"./chunk-JTDJJORR.js";import{d as He}from"./chunk-LZUGPBFD.js";import"./chunk-2KERKGCG.js";import{b as ne}from"./chunk-4CDAAU6Z.js";import{e as Je,f as Qe,h as ie}from"./chunk-XZQ3IYQ6.js";import"./chunk-X22YKT5B.js";import{a as Ue,b as ee}from"./chunk-JYCUE5HV.js";import{a as P,b as We,c as Ke,d as Ye,e as $e,f as Xe}from"./chunk-JMEBBWX4.js";import"./chunk-FUZFAJGJ.js";import{n as ze,o as qe,w as Q,x as Z}from"./chunk-5FSMHZSY.js";import{b as be}from"./chunk-A5HAJEPC.js";import{b as je,e as W,f as K,g as Ft,i as rt,k as Y,l as $,o as X,u as xe,x as J}from"./chunk-G5S5AZA7.js";import{b as Pe,e as H,l as U}from"./chunk-Z45NTTES.js";import{a as Dt}from"./chunk-4AOHMAEQ.js";import{a as Oe}from"./chunk-BLQJXMNV.js";import"./chunk-F2X3VGZZ.js";import{h as Ae,k as j,p as Ge,q as z,r as q,x as Rt,y as Tt}from"./chunk-OKCHQM5Q.js";import{Ac as F,Bc as wt,Cb as b,D as Me,Ga as E,Jc as S,Kb as s,Kc as v,Lc as Be,Mc as d,Nb as Le,Pb as L,Qb as we,Sb as Re,Tb as Te,Ub as o,V as yt,Vb as r,W as Et,Wb as w,X as _e,Yc as T,Z as M,Zc as ge,_b as R,ba as It,bb as O,c as ue,cb as fe,dc as I,ec as c,gb as l,ha as C,hc as ke,pa as h,qa as x,qc as a,rc as f,s as Ve,sc as D,tc as De,vc as B,wb as k,wc as N,xc as G,yc as Ne,zc as V}from"./chunk-JP6RBSB3.js";import{a as g,b as y,c as de,e as vt}from"./chunk-YQFG5XE2.js";var A=(()=>{class t{constructor(){this.httpService=C(Dt),this.authService=C(he)}fetchGeneralLedgerLoader(e="single"){return this.httpService.get(void 0,`api/GeneralLedgerLoader/${e==="single"?"GetFilterSingle":"GetFilter"}`)}getGLCount(e){return this.httpService.post(void 0,"api/GeneralLedger/GetSingleCount",e)}fetchGeneralLedgerReport(e,i="single"){return this.httpService.post(void 0,`api/GeneralLedger/${i==="single"?"GetSingle":"Get"}`,e)}exportGeneralLedger(e,i={}){let n=g({responseType:"blob"},i);return this.httpService.post(void 0,"/api/GeneralLedgerExport/GetGeneralLedgerExport",e,n)}getCustomerSuggestions(e){let i={Prefix:e,Count:100};return this.httpService.get(this.authService.getTenantExternalURL(),"/API/AC/GetCustomerSuggestion",{params:i})}getSupplierSuggestions(e){let i={Prefix:e,Count:100};return this.httpService.get(this.authService.getTenantExternalURL(),"/API/AC/GetSupplierSuggestion",{params:i})}getCashierSuggestions(e){let i={Prefix:e,Count:100};return this.httpService.get(this.authService.getTenantExternalURL(),"/api/ac/GetUserSuggestion",{params:i})}getBalanceSheetLoader(){return this.httpService.get(void 0,"/api/BalanceSheetLoader/GetBalanceSheet")}getBalanceSheet(e,i={}){let n=new Tt({fromObject:Object.fromEntries(Object.entries(e).map(([_,Ut])=>[_,String(Ut)]))}),p=new Rt({"X-Timeout":"50000","X-Retry":"3","X-Retry-Delay":"2000","X-Exponential-Backoff":"true","X-Retry-On-500":"true","X-Retry-On-500-Message":"timeout expired"}),u=g({params:n,headers:p},i);return this.httpService.get(void 0,"/api/BalanceSheet",u)}getIncomeStatementLoader(){return this.httpService.get(void 0,"api/IncomeStatementLoader/Filter")}getIncomeStatement(e,i={}){return this.httpService.post(void 0,"api/IncomeStatement/List",g({},e),i)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=It({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var $t=()=>({width:"30vw"}),Xt=()=>({"1199px":"75vw","575px":"90vw"}),Jt=t=>["/pages/journal/journal-entry/",t],Qt=t=>({"ng-dirty ng-invalid":t});function Zt(t,m){if(t&1){let e=R();o(0,"p-button",17),I("onClick",function(){h(e);let n=c(2);return x(n.onToggleExportDialog())}),r()}}function ei(t,m){if(t&1&&(o(0,"div",14)(1,"a",15),a(2,"Return to Accounts"),r(),b(3,Zt,1,0,"p-button",16),r()),t&2){let e=c();l(3),s("ngIf",e.roleService.global.export)}}function ti(t,m){if(t&1&&(o(0,"div",14)(1,"span",24)(2,"h2",25),a(3),r()(),o(4,"span",24)(5,"h2",25),a(6),r()()()),t&2){let e=c(3);l(3),f(e.items().data.name),l(3),D(" (",e.items().data.chartOfAccountCode,") ")}}function ii(t,m){t&1&&(o(0,"tr")(1,"th",26),a(2,"Outlet"),r(),o(3,"th",26),a(4,"No."),r(),o(5,"th",26),a(6,"Date"),r(),o(7,"th"),a(8,"Contact / Note"),r(),o(9,"th",27),a(10,"Debit"),r(),o(11,"th",28),a(12,"Credit"),r(),o(13,"th",28),a(14,"Balance"),r()())}function ni(t,m){if(t&1&&(o(0,"div",31)(1,"a",32),a(2),r(),w(3,"div",34),o(4,"span",35),a(5),r()()),t&2){let e=c().$implicit,i=c(3);l(),s("href",i.authService.getTenantExternalURL()+i.buildReferenceUrl(e),fe),l(),f(e.referenceText),l(),s("innerHTML",e.journalNote,O),l(2),D("",e.note," ")}}function oi(t,m){if(t&1&&(o(0,"div",31),w(1,"span",34)(2,"div",34),o(3,"span",35),a(4),r()()),t&2){let e=c().$implicit;l(),s("innerHTML",e.referenceText,O),l(),s("innerHTML",e.journalNote,O),l(2),D("",e.note," ")}}function ri(t,m){if(t&1&&(o(0,"tr")(1,"td",29),a(2),r(),o(3,"td",29)(4,"a",30),a(5),r()(),o(6,"td",29),a(7),S(8,"date"),r(),o(9,"td",29)(10,"div",31)(11,"a",32),a(12),r(),b(13,ni,6,4,"div",31)(14,oi,5,3,"div",31),r()(),o(15,"td",33),a(16),S(17,"number"),r(),o(18,"td",33),a(19),S(20,"number"),r(),o(21,"td",33),a(22),S(23,"number"),r()()),t&2){let e=m.$implicit,i=c(3);l(2),f(e.outletName),l(2),s("routerLink",F(19,Jt,e.id)),l(),f(e.number),l(2),f(Be(8,10,e.date,"dd MMM yyyy")),l(4),s("href",i.authService.getTenantExternalURL()+"/menu/Contacts/Contact/Customers/Info?ID="+e.contactID,fe),l(),f(e.contactName),l(),L(i.buildReferenceUrl(e)?13:14),l(3),D(" ",v(17,13,e.debitAmount)," "),l(3),D(" ",v(20,15,e.creditAmount)," "),l(3),f(v(23,17,e.balance))}}function ai(t,m){if(t&1&&(o(0,"tr"),w(1,"td",36),o(2,"td",37),a(3,"Total"),r(),o(4,"td",37),a(5),S(6,"number"),r(),o(7,"td",37),a(8),S(9,"number"),r(),w(10,"td"),r()),t&2){let e=c(3);l(5),f(v(6,2,e.debitSubTotal())),l(3),D(" ",v(9,4,e.creditSubTotal())," ")}}function li(t,m){t&1&&(o(0,"tr")(1,"td",38)(2,"span"),a(3,"No records found."),r()()())}function pi(t,m){if(t&1){let e=R();o(0,"button",39),I("click",function(){h(e);let n=c(3);return x(n.getGLCount())})("keyup.enter",function(){h(e);let n=c(3);return x(n.getGLCount())}),r()}}function mi(t,m){if(t&1&&a(0),t&2){let e=c(3);D(" ",e.count()," ")}}function si(t,m){if(t&1){let e=R();o(0,"div",19)(1,"p-table",20),b(2,ti,7,2,"ng-template",null,5,d)(4,ii,15,0,"ng-template",null,6,d)(6,ri,24,21,"ng-template",null,7,d)(8,ai,11,6,"ng-template",null,4,d)(10,li,4,0,"ng-template",null,8,d),r(),o(12,"div",21)(13,"div"),a(14),b(15,pi,1,0,"button",22)(16,mi,1,1),a(17," entries "),r(),o(18,"div",14)(19,"p-button",23),I("onClick",function(){h(e);let n=c(2);return x(n.onNextPage())}),r()()()()}if(t&2){let e=c(2);l(),s("value",e.items().data.data),l(13),De(" Showing ",e.pagination().first," to ",e.pagination().end," of "),l(),L(e.totalRecords()===-1?15:16),l(4),s("disabled",!e.pagination().hasNext)}}function ci(t,m){if(t&1&&b(0,si,20,5,"div",18),t&2){let e=c();s("ngIf",e.items()&&e.items().data)}}function di(t,m){if(t&1&&(o(0,"div",14)(1,"div",24)(2,"span",58),a(3),r()(),o(4,"div")(5,"span"),a(6,"-"),r()(),o(7,"div",24)(8,"span",59),a(9),r()()()),t&2){let e=m.$implicit;l(3),D("(",e.code,")"),l(6),f(e.name)}}function ui(t,m){if(t&1&&(o(0,"div",14)(1,"div",24)(2,"span",58),a(3),r()(),o(4,"div")(5,"span"),a(6,"-"),r()(),o(7,"div",24)(8,"span",59),a(9),r()()()),t&2){let e=m.$implicit;l(3),D("(",e.code,")"),l(6),f(e.name)}}function _i(t,m){t&1&&(o(0,"div",60),a(1," Account is required. "),r())}function fi(t,m){if(t&1&&(o(0,"div",61)(1,"div"),a(2),r()()),t&2){let e=m.$implicit;l(2),f(e.value)}}function gi(t,m){if(t&1&&(o(0,"div",51)(1,"div",52),w(2,"p-radiobutton",62),o(3,"label",63),a(4),r()()()),t&2){let e=m.$implicit;l(2),s("value",e.key)("inputId",e.key),l(),ke("for",e.key),l(),f(e.value)}}function hi(t,m){if(t&1){let e=R();o(0,"div",31)(1,"label",42),a(2,"Customer"),r(),o(3,"p-autocomplete",64),I("completeMethod",function(n){h(e);let p=c(3);return x(p.searchCustomer(n))}),r()()}if(t&2){let e=c(3);l(3),s("suggestions",e.customerSuggestions())}}function xi(t,m){if(t&1){let e=R();o(0,"div",31)(1,"label",42),a(2,"Supplier"),r(),o(3,"p-autocomplete",65),I("completeMethod",function(n){h(e);let p=c(3);return x(p.searchSupplier(n))}),r()()}if(t&2){let e=c(3);l(3),s("suggestions",e.supplierSuggestions())}}function bi(t,m){if(t&1){let e=R();o(0,"div",31)(1,"label",42),a(2,"Customer"),r(),o(3,"p-autocomplete",64),I("completeMethod",function(n){h(e);let p=c(3);return x(p.searchCustomer(n))}),r()()}if(t&2){let e=c(3);l(3),s("suggestions",e.customerSuggestions())}}function Ci(t,m){if(t&1){let e=R();o(0,"form",41)(1,"div",31)(2,"label",42),a(3,"Accounts"),r(),o(4,"p-select",43),I("onChange",function(n){h(e);let p=c(2);return x(p.onAccountChange(n))}),b(5,di,10,2,"ng-template",null,9,d)(7,ui,10,2,"ng-template",null,10,d),r(),b(9,_i,2,0,"div",44),r(),o(10,"div",31)(11,"label",42),a(12,"From"),r(),o(13,"div",45),w(14,"p-datepicker",46)(15,"p-datepicker",47),r()(),o(16,"div",31)(17,"label",42),a(18,"Outlets"),r(),o(19,"p-multiselect",48),b(20,fi,3,1,"ng-template",null,10,d),r()(),o(22,"div",31)(23,"label",49),a(24,"Contact Type"),r(),o(25,"div",50),Re(26,gi,5,4,"div",51,we),r()(),o(28,"div",31)(29,"label",49),a(30,"Sort order"),r(),o(31,"div",50)(32,"div",51)(33,"div",52),w(34,"p-radiobutton",53),o(35,"label",54),a(36,"Asc"),r()()(),o(37,"div",55)(38,"div",52),w(39,"p-radiobutton",56),o(40,"label",57),a(41,"Desc"),r()()()()(),b(42,hi,4,1,"div",31)(43,xi,4,1,"div",31)(44,bi,4,1,"div",31),r()}if(t&2){let e,i,n,p=c(2);s("formGroup",p.form),l(4),s("virtualScroll",!0)("virtualScrollItemSize",50)("options",p.loaderMetadata().options.accounts)("ngClass",F(16,Qt,((e=p.form.get("accountID"))==null?null:e.invalid)&&(((e=p.form.get("accountID"))==null?null:e.touched)||((e=p.form.get("accountID"))==null?null:e.dirty)))),l(5),s("ngIf",((i=p.form.get("accountID"))==null?null:i.invalid)&&(((i=p.form.get("accountID"))==null?null:i.touched)||((i=p.form.get("accountID"))==null?null:i.dirty))),l(5),s("iconDisplay","input")("showIcon",!0),l(),s("iconDisplay","input")("showIcon",!0),l(4),s("virtualScroll",!0)("virtualScrollItemSize",50)("options",p.loaderMetadata().options.outlets),l(7),Te(p.loaderMetadata().options.contactTypeOptions),l(8),s("value",!0),l(5),s("value",!1),l(3),L((n=p.form.controls.contactType.value)===1?42:n===2?43:44)}}function Si(t,m){if(t&1&&b(0,Ci,45,18,"form",40),t&2){let e=c();s("ngIf",e.loaderMetadata())}}function vi(t,m){if(t&1&&(o(0,"div",66)(1,"div",67)(2,"div",68)(3,"div",50)(4,"div",69)(5,"label",49),a(6,"Page"),r()(),o(7,"div",69),w(8,"input",70),r()()()(),o(9,"div",71)(10,"div",52),w(11,"i",72),o(12,"span",73),a(13),S(14,"number"),S(15,"number"),r()()()()),t&2){let e=c();l(),s("formGroup",e.form),l(12),De("Exporting data from ",v(14,3,e.filter().exportPageNumber)," - ",v(15,5,e.filter().exportRowCount),"")}}function yi(t,m){if(t&1){let e=R();o(0,"p-button",74),I("onClick",function(){h(e);let n=c();return x(n.onToggleExportDialog())}),r()}t&2&&s("rounded",!0)("text",!0)}function Ei(t,m){if(t&1){let e=R();o(0,"p-button",75),I("click",function(){h(e);let n=c();return x(n.onToggleExportDialog())}),r(),o(1,"p-button",76),I("click",function(){h(e);let n=c();return x(n.onExport())}),r()}}var Bt=(()=>{class t{getGLCount(){this.reportService.getGLCount(this.filter()).pipe(M(({count:e})=>{this.totalRecords.set(e)})).subscribe()}onToggleExportDialog(){this.isDialogExportVisible.update(e=>!e)}get pageTitle(){return this.items()&&this.items().pageTitle?this.items().pageTitle:"General Ledger"}constructor(){this.reportService=C(A),this.route=C(Pe),this.roleService=C(te),this.authService=C(he),this.fb=C(xe),this.coaService=C(tt),this.toastr=C(Oe),this.dayjsService=C(se),this.infinity=1/0,this.metadata=E(null),this.items=E(null),this.totalRecords=E(-1),this.dialogFilterVisible=E(!0),this.initDialogVisible=E(!1),this.isDialogExportVisible=E(!1),this.customerSuggestions=E([]),this.supplierSuggestions=E([]),this.categoriesOptions=E([]),this.localFilter=E({}),this.count=T(()=>this.totalRecords()<0?1/0:this.totalRecords()),this.pagination=T(()=>{let e=this.filter(),i=this.totalRecords()!=null&&this.totalRecords()>=0?this.totalRecords():1/0,n=Math.min(e.pageNumber*e.pageSize,isFinite(i)?i:e.pageNumber*e.pageSize);return{first:1,end:e.pageSize>0?n:0,total:i,page:e.pageNumber,pageSize:e.pageSize,hasPrev:e.pageNumber>1,hasNext:isFinite(i)?e.pageNumber*e.pageSize<i:!0}}),this.loaderMetadata=be(this.reportService.fetchGeneralLedgerLoader(),{initialValue:null}),this.baseFilter=T(()=>{let e=this.loaderMetadata();return e?e.filter:null}),this.exportFileTypes=E([{key:0,value:"CSV"},{key:1,value:"Excel"}]),this.queryFilter=be(this.route.queryParamMap.pipe(Ve(e=>({accountID:e.get("id"),to:e.get("to")}))),{initialValue:null}),this.filter=T(()=>{let e=this.baseFilter(),i=this.queryFilter(),n=this.localFilter();return e?g(g(g({},e),i??{}),n):null}),this.creditSubTotal=T(()=>(this.items()?.data?.data??[]).reduce((i,n)=>i+(Number(n.creditAmount)||0),0)),this.debitSubTotal=T(()=>(this.items()?.data?.data??[]).reduce((i,n)=>i+(Number(n.debitAmount)||0),0)),this.hasNextPage=T(()=>{let e=this.filter();if(!e)return!1;let i=Math.ceil(e.rowCount/e.pageSize);return e.pageNumber<i}),this.initializeForm(),ge(()=>{let e=this.filter();e&&e.accountID&&(this.form.patchValue(this.transformFilterToFormValue(e),{emitEvent:!1}),this.reportService.fetchGeneralLedgerReport(e).subscribe(i=>{this.items.update(n=>e.pageNumber===1?i:y(g({},i),{data:y(g({},i.data),{data:[...n?.data.data??[],...i.data.data]})}))}))})}buildReferenceUrl(e){return kt(e)}ngOnInit(){this.route.queryParamMap.pipe(Me(e=>e.keys.length>0)).subscribe({next:()=>this.initDialogVisible.set(!0)})}initializeForm(){this.form=this.fb.group({accountID:this.fb.control(null),from:this.fb.control(null),to:this.fb.control(new Date),contactType:this.fb.control(null),contactID:this.fb.control(""),listOutletID:this.fb.control([]),pageNumber:this.fb.control(1),pageSize:this.fb.control(50),sortAscending:this.fb.control(!0),listAccountID:this.fb.control([]),rowCount:this.fb.control(0),export:this.fb.control(!1),exportPageNumber:this.fb.control(1),exportRowCount:this.fb.control(0)})}findNodeByKey(e,i){for(let n of e){if(n.key===i)return n;if(n.children){let p=this.findNodeByKey(n.children,i);if(p)return p}}return null}transformFilterToFormValue(e){return Object.entries(e).reduce((i,[n,p])=>{switch(n){case"from":break;case"to":i[n]=p&&(typeof p=="string"||typeof p=="number"||p instanceof Date)?this.dayjsService.from(p)?.toDate():this.dayjsService.now.toDate();break;case"listCategoryID":Array.isArray(p)?i[n]=p.map(u=>this.findNodeByKey(this.categoriesOptions(),u)).filter(u=>!!u):i[n]=[];break;case"listOutletID":case"listAccountID":i[n]=Array.isArray(p)?p:[];break;case"pageNumber":case"pageSize":case"rowCount":case"exportPageNumber":case"exportRowCount":i[n]=p!=null?Number(p):0;break;case"sortAscending":case"export":i[n]=!!p;break;case"contactType":i[n]=p!=null?Number(p):null;break;default:i[n]=p}return i},{})}clearContactValueOnContactTypeChange(){this.form.get("contactType")?.valueChanges.subscribe(()=>this.form.get("contactID")?.setValue(""))}isEmpty(e){return e==null||typeof e=="string"&&e.trim().length===0}onCategoryFocus(){this.coaService.getCachedCategoriesOptions().pipe(M(e=>this.categoriesOptions.set(e))).subscribe()}searchCustomer(e){this.reportService.getCustomerSuggestions(e.query).pipe(M(i=>this.customerSuggestions.set(i))).subscribe()}searchSupplier(e){this.reportService.getSupplierSuggestions(e.query).pipe(M(i=>this.supplierSuggestions.set(i))).subscribe()}onAccountChange(e){Array.isArray(e.value)&&e.value.length>=1&&this.toastr.warning("Please select at least 1 accounts for the general ledger report.","Warning")}onFilterOKEvent(){if(this.form.invalid){this.form.markAllAsTouched(),this.dialogFilterVisible.set(!0);return}let e=this.buildFilterBody();this.dialogFilterVisible.set(!1),this.localFilter.set(e)}buildFilterBody(){let p=this.form.getRawValue(),{from:e,to:i}=p,n=de(p,["from","to"]);return y(g({},this.filter()),{pageNumber:n.pageNumber,pageSize:n.pageSize,sortAscending:n.sortAscending,accountID:n.accountID,contactID:n.contactID?.length===0?null:n.contactID,listOutletID:n.listOutletID??[],listAccountID:n.listAccountID??[],from:this.dayjsService.from(e)?this.dayjsService.format(e):null,to:this.dayjsService.from(i)?this.dayjsService.format(i):null,contactType:n.contactType})}onExport(){let e=this.buildExportBody();this.performExport(e)}performExport(e){this.reportService.exportGeneralLedger(e,{responseType:"blob",observe:"response"}).pipe(M(i=>this.handleExportResponse(i))).subscribe()}handleExportResponse(e){let i=e.headers,n=i.get("Content-Disposition")??i.get("content-disposition"),p="download.csv";if(n){let _=n.match(/filename\*?=(?:UTF-8'')?"?([^;\r\n"]+)/i);_?.[1]&&(p=decodeURIComponent(_[1].replace(/"/g,"")))}let u=e.body;ot(u,p,u.type)}buildExportBody(){let p=this.form.value,{from:e,to:i}=p,n=de(p,["from","to"]);return y(g({},this.filter()),{exportPageNumber:+n.exportPageNumber,pageNumber:n.pageNumber,pageSize:n.pageSize,sortAscending:n.sortAscending,accountID:n.accountID,contactID:n.contactID?.length===0?null:n.contactID,listOutletID:n.listOutletID??[],listAccountID:n.listAccountID??[],from:this.dayjsService.from(e)?this.dayjsService.format(e):null,to:this.dayjsService.from(i)?this.dayjsService.format(i):null,contactType:n.contactType,export:!0})}onNextPage(){this.localFilter.update(e=>{let i=e.pageNumber??this.baseFilter()?.pageNumber??1;return y(g({},e),{pageNumber:i+1,balance:this.items().data.data[this.items().data.data.length-1]?.balance??0})})}onPrevPage(){this.localFilter.update(e=>{let i=e.pageNumber??this.baseFilter()?.pageNumber??1;return y(g({},e),{pageNumber:Math.max(1,i-1)})})}goToPage(e){this.localFilter.update(i=>y(g({},i),{pageNumber:e}))}goToLastPage(){let e=this.filter();if(!e)return;let i=this.totalRecords();if(i===-1||!isFinite(i)){this.toastr.info("Please load total records before going to the last page","Info");return}let n=Math.ceil(i/e.pageSize);if(e.pageNumber>=n){this.toastr.warning("You are already on the last page","Warning");return}this.localFilter.update(p=>y(g({},p),{pageNumber:n}))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["app-report-general-ledger"]],decls:13,vars:13,consts:[["actionButton",""],["content",""],["filters",""],["closeIconTemplate",""],["footer",""],["caption",""],["header",""],["body",""],["emptymessage",""],["selectedItem",""],["item",""],[3,"isDialogFilterVisibleChange","isInitDialogFilterVisibleChange","filterConfirmed","pageTitle","isDialogFilterVisible","isFilterable","isInitDialogFilterVisible","scrollable"],["header","Export Journal Entry",3,"visibleChange","modal","visible","breakpoints"],["class","d-flex flex-column gap-3",4,"ngIf"],[1,"d-flex","gap-2"],["routerLink","/pages/chart-of-account/account",1,"p-button","p-button-secondary","p-button-outlined","fs-3"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick",4,"ngIf"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick"],["class","px-3 h-100 bg-white border-top",4,"ngIf"],[1,"px-3","h-100","bg-white","border-top"],[3,"value"],[1,"d-flex","justify-content-between","align-items-center","my-2"],["type","button","aria-label","Get journal entry count","tabindex","0",1,"fa-solid","fa-circle-question","cursor-pointer","p-0","border-0","bg-transparent"],["variant","outlined","severity","secondary","icon","fa-solid fa-angle-right","size","small","label","next",3,"onClick","disabled"],[1,""],[1,"fs-5","fw-semibold"],[2,"width","10%"],[1,"text-end",2,"width","10%"],[1,"text-end",2,"width","20%"],[1,"text-break"],["target","_blank",1,"link","link-primary",3,"routerLink"],[1,"d-flex","flex-column"],["target","_blank",1,"link","link-primary",3,"href"],[1,"text-end","text-break"],[3,"innerHTML"],[2,"width","300px","white-space","normal","word-break","break-word"],["colspan","3"],[1,"text-end","fw-semibold"],["colspan","8"],["type","button","aria-label","Get journal entry count","tabindex","0",1,"fa-solid","fa-circle-question","cursor-pointer","p-0","border-0","bg-transparent",3,"click","keyup.enter"],["class","d-flex flex-column row-gap-3",3,"formGroup",4,"ngIf"],[1,"d-flex","flex-column","row-gap-3",3,"formGroup"],["for","outlet"],["showClear","","filter","","filterBy","code,name","display","chip","formControlName","accountID","appendTo","body","optionLabel","name","optionValue","id","placeholder","Select Accounts",3,"onChange","virtualScroll","virtualScrollItemSize","options","ngClass"],["class","text-danger",4,"ngIf"],[1,"d-flex","flex-column","gap-2"],["showClear","","formControlName","from","styleClass","w-100","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"],["showClear","","formControlName","to","styleClass","w-100","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"],["showClear","","display","chip","formControlName","listOutletID","appendTo","body","optionLabel","value","optionValue","key","placeholder","Select Outlets",3,"virtualScroll","virtualScrollItemSize","options"],["for",""],[1,"row"],[1,"col-4"],[1,"d-flex","align-items-center","gap-2"],["name","sortAscending","formControlName","sortAscending","inputId","asc",3,"value"],["for","asc",1,"m-0"],[1,"col-3"],["name","sortAscending","formControlName","sortAscending","inputId","desc",3,"value"],["for","desc",1,"m-0"],[1,"h-full","align-middle"],[1,"text-truncate","d-inline-block","h-full","align-middle"],[1,"text-danger"],[1,"flex","items-center","gap-2"],["name","contactType","formControlName","contactType",3,"value","inputId"],[1,"m-0",3,"for"],["formControlName","contactID","appendTo","body","styleClass","w-100","optionLabel","Value","optionValue","Key","inputStyleClass","w-100",3,"completeMethod","suggestions"],["formControlName","ContactID","appendTo","body","styleClass","w-100","optionLabel","Value","optionValue","Key","inputStyleClass","w-100",3,"completeMethod","suggestions"],[1,"d-flex","flex-column","gap-3"],[1,"row",3,"formGroup"],[1,"col-8"],[1,"col"],["type","text","formControlName","exportPageNumber","fluid","","pInputText","","pSize","small"],["role","alert",1,"alert","alert-primary","m-0","p-2"],[1,"fa-solid","fa-circle-info"],[1,"fs-2","text-dark","fw-semibold"],["severity","secondary","variant","outlined","icon","fa-solid fa-xmark",3,"onClick","rounded","text"],["label","Cancel","severity","secondary","variant","outlined",3,"click"],["label","OK (F2)",3,"click"]],template:function(i,n){if(i&1){let p=R();o(0,"app-main-panel",11),G("isDialogFilterVisibleChange",function(_){return h(p),N(n.dialogFilterVisible,_)||(n.dialogFilterVisible=_),x(_)})("isInitDialogFilterVisibleChange",function(_){return h(p),N(n.initDialogVisible,_)||(n.initDialogVisible=_),x(_)}),I("filterConfirmed",function(){return h(p),x(n.onFilterOKEvent())}),b(1,ei,4,1,"ng-template",null,0,d)(3,ci,1,1,"ng-template",null,1,d)(5,Si,1,1,"ng-template",null,2,d),r(),o(7,"p-dialog",12),G("visibleChange",function(_){return h(p),N(n.isDialogExportVisible,_)||(n.isDialogExportVisible=_),x(_)}),b(8,vi,16,7,"div",13)(9,yi,1,2,"ng-template",null,3,d)(11,Ei,2,0,"ng-template",null,4,d),r()}i&2&&(s("pageTitle",n.pageTitle),B("isDialogFilterVisible",n.dialogFilterVisible),s("isFilterable",!0),B("isInitDialogFilterVisible",n.initDialogVisible),s("scrollable",!0),l(7),Le(V(11,$t)),s("modal",!0),B("visible",n.isDialogExportVisible),s("breakpoints",V(12,Xt)),l(),s("ngIf",n.form&&n.filter()))},dependencies:[ie,q,Ae,j,z,Ge,ne,le,ae,Qe,Je,Z,Q,ye,Vt,re,oe,Ie,Ee,J,Y,je,W,K,$,X,me,pe,Ce,He,nt,it,ee,U,H,et,Ze,qe,ze],styles:["[_nghost-%COMP%] .p-datatable .p-datatable-header{padding:.75rem 1rem .75rem 0}"],changeDetection:0})}}return t})();var Ii={data:{},filter:{EntityID:[],CashierID:null,Text:null,from:null,to:null},isLoading:!0,loader:{options:{outlets:[]},filter:{from:"",to:"",outletID:[]},roles:{isInRoleEmptyOutlet:!1}}},ut=We(Xe(Ii),Ke(t=>{let m={totalCOGS:T(()=>{let e=t.data()?.data?.cogs;return Array.isArray(e)?e.reduce((i,n)=>i+(n?.amount??0),0):0}),totalRevenue:T(()=>{let e=t.data()?.data?.revenue;return Array.isArray(e)?e.reduce((i,n)=>i+(n?.amount??0),0):0}),totalExpense:T(()=>{let e=t.data()?.data?.expense;return Array.isArray(e)?e.reduce((i,n)=>i+(n?.amount??0),0):0}),grossProfit:T(()=>Array.isArray(t.data()?.data?.cogs)&&Array.isArray(t.data()?.data?.revenue)?m.totalRevenue()-m.totalCOGS():0),profitOrLoss:T(()=>m.totalRevenue()-m.totalCOGS()-m.totalExpense()),isDataEmpty:T(()=>Object.keys(t.data()?.data??{}).length===0)};return m}),$e(t=>{let m=C(A),e=C(se),i={updateFilter(n){P(t,p=>y(g({},p),{filter:g(g({},p.filter),n)}))},getLoader:Se(ue(_e(()=>m.getIncomeStatementLoader().pipe(ve({next:n=>{P(t,p=>y(g({},p),{loader:n,filter:y(g({},p.filter),{from:e.from(n.filter.from).format(),to:e.from(n.filter.to).format()})})),i.getIncomeStatement(t.filter)},error:n=>{console.error(n)}}))))),getIncomeStatement:Se(ue(_e(n=>m.getIncomeStatement(n).pipe(Et(()=>P(t,p=>y(g({},p),{isLoading:!0}))),ve({next:p=>{P(t,u=>y(g({},u),{data:p,isLoading:!1}))},error:p=>{console.error(p)}})))))};return i}),Ye({onInit:t=>{t.getLoader()}}));var _t=()=>({}),ft=t=>["/pages/chart-of-account/account/",t],gt=()=>["/pages/report/general-ledger"],ht=t=>({id:t});function Ri(t,m){if(t&1){let e=R();o(0,"p-button",10),I("onClick",function(){h(e);let n=c(2);return x(n.onExport())}),r()}}function Ti(t,m){if(t&1&&(o(0,"div",8),b(1,Ri,1,0,"p-button",9),r()),t&2){let e=c();l(),s("ngIf",e.roleService.global.export)}}function Di(t,m){t&1&&(o(0,"tr")(1,"th",14),a(2,"Code"),r(),o(3,"th",15),a(4,"Name"),r(),o(5,"th",16),a(6,"Total"),r()())}function Fi(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",17),a(5),r()(),o(6,"td",16)(7,"a",18),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit;l(2),f(e.code),l(2),s("routerLink",F(8,ft,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,gt))("queryParams",F(11,ht,e.accountID)),l(),f(v(9,6,e.amount))}}function Vi(t,m){if(t&1&&(o(0,"tr")(1,"td",19)(2,"div",20)(3,"span",21),a(4,"Total Revenue :"),r(),o(5,"span",22),a(6),S(7,"number"),r()()()()),t&2){let e=c(3);l(6),f(v(7,1,e.store.totalRevenue()))}}function Mi(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No revenue records available"),r()()())}function Li(t,m){if(t&1&&(o(0,"h6",12),a(1,"Revenue"),r(),o(2,"p-table",13),b(3,Di,7,0,"ng-template",null,3,d)(5,Fi,10,13,"ng-template",null,4,d)(7,Vi,8,3,"ng-template",null,5,d)(9,Mi,4,0,"ng-template",null,6,d),r()),t&2){let e,i=c(2);l(2),s("value",(e=i.store.data())==null||e.data==null?null:e.data.revenue)}}function ki(t,m){t&1&&(o(0,"tr")(1,"th",14),a(2,"Code"),r(),o(3,"th",15),a(4,"Name"),r(),o(5,"th",24),a(6,"Total"),r()())}function Ni(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",17),a(5),r()(),o(6,"td",16)(7,"a",18),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit;l(2),f(e.code),l(2),s("routerLink",F(8,ft,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,gt))("queryParams",F(11,ht,e.accountID)),l(),f(v(9,6,e.amount))}}function Bi(t,m){if(t&1&&(o(0,"tr")(1,"td",19)(2,"div",20)(3,"span",21),a(4,"Total COGS :"),r(),o(5,"span",22),a(6),S(7,"number"),r()()()(),o(8,"tr")(9,"td",19)(10,"div",20)(11,"span",21),a(12,"Gross Profit :"),r(),o(13,"span",22),a(14),S(15,"number"),r()()()()),t&2){let e=c(3);l(6),f(v(7,2,e.store.totalCOGS())),l(8),f(v(15,4,e.store.grossProfit()))}}function Ai(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No COGS records available"),r()()())}function Gi(t,m){if(t&1&&(o(0,"h4",12),a(1,"COGS"),r(),o(2,"p-table",13),b(3,ki,7,0,"ng-template",null,3,d)(5,Ni,10,13,"ng-template",null,4,d)(7,Bi,16,6,"ng-template",null,5,d)(9,Ai,4,0,"ng-template",null,6,d),r()),t&2){let e,i=c(2);l(2),s("value",(e=i.store.data())==null||e.data==null?null:e.data.cogs)}}function Pi(t,m){t&1&&(o(0,"tr")(1,"th",14),a(2,"Code"),r(),o(3,"th",15),a(4,"Name"),r(),o(5,"th",16),a(6,"Total"),r()())}function Oi(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",17),a(5),r()(),o(6,"td",16)(7,"a",18),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit;l(2),f(e.code),l(2),s("routerLink",F(8,ft,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,gt))("queryParams",F(11,ht,e.accountID)),l(),f(v(9,6,e.amount))}}function ji(t,m){if(t&1&&(o(0,"tr")(1,"td",19)(2,"div",20)(3,"span",21),a(4,"Total Expense :"),r(),o(5,"span",22),a(6),S(7,"number"),r()()()(),o(8,"tr")(9,"td",19)(10,"div",20)(11,"span",21),a(12,"Profit / Loss :"),r(),o(13,"span",22),a(14),S(15,"number"),r()()()()),t&2){let e=c(3);l(6),f(v(7,2,e.store.totalExpense())),l(8),f(v(15,4,e.store.profitOrLoss()))}}function zi(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No expense records available"),r()()())}function qi(t,m){if(t&1&&(o(0,"h4",12),a(1,"Expense"),r(),o(2,"p-table",13),b(3,Pi,7,0,"ng-template",null,3,d)(5,Oi,10,13,"ng-template",null,4,d)(7,ji,16,6,"ng-template",null,5,d)(9,zi,4,0,"ng-template",null,6,d),r()),t&2){let e,i=c(2);l(2),s("value",(e=i.store.data())==null||e.data==null?null:e.data.expense)}}function Hi(t,m){if(t&1&&(o(0,"p-panel")(1,"div",11),b(2,Li,11,1)(3,Gi,11,1)(4,qi,11,1),r()()),t&2){let e,i,n,p=c();l(2),L(p.Object.keys((e=p.store.data().data)!==null&&e!==void 0?e:V(3,_t)).length>0?2:-1),l(),L(p.Object.keys((i=(i=p.store.data().data)==null?null:i.cogs)!==null&&i!==void 0?i:V(4,_t)).length>0?3:-1),l(),L(p.Object.keys((n=(n=p.store.data().data)==null?null:n.expense)!==null&&n!==void 0?n:V(5,_t)).length>0?4:-1)}}function Ui(t,m){if(t&1){let e=R();o(0,"form",25)(1,"div",26)(2,"label",27),a(3,"Outlet"),r(),w(4,"p-multiselect",28),r(),o(5,"div",26)(6,"label",27),a(7,"Cashier"),r(),o(8,"p-autocomplete",29),I("completeMethod",function(n){h(e);let p=c();return x(p.onCashierSearch(n))})("onSelect",function(n){h(e);let p=c();return x(p.onCashierSelect(n))}),r()(),o(9,"div",26)(10,"label",30),a(11,"From - To"),r(),o(12,"div",31),w(13,"p-datepicker",32)(14,"p-datepicker",33),r()()()}if(t&2){let e=c();s("formGroup",e.formFilter),l(4),s("virtualScroll",!0)("virtualScrollItemSize",50)("options",e.store.loader().options.outlets)("showClear",!0),l(4),s("showClear",!0)("suggestions",e.cashierSuggestions())("showClear",!0),l(5),s("iconDisplay","input")("showIcon",!0),l(),s("iconDisplay","input")("showIcon",!0)}}var At=(()=>{class t{constructor(){this.dayjsService=C(se),this.store=C(ut),this.fb=C(xe),this.reportService=C(A),this.roleService=C(te),this.isInitDialogFilterVisible=E(!1),this.dialogFilterVisible=E(!1),this.cashierSuggestions=E([]),this.cashierHashMap=new Map,this.Object=Object,ge(()=>{this.store.filter()&&this.initForm()})}ngOnInit(){this.initForm(),console.log(this.cashierHashMap.entries())}onSearch(e){this.store.updateFilter(y(g({},this.store.filter()),{Text:e}))}onCashierSearch(e){this.reportService.getCashierSuggestions(e.query).pipe(Fe("Cashier Suggestions"),M(i=>this.cashierSuggestions.set(i))).subscribe()}initForm(){let e=this.store.filter();console.log("initForm",this.cashierHashMap.get(e.CashierID)),this.formFilter=this.fb.group({EntityID:this.fb.control(e.EntityID??[]),CashierID:this.fb.control(this.cashierHashMap.get(e.CashierID)??""),Text:this.fb.control(e.Text??""),from:this.fb.control(e.from?this.dayjsService.from(e.from).toDate():null),to:this.fb.control(e.to?this.dayjsService.from(e.to).toDate():null)})}onFilterOK(){let e=this.formFilter.getRawValue(),i=Object.entries(e).reduce((n,[p,u])=>(p==="from"||p==="to"?u instanceof Date&&(n[p]=this.dayjsService.from(u).format()):n[p]=u||null,n),{});this.store.updateFilter(g(g({},this.store.filter()),i)),this.dialogFilterVisible.update(n=>!n),console.log("body",e)}onCashierSelect(e){console.log("Cashier selected:",e),!this.cashierHashMap.has(e.value.Key)&&(this.cashierHashMap.set(e.value.Key,e.value.Value),console.log("Cashier HashMap:",this.cashierHashMap))}onExport(){let e=y(g({},this.store.filter()),{export:!0,ExportPageNumber:1,ExportRowCount:1e4});this.reportService.getIncomeStatement(e,{responseType:"blob"}).pipe(Fe("Export Profit & Loss"),M(i=>{let n=i.type,p=[i],u=document.createElement("a");u.href=window.URL.createObjectURL(new Blob(p,{type:n}));let _=`profit-and-loss.${n.split("/")[1]}`;u.setAttribute("download",_),document.body.appendChild(u),u.click(),document.body.removeChild(u)})).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["app-report-income-statement"]],features:[Ne([ut])],decls:7,vars:5,consts:[["actionButton",""],["content",""],["filters",""],["header",""],["body",""],["footer",""],["emptymessage",""],[3,"isDialogFilterVisibleChange","isInitDialogFilterVisibleChange","filterConfirmed","isFilterable","pageTitle","isDialogFilterVisible","isInitDialogFilterVisible","scrollable"],[1,"d-flex","gap-2"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick",4,"ngIf"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick"],[1,"d-flex","flex-column","gap-3"],[1,"fs-5","fw-semibold"],[3,"value"],[2,"width","20%"],[2,"width","30%"],[1,"text-end"],["target","_blank",1,"link","link-primary",3,"routerLink"],["target","_blank",1,"link","link-primary",3,"routerLink","queryParams"],["colspan","3",1,"text-end","fw-semibold"],[1,"row"],[1,"col"],[1,"col-1","col-lg-2"],["colspan","3",1,""],[1,"text-end",2,"min-width","10%"],[1,"d-flex","flex-column","gap-3",3,"formGroup"],[1,"d-flex","flex-column"],["for",""],["formControlName","EntityID","filterBy","value","appendTo","body","display","chip","optionLabel","value","optionValue","key","placeholder","Select an Outlet",3,"virtualScroll","virtualScrollItemSize","options","showClear"],["appendTo","body","formControlName","CashierID","optionLabel","Value","optionValue","Key","styleClass","w-100","inputStyleClass","w-100","field","Value","placeholder","Search a cashier",3,"completeMethod","onSelect","showClear","suggestions"],["for","outlet"],[1,"d-flex","flex-column","gap-2"],["formControlName","from","styleClass","w-100 mb-0","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"],["formControlName","to","styleClass","w-100","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"]],template:function(i,n){if(i&1){let p=R();o(0,"app-main-panel",7),G("isDialogFilterVisibleChange",function(_){return h(p),N(n.dialogFilterVisible,_)||(n.dialogFilterVisible=_),x(_)})("isInitDialogFilterVisibleChange",function(_){return h(p),N(n.isInitDialogFilterVisible,_)||(n.isInitDialogFilterVisible=_),x(_)}),I("filterConfirmed",function(){return h(p),x(n.onFilterOK())}),b(1,Ti,2,1,"ng-template",null,0,d)(3,Hi,5,6,"ng-template",null,1,d)(5,Ui,15,12,"ng-template",null,2,d),r()}i&2&&(s("isFilterable",!0)("pageTitle",n.store.data().pageTitle),B("isDialogFilterVisible",n.dialogFilterVisible)("isInitDialogFilterVisible",n.isInitDialogFilterVisible),s("scrollable",!0))},dependencies:[ie,q,j,z,ye,re,oe,J,Y,W,K,$,X,me,pe,ne,le,ae,ee,Ue,U,H,Ie,Ee,Z,Q],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})}}return t})();var xt=vt(Lt());var Wi={metadata:{options:{outlets:[]},filter:{to:"",outletID:[]},roles:{isInRoleEmptyOutlet:!1}},data:{asset:[],liability:[],equity:[],pageTitle:""},filter:{date:(0,xt.default)().format("YYYY-MM-DD"),listOutletParam:[]}},bt=We(Xe(Wi),Ke(t=>({totalAsset:T(()=>t.data().asset.reduce((m,e)=>m+ +e.amount,0)),totalLiability:T(()=>t.data().liability.reduce((m,e)=>m+ +e.counterAmount,0)),totalEquity:T(()=>t.data().equity.reduce((m,e)=>m+ +e.counterAmount,0))})),$e(t=>{let m=C(A),e={updateFilter:i=>{P(t,n=>y(g({},n),{filter:i}))},fetchBalanceSheet:Se(ue(Me(()=>{let i=t.filter();return Object.entries(i).every(([n,p])=>p!=null&&p!=="")}),_e(i=>m.getBalanceSheet(i).pipe(ve({next:n=>{P(t,p=>y(g({},p),{data:n}))},error:n=>{console.error(n)}}))),yt(1))),fetchLoader:Se(ue(_e(()=>m.getBalanceSheetLoader().pipe(ve({next:i=>{P(t,n=>y(g({},n),{metadata:i,filter:{date:(0,xt.default)(i.filter.to).format("YYYY-MM-DD")}})),e.fetchBalanceSheet(t.filter)},error:i=>{console.error(i)}})))))};return e}),Ye(t=>({onInit:()=>{t.fetchLoader()}})));var Gt=vt(Lt());var Ct=t=>["/pages/chart-of-account/account/",t],St=()=>["/pages/report/general-ledger"],Ki=(t,m)=>({id:t,to:m}),Pt=t=>({id:t});function Yi(t,m){if(t&1){let e=R();o(0,"p-button",11),I("onClick",function(){h(e);let n=c(2);return x(n.onExport())}),r()}}function $i(t,m){if(t&1&&(o(0,"div",9),b(1,Yi,1,0,"p-button",10),r()),t&2){let e=c();l(),s("ngIf",e.roleService.global.export)}}function Xi(t,m){t&1&&(o(0,"tr")(1,"th",16),a(2,"Code"),r(),o(3,"th"),a(4,"Asset"),r(),o(5,"th",17),a(6,"Total"),r()())}function Ji(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",18),a(5),r()(),o(6,"td",19)(7,"a",20),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit,i=c(3);l(2),f(e.code),l(2),s("routerLink",F(8,Ct,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,St))("queryParams",wt(11,Ki,e.accountID,i.store.filter().date)),l(),f(v(9,6,e.amount))}}function Qi(t,m){if(t&1&&(o(0,"tr")(1,"td",21),a(2,"Total Asset"),r(),o(3,"td",22),a(4),S(5,"number"),r()()),t&2){let e=c(3);l(4),D(" ",v(5,1,e.store.totalAsset())," ")}}function Zi(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No asset records found."),r()()())}function en(t,m){if(t&1&&(o(0,"h4",14),a(1,"Asset"),r(),o(2,"p-table",15),b(3,Xi,7,0,"ng-template",null,3,d)(5,Ji,10,14,"ng-template",null,4,d)(7,Qi,6,3,"ng-template",null,5,d)(9,Zi,4,0,"ng-template",null,6,d),r()),t&2){let e=c(2);l(2),s("value",e.store.data().asset)}}function tn(t,m){t&1&&(o(0,"tr")(1,"th",16),a(2,"Code"),r(),o(3,"th"),a(4,"Liability"),r(),o(5,"th",17),a(6,"Total"),r()())}function nn(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",25),a(5),r()(),o(6,"td",19)(7,"a",20),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit;l(2),f(e.code),l(2),s("routerLink",F(8,Ct,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,St))("queryParams",F(11,Pt,e.accountID)),l(),f(v(9,6,e.counterAmount))}}function on(t,m){if(t&1&&(o(0,"tr")(1,"td",21),a(2," Total Liability "),r(),o(3,"td",22),a(4),S(5,"number"),r()()),t&2){let e=c(3);l(4),D(" ",v(5,1,e.store.totalLiability())," ")}}function rn(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No liability records found."),r()()())}function an(t,m){if(t&1&&(o(0,"h4",24),a(1,"Liability"),r(),o(2,"p-table",15),b(3,tn,7,0,"ng-template",null,3,d)(5,nn,10,13,"ng-template",null,4,d)(7,on,6,3,"ng-template",null,5,d)(9,rn,4,0,"ng-template",null,6,d),r()),t&2){let e=c(2);l(2),s("value",e.store.data().liability)}}function ln(t,m){t&1&&(o(0,"tr")(1,"th",16),a(2,"Code"),r(),o(3,"th"),a(4,"Equity"),r(),o(5,"th",17),a(6,"Total"),r()())}function pn(t,m){if(t&1&&(o(0,"tr")(1,"td"),a(2),r(),o(3,"td")(4,"a",18),a(5),r()(),o(6,"td",19)(7,"a",20),a(8),S(9,"number"),r()()()),t&2){let e=m.$implicit;l(2),f(e.code),l(2),s("routerLink",F(8,Ct,e.accountID)),l(),f(e.name),l(2),s("routerLink",V(10,St))("queryParams",F(11,Pt,e.accountID)),l(),f(v(9,6,e.counterAmount))}}function mn(t,m){if(t&1&&(o(0,"tr")(1,"td",21),a(2,"Total Equity"),r(),o(3,"td",22),a(4),S(5,"number"),r()(),o(6,"tr")(7,"td",21),a(8," Total Liability + Equity "),r(),o(9,"td",22),a(10),S(11,"number"),r()()),t&2){let e=c(3);l(4),D(" ",v(5,2,e.store.totalEquity())," "),l(6),D(" ",v(11,4,e.store.totalLiability()+e.store.totalEquity())," ")}}function sn(t,m){t&1&&(o(0,"tr")(1,"td",23)(2,"span"),a(3,"No equity records found."),r()()())}function cn(t,m){if(t&1&&(o(0,"h4",24),a(1,"Equity"),r(),o(2,"p-table",15),b(3,ln,7,0,"ng-template",null,3,d)(5,pn,10,13,"ng-template",null,4,d),a(7," <"),b(8,mn,12,6,"ng-template",null,5,d)(10,sn,4,0,"ng-template",null,6,d),r()),t&2){let e=c(2);l(2),s("value",e.store.data().equity)}}function dn(t,m){if(t&1&&(o(0,"p-panel",12)(1,"div",13),b(2,en,11,1)(3,an,11,1)(4,cn,12,1),r()()),t&2){let e=c();s("showHeader",!1),l(2),L(e.Object.keys(e.store.data().asset).length>0?2:-1),l(),L(e.Object.keys(e.store.data().liability).length>0?3:-1),l(),L(e.Object.keys(e.store.data().equity).length>0?4:-1)}}function un(t,m){if(t&1&&(o(0,"div",31)(1,"div"),a(2),r()()),t&2){let e=m.$implicit;l(2),f(e.value)}}function _n(t,m){if(t&1&&(o(0,"form",26)(1,"div",27)(2,"label",28),a(3,"Outlet"),r(),o(4,"p-multiselect",29),b(5,un,3,1,"ng-template",null,7,d),r()(),o(7,"div",27)(8,"label",28),a(9,"From"),r(),w(10,"p-datepicker",30),r()()),t&2){let e=c();s("formGroup",e.filterForm),l(4),s("virtualScroll",!0)("virtualScrollItemSize",50)("options",e.store.metadata().options.outlets)("showClear",!0),l(6),s("iconDisplay","input")("showIcon",!0)}}var Ot=(()=>{class t{constructor(){this.store=C(bt),this.ReportServiceStore=C(A),this.dialogFilterVisible=E(!1),this.isInitDialogFilterVisible=E(!1),this.roleService=C(te),this.Object=Object}ngOnInit(){this.generateFilterForm()}generateFilterForm(){this.filterForm=new Ft({date:new rt(new Date),outletID:new rt([])})}onFilterOKEvent(){let{date:e,outletID:i}=this.filterForm.value;this.store.updateFilter({date:(0,Gt.default)(e).format("YYYY-MM-DD"),listOutletParam:i}),this.dialogFilterVisible.update(n=>!n)}onExport(){let e=y(g({},this.store.filter()),{export:!0,ExportPageNumber:1,ExportRowCount:1e4});this.ReportServiceStore.getBalanceSheet(e,{responseType:"blob"}).pipe(Fe("Export Balance Sheet"),M(i=>{let n=i.type,p=[i],u=document.createElement("a");u.href=window.URL.createObjectURL(new Blob(p,{type:n}));let _=`balance-sheet.${n.split("/")[1]}`;u.setAttribute("download",_),document.body.appendChild(u),u.click(),document.body.removeChild(u)})).subscribe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["app-report-balance-sheet"]],features:[Ne([bt])],decls:7,vars:5,consts:[["actionButton",""],["content",""],["filters",""],["header",""],["body",""],["footer",""],["emptymessage",""],["item",""],[3,"isDialogFilterVisibleChange","isInitDialogFilterVisibleChange","filterConfirmed","pageTitle","isFilterable","isDialogFilterVisible","isInitDialogFilterVisible","scrollable"],[1,"d-flex","gap-2"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick",4,"ngIf"],["severity","secondary","variant","outlined","icon","fa-solid fa-upload","label","Export",3,"onClick"],[3,"showHeader"],[1,"d-flex","flex-column","gap-3"],[1,"fs-5","fw-semibold","mt-3"],[3,"value"],[2,"width","20%"],[1,"text-end",2,"width","5%"],["target","_blank",1,"link","link-primary",3,"routerLink"],[1,"text-end"],["target","_blank",1,"link","link-primary",3,"routerLink","queryParams"],["colspan","2",1,"fw-semibold","text-end"],[1,"text-end","fw-semibold"],["colspan","3",1,""],[1,"fs-5","fw-semibold"],["target","_blank",1,"link","link-primary","d-flex","align-items-center",3,"routerLink"],[1,"d-flex","flex-column","row-gap-3",3,"formGroup"],[1,"d-flex","flex-column"],["for","outlet"],["formControlName","outletID","display","chip","appendTo","body","optionLabel","value","optionValue","key","placeholder","Select Outlet",3,"virtualScroll","virtualScrollItemSize","options","showClear"],["formControlName","date","styleClass","w-100","appendTo","body","inputId","icondisplay",3,"iconDisplay","showIcon"],[1,"flex","items-center","gap-2"]],template:function(i,n){if(i&1){let p=R();o(0,"app-main-panel",8),G("isDialogFilterVisibleChange",function(_){return h(p),N(n.dialogFilterVisible,_)||(n.dialogFilterVisible=_),x(_)})("isInitDialogFilterVisibleChange",function(_){return h(p),N(n.isInitDialogFilterVisible,_)||(n.isInitDialogFilterVisible=_),x(_)}),I("filterConfirmed",function(){return h(p),x(n.onFilterOKEvent())}),b(1,$i,2,1,"ng-template",null,0,d)(3,dn,5,4,"ng-template",null,1,d)(5,_n,11,7,"ng-template",null,2,d),r()}i&2&&(s("pageTitle",n.store.data().pageTitle)("isFilterable",!0),B("isDialogFilterVisible",n.dialogFilterVisible)("isInitDialogFilterVisible",n.isInitDialogFilterVisible),s("scrollable",!0))},dependencies:[ie,q,j,z,le,ae,ne,Z,Q,J,Y,W,K,$,X,me,pe,re,oe,Ce,ee,Ue,U,H],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})}}return t})();var jt=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["app-report-comparative-balance"]],decls:3,vars:0,template:function(i,n){i&1&&(o(0,"p"),a(1,"report-comparative-balance works!"),r(),a(2,`
|
|
2
2
|
,
|
|
3
3
|
`))},styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})}}return t})();var zt=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["app-report-cash-flow"]],decls:3,vars:0,template:function(i,n){i&1&&(o(0,"p"),a(1,"report-cash-flow works!"),r(),a(2,`
|
|
4
4
|
,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as un}from"./chunk-
|
|
1
|
+
import{a as un}from"./chunk-WW5ELKKO.js";import{a as qn}from"./chunk-BTDW4G2F.js";import{a as Xn}from"./chunk-BY6QUHQI.js";import"./chunk-C2GO6SPF.js";import{a as Fn}from"./chunk-LWLJZPBI.js";import{a as $n}from"./chunk-3NU3P6NL.js";import{b as Wn}from"./chunk-DLUALPHU.js";import"./chunk-4DOELXOP.js";import{a as Vn}from"./chunk-ZTEDQLOG.js";import{a as Dn}from"./chunk-EDGADVEY.js";import"./chunk-LZUGPBFD.js";import"./chunk-2KERKGCG.js";import{b as jn}from"./chunk-4CDAAU6Z.js";import{b as Yn,c as Ti}from"./chunk-X22YKT5B.js";import{b as Gn}from"./chunk-JYCUE5HV.js";import{c as Mn}from"./chunk-FUZFAJGJ.js";import{a as et,c as An,f as ai,o as Bn,p as Rn,t as Hn,u as Si,w as Nn,x as oi}from"./chunk-5FSMHZSY.js";import"./chunk-A5HAJEPC.js";import{Da as si,G as Sn,Ia as Ln,J as Tn,Ja as kn,K as Pn,Ka as zn,La as ri,Ma as ge,P as Ie,Q as _t,R as Nt,S as En,Ua as Je,b as mn,e as fn,f as gn,h as hn,ia as On,j as vn,k as wn,ma as In,p as bn,q as yn,r as _n,s as Cn,w as ni,x as xn}from"./chunk-G5S5AZA7.js";import{b as rn,d as an,e as on,f as ln,l as Ht}from"./chunk-Z45NTTES.js";import{a as cn,b as Mi}from"./chunk-4AOHMAEQ.js";import{a as pn}from"./chunk-BLQJXMNV.js";import{c as dn,d as _i,f as Ci,h as xi}from"./chunk-F2X3VGZZ.js";import{G as sn,h as ct,j as ii,k as Ft,l as Bt,m as Rt,n as tn,r as we,s as Oe,y as nn}from"./chunk-OKCHQM5Q.js";import{Aa as Wi,Ab as Ke,Ac as pe,Bc as Be,Ca as qi,Cb as X,Cc as ti,Da as xe,Ea as wt,Ga as Ee,Jb as Z,Jc as Dt,Ka as Ui,Kb as $,Kc as $t,Mb as Ki,Mc as dt,Nb as Qt,Ob as ye,Pb as Kt,Qb as Zt,Sb as Jt,Tb as ei,Ub as G,V as Xi,Vb as N,Vc as pt,Wb as te,Wc as Vt,Xb as at,Yb as ot,Yc as en,Zb as Me,_b as ve,aa as Yi,ba as Ye,bb as bi,ca as je,cb as qe,dc as ie,ec as H,fc as bt,gb as R,gc as lt,ha as ae,jc as fe,kc as yt,lc as ne,mb as Ue,mc as se,oa as ji,pa as U,pc as Lt,qa as Q,qc as le,rb as Ut,rc as Fe,s as wi,sc as yi,t as Gi,ta as Ae,tc as Zi,vc as kt,wb as he,wc as zt,xb as Qe,xc as At,yc as Ze,za as We,zb as Qi,zc as Ji}from"./chunk-JP6RBSB3.js";import{a as me,b as It}from"./chunk-YQFG5XE2.js";var sr=["*"],rr=({dt:i})=>`
|
|
2
2
|
.p-inputgroup,
|
|
3
3
|
.p-inputgroup .p-floatlabel,
|
|
4
4
|
.p-inputgroup .p-iftalabel {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as y,b as C,e as F,f as M}from"./chunk-3VJJTR55.js";import{b as T}from"./chunk-YYDAQ7AW.js";import{d as L,e as S}from"./chunk-Z45NTTES.js";import{a as G}from"./chunk-
|
|
1
|
+
import{a as y,b as C,e as F,f as M}from"./chunk-3VJJTR55.js";import{b as T}from"./chunk-YYDAQ7AW.js";import{d as L,e as S}from"./chunk-Z45NTTES.js";import{a as G}from"./chunk-4AOHMAEQ.js";import{r as U}from"./chunk-OKCHQM5Q.js";import{Ac as g,Kb as n,Ob as l,Sb as m,Tb as f,Ub as a,Vb as p,ba as c,ec as h,gb as s,ha as i,qc as v,rc as b,wb as d}from"./chunk-JP6RBSB3.js";var $=(()=>{class t{constructor(){this.httpService=i(G)}getUserLoaderList(){return this.httpService.get(void 0,"api/UserLoader/List")}getUsers(e){return this.httpService.post(void 0,"api/User/List",e)}getUserFormMeta(e){return this.httpService.post(void 0,"api/UserLoader/Form",{ID:e})}inviteUser(e){return this.httpService.post(void 0,"api/User/Submit",e)}deleteUser(e){return this.httpService.post(void 0,"api/User/Delete",{ListID:e})}getGroupLoader(){return this.httpService.get(void 0,"api/UserGroupLoader/List")}getGroupList(e){return this.httpService.post(void 0,"api/UserGroup/List",e)}getGroupFormMeta(e){return this.httpService.get(void 0,e?`api/UserGroup/Form/${e}`:"api/UserGroup/Form")}assignGroupRole(e){return this.httpService.post(void 0,"api/UserGroup/AssignRole",e)}deleteGroup(e){return this.httpService.post(void 0,"api/UserGroup/Delete",{ListID:e})}static{this.\u0275fac=function(r){return new(r||t)}}static{this.\u0275prov=c({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var k=t=>({"ps-0":t}),x=(t,o)=>o.route;function _(t,o){if(t&1&&(a(0,"p-tab",2)(1,"span"),v(2),p()()),t&2){let e=o.$implicit,r=h();l(g(5,k,r.router.url.includes("forms"))),n("value",e.route)("routerLink",e.route),s(2),b(e.label)}}var B=(()=>{class t{constructor(){this.router=i(L),this.tabs=[{route:"/pages/users/users",label:"Users"},{route:"/pages/users/groups",label:"Groups"}]}get activeTab(){return this.tabs.find(r=>this.router.url.startsWith(r.route)).route||this.tabs[0].route}static{this.\u0275fac=function(r){return new(r||t)}}static{this.\u0275cmp=d({type:t,selectors:[["app-user-tabs"]],decls:4,vars:1,consts:[[3,"value"],[3,"value","routerLink","class"],[3,"value","routerLink"]],template:function(r,u){r&1&&(a(0,"p-tabs",0)(1,"p-tablist"),m(2,_,3,7,"p-tab",1,x),p()()),r&2&&(n("value",u.activeTab),s(2),f(u.tabs))},dependencies:[M,F,y,C,S,T,U],styles:["[_nghost-%COMP%]{display:block} .p-tabs .p-tab{padding:0 1.125rem .6rem 0!important}"],changeDetection:0})}}return t})();export{$ as a,B as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Se,b as ke}from"./chunk-
|
|
1
|
+
import{a as Se,b as ke}from"./chunk-EBEP5ZNI.js";import{a as ve,b as be,c as xe,d as ye,e as Ce,f as Fe}from"./chunk-3VJJTR55.js";import"./chunk-YYDAQ7AW.js";import{a as ge,b as he}from"./chunk-NJO5TWIA.js";import{a as _e}from"./chunk-XKI7WLHE.js";import{a as ce}from"./chunk-BY6QUHQI.js";import"./chunk-C2GO6SPF.js";import"./chunk-3NU3P6NL.js";import{a as G}from"./chunk-XKCLERWG.js";import"./chunk-ZTEDQLOG.js";import{a as re,b as ie}from"./chunk-JTDJJORR.js";import"./chunk-2KERKGCG.js";import{h as fe}from"./chunk-XZQ3IYQ6.js";import{b as ue,c as de}from"./chunk-X22YKT5B.js";import{a as me,b as se}from"./chunk-JYCUE5HV.js";import"./chunk-JMEBBWX4.js";import"./chunk-FUZFAJGJ.js";import{n as ne,o as ae,w as le,x as pe}from"./chunk-5FSMHZSY.js";import"./chunk-A5HAJEPC.js";import{b as H,c as J,e as K,f as Q,k as W,l as X,m as Y,n as Z,o as ee,u as te,x as oe}from"./chunk-G5S5AZA7.js";import{b as U,d as L}from"./chunk-Z45NTTES.js";import"./chunk-4AOHMAEQ.js";import"./chunk-BLQJXMNV.js";import"./chunk-F2X3VGZZ.js";import{h as $,j,k as q,r as z}from"./chunk-OKCHQM5Q.js";import{Ab as P,Ac as b,Cb as f,Ga as D,Kb as a,Mc as I,Nb as _,Ob as C,Qb as F,Qc as B,Sb as S,Tb as k,Ub as i,Vb as n,Wb as g,X as M,Z as y,_b as R,dc as V,ec as u,gb as r,ha as c,pa as E,qa as N,qc as h,rc as T,sc as O,ta as A,wb as w,zc as v}from"./chunk-JP6RBSB3.js";import"./chunk-YQFG5XE2.js";var Me=()=>({height:"calc(100vh - 70px)"}),Ee=t=>({"ng-invalid ng-dirty":t}),Te=t=>({"ps-0":t}),Ie=()=>({display:"flex"});function Ne(t,l){if(t&1){let e=R();i(0,"p-button",4),V("onClick",function(){E(e);let p=u(2);return N(p.onSubmit())}),n()}}function Ae(t,l){if(t&1&&f(0,Ne,1,0,"p-button",3),t&2){let e=u();a("ngIf",e.roleService.user.edit)}}function De(t,l){if(t&1&&(i(0,"div")(1,"span",16),h(2),n()()),t&2){let e=l.$implicit;r(2),T(e)}}function we(t,l){if(t&1&&(i(0,"div"),f(1,De,3,1,"div",15),n()),t&2){let e=u(2);r(),a("ngForOf",e.getErrors("name"))}}function Pe(t,l){if(t&1&&(i(0,"div",25)(1,"div",26),g(2,"p-checkbox",27),i(3,"p",28),h(4),n()()()),t&2){let e=l.$implicit,o=l.$index;a("formGroupName",o)("pTooltip",e.get("description").value),r(2),_(v(6,Ie)),a("binary",!0),r(2),O(" ",e.get("name").value," ")}}function Re(t,l){if(t&1&&(i(0,"div",18)(1,"div",19)(2,"div",20)(3,"span",21),h(4),n()(),g(5,"p-checkbox",22),n(),i(6,"div",23)(7,"div",24),S(8,Pe,5,7,"div",25,F),n()()()),t&2){let e=l.$implicit,o=l.$index,p=u(3);a("formGroupName",o),r(4),T(e.get("groupName").value),r(),_(v(5,Ie)),a("binary",!0),r(3),k(p.getRolesArray(o).controls)}}function Ve(t,l){if(t&1&&(i(0,"div",17),S(1,Re,10,6,"div",18,F),n()),t&2){let e=u(2);r(),k(e.rolesFormArray.controls)}}function Oe(t,l){if(t&1&&(i(0,"p-panel")(1,"div",5),g(2,"app-user-tabs"),i(3,"form",6),g(4,"input",7),f(5,we,2,1,"div",8),n(),i(6,"p-tabs",9)(7,"p-tablist")(8,"p-tab",9),h(9,"Permission"),n(),i(10,"p-tab",10),h(11,"Description"),n()(),i(12,"p-tabpanels",11)(13,"p-tabpanel",9)(14,"form",6),f(15,Ve,3,0,"div",12),n()(),i(16,"p-tabpanel",10)(17,"div",13),g(18,"textarea",14),n()()()()()()),t&2){let e=u();_(v(13,Me)),r(3),a("formGroup",e.form),r(),a("fluid",!0)("ngClass",b(14,Ee,e.isInvalid("name"))),r(),a("ngIf",e.isInvalid("name")),r(3),C(b(16,Te,e.router.url.includes("forms"))),r(2),C(b(18,Te,e.router.url.includes("forms"))),r(4),a("formGroup",e.form),r(),a("ngIf",e.rolesFormArray.length>0),r(2),a("formGroup",e.form)}}var gt=(()=>{class t extends _e{constructor(){super(...arguments),this.service=c(Se),this.fb=c(te),this.cdr=c(B),this.route=c(U),this.router=c(L),this.roleService=c(ce),this.form=this.fb.group({groupID:this.fb.control(""),name:this.fb.control("",[J.required]),description:this.fb.control(""),roles:this.fb.array([])}),this.groupFormMeta=D(null)}ngOnInit(){this.route.queryParamMap.pipe(M(e=>this.service.getGroupFormMeta(e.get("groupID")).pipe(G("Group form meta loaded"),y(o=>{this.groupFormMeta.set(o),this.populateForm(o)})))).subscribe()}populateForm(e){this.form.patchValue({groupID:e.form.groupID,name:e.form.name,description:e.form.description});let o=this.rolesFormArray;o.clear(),e.options.roles.forEach(p=>{let s=this.fb.array(p.roles.map(m=>this.fb.group({id:this.fb.control(m.id),name:this.fb.control(m.name),checked:this.fb.control({value:e.form.rolesID.includes(m.id),disabled:!this.roleService.user.edit}),description:this.fb.control(m.description||"")}))),d=this.fb.group({groupName:this.fb.control(p.name),groupChecked:this.fb.control(!1),roles:s}),Ge=s.controls.every(m=>m.get("checked").value);d.get("groupChecked").setValue(Ge,{emitEvent:!1}),this.roleService.user.edit?d.get("groupChecked").enable():d.get("groupChecked").disable(),d.get("groupChecked").valueChanges.subscribe(m=>{s.controls.forEach(x=>{x.get("checked").setValue(m,{emitEvent:!1})})}),s.valueChanges.subscribe(()=>{let m=s.controls.every(x=>x.get("checked").value);d.get("groupChecked").setValue(m,{emitEvent:!1})}),o.push(d)}),this.cdr.detectChanges()}get rolesFormArray(){return this.form.get("roles")}getRolesArray(e){return this.rolesFormArray.at(e).get("roles")}getSelectedRoleIDs(){let e=[];return this.rolesFormArray.controls.forEach(o=>{o.get("roles").controls.forEach(s=>{s.get("checked").value&&e.push(s.get("id").value)})}),e}onSubmit(){if(this.form.invalid){this.form.markAllAsTouched();return}let e={groupID:this.form.get("groupID").value,name:this.form.get("name").value,rolesID:this.getSelectedRoleIDs(),description:this.form.controls.description.value};this.service.assignGroupRole(e).pipe(G("Group roles assigned successfully"),y(()=>{this.router.navigate(["/pages/users/groups"])})).subscribe(),console.log(e)}static{this.\u0275fac=(()=>{let e;return function(p){return(e||(e=A(t)))(p||t)}})()}static{this.\u0275cmp=w({type:t,selectors:[["app-group-form"]],features:[P],decls:5,vars:1,consts:[["actionButton",""],["content",""],["pageTitle","Group Form",3,"overflowScroll"],["label","Submit",3,"onClick",4,"ngIf"],["label","Submit",3,"onClick"],[1,"d-flex","flex-column","gap-3","py-2"],[1,"d-flex","flex-column","gap-2",3,"formGroup"],["type","text","pInputText","","formControlName","name","placeholder","Group Name",3,"fluid","ngClass"],[4,"ngIf"],["value","0"],["value","1"],[2,"padding-left","0"],["formArrayName","roles","class","container-fluid d-flex flex-column row-gap-3",4,"ngIf"],[3,"formGroup"],["formControlName","description","fluid","","rows","5","cols","30","pTextarea",""],[4,"ngFor","ngForOf"],[1,"text-danger"],["formArrayName","roles",1,"container-fluid","d-flex","flex-column","row-gap-3"],[1,"row",3,"formGroupName"],[1,"col-2","border","d-flex","align-items-center","justify-content-between",2,"height","40px","background","#f6f6f6"],[1,"d-flex","justify-content-center","w-100"],[1,"text-dark","fw-semibold","fs-2"],["size","small","formControlName","groupChecked",3,"binary"],[1,"col"],["formArrayName","roles",1,"row","h-100"],["tooltipPosition","top",1,"col-3","border","p-0","bg-white",3,"formGroupName","pTooltip"],[1,"d-flex","h-100","align-items-center","gap-2","px-2"],["size","small","formControlName","checked",3,"binary"],[1,"fs-2","text-dark","m-0"]],template:function(o,p){o&1&&(i(0,"app-main-panel",2),f(1,Ae,1,1,"ng-template",null,0,I)(3,Oe,19,20,"ng-template",null,1,I),n()),o&2&&a("overflowScroll",!0)},dependencies:[fe,ie,re,oe,W,H,K,Q,X,ee,Y,Z,z,$,j,q,ae,ne,Fe,Ce,ye,xe,ve,be,he,ge,pe,le,ke,se,me,de,ue],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .p-checkbox{display:flex!important}[_nghost-%COMP%] .p-tabs .p-tab{padding-left:0!important}[_nghost-%COMP%] .p-panel .p-panel-header{display:none!important}"],changeDetection:0})}}return t})();export{gt as GroupFormComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as C,b as L}from"./chunk-
|
|
1
|
+
import{a as C,b as L}from"./chunk-ASZXOTXP.js";import"./chunk-SNKHWMQW.js";import{a as E,b as V}from"./chunk-H57SDRPH.js";import"./chunk-4CDAAU6Z.js";import{h as H}from"./chunk-XZQ3IYQ6.js";import{b as N,c as G}from"./chunk-X22YKT5B.js";import{a as R,b as D}from"./chunk-JYCUE5HV.js";import"./chunk-JMEBBWX4.js";import"./chunk-FUZFAJGJ.js";import{w as j,x as O}from"./chunk-5FSMHZSY.js";import"./chunk-A5HAJEPC.js";import"./chunk-G5S5AZA7.js";import"./chunk-4AOHMAEQ.js";import{a as I}from"./chunk-BLQJXMNV.js";import"./chunk-F2X3VGZZ.js";import{n as $,r as F}from"./chunk-OKCHQM5Q.js";import{Cb as A,Jc as c,Kb as p,Kc as l,Mc as T,Nb as x,Ub as n,V as y,Vb as o,Wb as m,X as M,Z as S,_b as P,dc as h,ec as s,gb as a,h as v,ha as f,pa as g,qa as d,ra as b,s as u,sa as k,wb as B,yc as w,zc as _}from"./chunk-JP6RBSB3.js";import"./chunk-YQFG5XE2.js";var q=()=>({height:"calc(100vh - 100px)"});function J(i,z){if(i&1){let e=P();n(0,"div",3)(1,"p-button",4),h("onClick",function(){g(e);let r=s();return d(r.onFormat())}),o(),n(2,"p-button",5),c(3,"async"),c(4,"async"),h("onClick",function(){g(e);let r=s();return d(r.onMigrate())}),o()()}if(i&2){let e=s();a(2),p("disabled",l(3,2,e.countInBooks$)!==0)("pTooltip",l(4,4,e.countInBooks$)!==0?"Books already has entries. Please format before re-migrating.":null)}}function K(i,z){if(i&1&&(n(0,"p-scroll-panel")(1,"p-panel")(2,"div",6),m(3,"app-migration-cards",7),c(4,"async"),b(),n(5,"svg",8),m(6,"path",9),o(),k(),m(7,"app-migration-cards",10),c(8,"async"),o()()()),i&2){let e=s();x(_(12,q)),a(),x(_(13,q)),a(2),p("migrationCount",l(4,8,e.countInPOS$))("migrationTitle",e.pageTitle),a(4),p("migrationCount",l(8,10,e.countInBooks$))("migrationTitle",e.pageTitle)}}var ue=(()=>{class i{constructor(){this.migrateService=f(C),this.toastr=f(I),this.refresh$=new v(void 0),this.pageTitle="Tax Account"}ngOnInit(){let e=this.refresh$.pipe(M(()=>this.migrateService.getTaxAccountCount()),S(t=>console.log("API response:",t)),y(1));this.countInPOS$=e.pipe(u(t=>Number(t.pos))),this.countInBooks$=e.pipe(u(t=>Number(t.books)))}onMigrate(){this.migrateService.migrateTaxAccount().subscribe(e=>{this.refresh$.next(),this.toastr.success(e.message,"Migration Successful")})}onFormat(){confirm("Are you sure you want to format?")&&this.migrateService.formatTaxAccount().subscribe(e=>{this.refresh$.next(),this.toastr.success(e.message,"Format Successful")})}static{this.\u0275fac=function(t){return new(t||i)}}static{this.\u0275cmp=B({type:i,selectors:[["app-tax-account"]],features:[w([C])],decls:5,vars:1,consts:[["actionButton",""],["content",""],[3,"pageTitle"],[1,"d-flex","gap-2"],["label","Format","severity","danger",3,"onClick"],["label","Migrate","tooltipPosition","left",3,"onClick","disabled","pTooltip"],[1,"flex","gap-30","flex-wrap",2,"display","flex","justify-content","center","align-items","center","gap","1rem","margin-top","40px"],["migrationPlace","Accounting",3,"migrationCount","migrationTitle"],["width","40","height","40","viewBox","0 0 24 24","fill","none"],["d","M8 5l8 7-8 7","stroke","#007bff","stroke-width","2","stroke-linecap","round","stroke-linejoin","round"],["migrationPlace","Books",3,"migrationCount","migrationTitle"]],template:function(t,r){t&1&&(n(0,"app-main-panel",2),A(1,J,5,6,"ng-template",null,0,T)(3,K,9,14,"ng-template",null,1,T),o()),t&2&&p("pageTitle",r.pageTitle)},dependencies:[H,F,$,V,E,D,R,G,N,L,O,j],encapsulation:2})}}return i})();export{ue as TaxAccountComponent};
|