dealpos 25.36.3 → 25.36.5

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.
Files changed (120) hide show
  1. package/browser/{chunk-NRWF3XBS.js → chunk-23Y4YCAW.js} +1 -1
  2. package/browser/{chunk-JTNYYPAS.js → chunk-2EWXXZKQ.js} +1 -1
  3. package/browser/{chunk-HID7MO2S.js → chunk-2RSKW5G2.js} +1 -1
  4. package/browser/{chunk-4KJQEYIR.js → chunk-33NXJZ72.js} +1 -1
  5. package/browser/{chunk-NQ25BYIN.js → chunk-3IOQWLB5.js} +1 -1
  6. package/browser/{chunk-3AEZZSNR.js → chunk-3IPP3AZL.js} +1 -1
  7. package/browser/{chunk-NFBE3ZMT.js → chunk-3O2TNQSP.js} +1 -1
  8. package/browser/{chunk-2WELHORE.js → chunk-3TA4OWHL.js} +2 -2
  9. package/browser/{chunk-LP2Z5VKX.js → chunk-44PHIXFD.js} +2 -2
  10. package/browser/{chunk-GHYJCSNA.js → chunk-44YH56DF.js} +1 -1
  11. package/browser/{chunk-5CTVOG3M.js → chunk-4FBGU4J6.js} +1 -1
  12. package/browser/{chunk-A4K4RDXW.js → chunk-4GUECTPN.js} +1 -1
  13. package/browser/{chunk-MRXZBHTG.js → chunk-4WOVT5XU.js} +1 -1
  14. package/browser/{chunk-ZYVROOL4.js → chunk-56WYLSRZ.js} +1 -1
  15. package/browser/{chunk-RQLTUOIG.js → chunk-5DD6XM7Q.js} +1 -1
  16. package/browser/{chunk-IB3KMJOZ.js → chunk-5DKNOWTW.js} +1 -1
  17. package/browser/{chunk-I3JXGYPZ.js → chunk-5EWWMBXV.js} +1 -1
  18. package/browser/{chunk-JCT27TRG.js → chunk-5ZWOT4WG.js} +1 -1
  19. package/browser/{chunk-Z5L5OWOY.js → chunk-6FWTWEKT.js} +1 -1
  20. package/browser/{chunk-EIHAMJHD.js → chunk-6HZ67QEX.js} +1 -1
  21. package/browser/{chunk-4RFXQF2Y.js → chunk-6QW64OSB.js} +1 -1
  22. package/browser/{chunk-X6LIVARI.js → chunk-7ARFB5UX.js} +11 -11
  23. package/browser/{chunk-Y4VV2HSW.js → chunk-A4CYZHDA.js} +1 -1
  24. package/browser/{chunk-WAXN55HD.js → chunk-ADCACICM.js} +1 -1
  25. package/browser/{chunk-IPI25TWA.js → chunk-ADD7IJCW.js} +1 -1
  26. package/browser/{chunk-NH3OND33.js → chunk-ALOHPKEB.js} +1 -1
  27. package/browser/{chunk-WD3MA4MA.js → chunk-ARJLWLHF.js} +1 -1
  28. package/browser/{chunk-PUIYTAAZ.js → chunk-AYYLS3ND.js} +1 -1
  29. package/browser/{chunk-YVBFA7MT.js → chunk-BF3HM72L.js} +1 -1
  30. package/browser/{chunk-YPF7BMPI.js → chunk-BKS3I5O7.js} +1 -1
  31. package/browser/{chunk-KG4DA565.js → chunk-BRUTIHV5.js} +1 -1
  32. package/browser/{chunk-7FRXJGU7.js → chunk-BYT3ZVBA.js} +1 -1
  33. package/browser/{chunk-DJHIHS3W.js → chunk-COG3GHJD.js} +1 -1
  34. package/browser/{chunk-YUGYXJ5G.js → chunk-CQVVIZJ7.js} +1 -1
  35. package/browser/{chunk-KRC5LE5H.js → chunk-CRTHBX5Z.js} +1 -1
  36. package/browser/{chunk-JM6WDW37.js → chunk-D5CTQSRR.js} +1 -1
  37. package/browser/{chunk-XGHFDJFY.js → chunk-D5E7MR22.js} +1 -1
  38. package/browser/{chunk-N7T6HUYA.js → chunk-DADXJJV4.js} +1 -1
  39. package/browser/{chunk-TFRMAVDX.js → chunk-DGRQO7J7.js} +1 -1
  40. package/browser/{chunk-F5ERAH5D.js → chunk-DPLLLOO5.js} +1 -1
  41. package/browser/chunk-DQUPGPLI.js +1 -0
  42. package/browser/{chunk-RWHRX53O.js → chunk-E5KSEPMR.js} +1 -1
  43. package/browser/{chunk-LRSTQA5B.js → chunk-ECSUCVRE.js} +1 -1
  44. package/browser/{chunk-UJUI5ETY.js → chunk-EVX52NA7.js} +1 -1
  45. package/browser/{chunk-QUEQTUK6.js → chunk-FHUSU4FC.js} +1 -1
  46. package/browser/{chunk-S3FHQFMA.js → chunk-FMLC555I.js} +1 -1
  47. package/browser/{chunk-UG37H4GU.js → chunk-FPBO7JOG.js} +1 -1
  48. package/browser/{chunk-GM7AHKLZ.js → chunk-FSFWFU4W.js} +1 -1
  49. package/browser/{chunk-7A3GWGOJ.js → chunk-FT4QDBW5.js} +1 -1
  50. package/browser/{chunk-AOAAVKWR.js → chunk-G7GHTJTG.js} +1 -1
  51. package/browser/{chunk-IBTIOJOZ.js → chunk-GR3EU2XL.js} +1 -1
  52. package/browser/{chunk-A5K2PQQ4.js → chunk-GXVV54HN.js} +1 -1
  53. package/browser/{chunk-L2GLJO5X.js → chunk-GYLHVSYU.js} +1 -1
  54. package/browser/{chunk-CAMFGC4E.js → chunk-GYWSH2X4.js} +1 -1
  55. package/browser/{chunk-VP36G4HT.js → chunk-H43K36DA.js} +1 -1
  56. package/browser/{chunk-GSQJO7HP.js → chunk-HSZIMZAT.js} +1 -1
  57. package/browser/{chunk-CILKE53W.js → chunk-HWU7VPX4.js} +1 -1
  58. package/browser/chunk-HXWCQE45.js +1 -0
  59. package/browser/{chunk-YKXNLBIB.js → chunk-IB5RZ52J.js} +2 -2
  60. package/browser/{chunk-DILWG5FB.js → chunk-IN65Y4XX.js} +1 -1
  61. package/browser/{chunk-GCFUFHPD.js → chunk-IQ47WQQ7.js} +1 -1
  62. package/browser/{chunk-ITSEL53X.js → chunk-IWKZ2PDL.js} +1 -1
  63. package/browser/{chunk-APZ5IBSQ.js → chunk-J2YJ7UWM.js} +1 -1
  64. package/browser/{chunk-JNJJYDP7.js → chunk-JOT2JETS.js} +1 -1
  65. package/browser/{chunk-EW42TM43.js → chunk-KER7KQ5L.js} +1 -1
  66. package/browser/{chunk-AHYXCJZT.js → chunk-L2RVOWIA.js} +1 -1
  67. package/browser/{chunk-DJ7VQO4C.js → chunk-LETD7LMJ.js} +1 -1
  68. package/browser/{chunk-NRAL4DDE.js → chunk-LVTGTXYR.js} +1 -1
  69. package/browser/{chunk-4OMZQ5HK.js → chunk-M4WOVW67.js} +1 -1
  70. package/browser/{chunk-6Z7ZGTB4.js → chunk-MTCDHEYA.js} +1 -1
  71. package/browser/{chunk-A3OULNF5.js → chunk-NNSCOQQS.js} +1 -1
  72. package/browser/{chunk-36TT3WJZ.js → chunk-NW2SL2BH.js} +2 -2
  73. package/browser/{chunk-NR54XPL4.js → chunk-O65PGOTS.js} +1 -1
  74. package/browser/{chunk-XSZLLHRW.js → chunk-P2IBO7GU.js} +1 -1
  75. package/browser/{chunk-Q7GVJZBF.js → chunk-PBNWYWYT.js} +1 -1
  76. package/browser/{chunk-PY6BNBHP.js → chunk-PDCSUOQI.js} +1 -1
  77. package/browser/{chunk-64PRCTR2.js → chunk-PEIB3SNV.js} +1 -1
  78. package/browser/{chunk-TIN7QXDO.js → chunk-PP2K4DVZ.js} +1 -1
  79. package/browser/{chunk-HR64LU2Y.js → chunk-PS4PFFPT.js} +1 -1
  80. package/browser/{chunk-Y545FJCR.js → chunk-PX7NWQZQ.js} +1 -1
  81. package/browser/{chunk-HOTMNALX.js → chunk-QGOWLTGF.js} +1 -1
  82. package/browser/{chunk-RFGEPCV2.js → chunk-QRUWFLGV.js} +1 -1
  83. package/browser/{chunk-R3JXU6L4.js → chunk-R6UDCFVL.js} +1 -1
  84. package/browser/{chunk-JYTOIAQL.js → chunk-RUU3H4QQ.js} +1 -1
  85. package/browser/{chunk-N4OAT3FW.js → chunk-RZ4V7O3L.js} +1 -1
  86. package/browser/{chunk-7HX2ZEHC.js → chunk-S2EI3VNS.js} +1 -1
  87. package/browser/{chunk-L4DGSDB5.js → chunk-S2ZO4T7V.js} +1 -1
  88. package/browser/{chunk-4JAQKA6N.js → chunk-SSX7RVMB.js} +1 -1
  89. package/browser/{chunk-WW5AU5JJ.js → chunk-T43U2XFQ.js} +1 -1
  90. package/browser/{chunk-OLSVR34W.js → chunk-T4OLDAMN.js} +1 -1
  91. package/browser/{chunk-2BJ64H7R.js → chunk-TR7C2V7C.js} +1 -1
  92. package/browser/{chunk-UV6PSJXI.js → chunk-U3J3KT5P.js} +1 -1
  93. package/browser/{chunk-Z32NRI5K.js → chunk-UCSQUJJW.js} +1 -1
  94. package/browser/{chunk-2KYHJWM4.js → chunk-UP3KWF4T.js} +1 -1
  95. package/browser/{chunk-LQTBKFXH.js → chunk-URUVKPAB.js} +1 -1
  96. package/browser/{chunk-CURXE4WR.js → chunk-VAZRO2E6.js} +1 -1
  97. package/browser/chunk-VGJ6EDWD.js +1 -0
  98. package/browser/{chunk-DQXE767S.js → chunk-VR6M3JBL.js} +1 -1
  99. package/browser/{chunk-Q23EKNIO.js → chunk-VVIANPDG.js} +1 -1
  100. package/browser/{chunk-RSDCLKM5.js → chunk-WAWDDMQZ.js} +1 -1
  101. package/browser/{chunk-RKIIOMW3.js → chunk-WKGWRMO2.js} +1 -1
  102. package/browser/{chunk-2P7A5QSW.js → chunk-WLD23T7Q.js} +1 -1
  103. package/browser/{chunk-2LKOMKF7.js → chunk-WVU5HUMZ.js} +1 -1
  104. package/browser/{chunk-QYXTSGSR.js → chunk-X3I26PYS.js} +1 -1
  105. package/browser/{chunk-X6IMSSTG.js → chunk-X3NWRG4U.js} +2 -2
  106. package/browser/{chunk-WSJHXTI4.js → chunk-X4MTY5HS.js} +1 -1
  107. package/browser/{chunk-3K4NHIJV.js → chunk-XNA3D2E7.js} +1 -1
  108. package/browser/{chunk-TXD2N57V.js → chunk-XRPLOMD3.js} +1 -1
  109. package/browser/{chunk-LVK7ESIU.js → chunk-Y2B6ZAXI.js} +2 -2
  110. package/browser/{chunk-IUKQX4L5.js → chunk-Y2LBBMGV.js} +1 -1
  111. package/browser/{chunk-SXVO2KX6.js → chunk-YDEXBKCL.js} +1 -1
  112. package/browser/{chunk-ZY2QH5WA.js → chunk-YLH7XCUD.js} +1 -1
  113. package/browser/{chunk-C7EZEQZQ.js → chunk-YRZFNDFW.js} +1 -1
  114. package/browser/{chunk-YJSNPROE.js → chunk-Z7LZBNHM.js} +1 -1
  115. package/browser/index.html +2 -2
  116. package/browser/{main-LFZKZ6WQ.js → main-2V5AVI54.js} +2 -2
  117. package/package.json +1 -1
  118. package/browser/chunk-M5PTO2R2.js +0 -1
  119. package/browser/chunk-OG4QEJCU.js +0 -1
  120. package/browser/chunk-PTXDA5BK.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as ji}from"./chunk-2KYHJWM4.js";import{a as Li,c as Qi}from"./chunk-JNJJYDP7.js";import{a as Kt}from"./chunk-PUIYTAAZ.js";import{a as ki,b as Vi,c as Ri,d as $i,e as Bi,f as Be}from"./chunk-SXVO2KX6.js";import"./chunk-I5T3YLJW.js";import{a as Fi}from"./chunk-S3FHQFMA.js";import{a as Wt}from"./chunk-CFUU3EHR.js";import{a as hi}from"./chunk-6SK3XWNT.js";import{a as qt}from"./chunk-Y4MOEVLJ.js";import{a as In}from"./chunk-UU5RJKWG.js";import{c as Mi,d as Pi}from"./chunk-NRAL4DDE.js";import"./chunk-7BU64MD2.js";import{a as Ei}from"./chunk-P5PNY2PR.js";import{a as Ni}from"./chunk-QUEQTUK6.js";import"./chunk-5JZJ4OL3.js";import"./chunk-SE7OFLAL.js";import"./chunk-NOLQHNIQ.js";import"./chunk-WLRXTHLM.js";import{a as Ht,b as Si,c as Ii}from"./chunk-WAXN55HD.js";import"./chunk-TIN7QXDO.js";import{a as Pt}from"./chunk-5VAXIJEW.js";import"./chunk-YOKPVEGO.js";import"./chunk-BYXBJQAS.js";import"./chunk-Z32NRI5K.js";import{b as _i}from"./chunk-5Q5T67DH.js";import"./chunk-OLALZT3L.js";import"./chunk-IUVGWNPX.js";import"./chunk-6N4AU5UX.js";import{d as vi,e as Ut}from"./chunk-JCT27TRG.js";import"./chunk-RSDCLKM5.js";import"./chunk-3RK6DDJD.js";import"./chunk-L2EDFSBR.js";import{a as Ai}from"./chunk-CAMFGC4E.js";import"./chunk-A6YCCT6G.js";import{a as oi}from"./chunk-O7MCO2N7.js";import"./chunk-UZKYLAUE.js";import{b as Di}from"./chunk-EW42TM43.js";import{a as Oi,b as Ti,c as wi}from"./chunk-47MDCKEY.js";import{a as Jt,b as Gt}from"./chunk-7F6H3VFX.js";import"./chunk-GSQJO7HP.js";import"./chunk-TEFNN3TY.js";import"./chunk-KG4DA565.js";import{e as vt}from"./chunk-IUKQX4L5.js";import"./chunk-JKYTSC2D.js";import{a as xi}from"./chunk-TGAOY65D.js";import"./chunk-BYXBJQAS.js";import{a as Qt}from"./chunk-XX6Z7QPA.js";import"./chunk-VQ7WKMGF.js";import"./chunk-OBNSNZON.js";import{a as ri,b as li,c as si}from"./chunk-Y4VV2HSW.js";import"./chunk-3LBZWLLT.js";import"./chunk-X7G45LGM.js";import"./chunk-C6ARCDXZ.js";import"./chunk-FD5YMPRL.js";import"./chunk-MV3QRRW6.js";import{a as ci,d as pi,f as mi,h as di}from"./chunk-6ZOGADBZ.js";import{a as ot,c as at}from"./chunk-HA2GY7XU.js";import{a as ui,b as fi}from"./chunk-YUGYXJ5G.js";import"./chunk-52EOLV7I.js";import{a as ii}from"./chunk-5UL73W4S.js";import{A as bi,G as Ci,q as ai,u as we,v as Ee,w as Ne,x as gi,z as yi}from"./chunk-X6LIVARI.js";import{b as bt,c as Ct}from"./chunk-CIBQBSM6.js";import{P as $e}from"./chunk-5UCQBOD6.js";import{a as zn,b as Yn,c as Xn}from"./chunk-GIKR6Y2K.js";import{e as _t}from"./chunk-VMY3JQDA.js";import{a as ee,e as Te,f as Re,g as ne,l as Lt}from"./chunk-D35OBUDE.js";import"./chunk-567HXZXC.js";import"./chunk-UHJRDVRX.js";import"./chunk-CGESXTHC.js";import{a as xe}from"./chunk-2FWFPV5I.js";import"./chunk-TLOTIYIE.js";import{C as ti,D as Oe,E as Ke,a as Ge,b as Zn,c as he,h as le,l as me,o as Pe,r as ei,s as qe}from"./chunk-P7HKWFZT.js";import{a as ni}from"./chunk-IBTIOJOZ.js";import{a as P,d as De}from"./chunk-AHCRE4GP.js";import"./chunk-KRC5LE5H.js";import{$ as ct,$a as l,$b as At,Ac as y,Bc as Sn,D as tt,Db as mt,E as V,Fc as be,H as An,I as _e,Ib as a,Jb as r,Ka as Dn,Kb as I,Lb as Q,M as kn,Ma as pt,Mb as U,N as hn,Ob as B,Od as qn,Q as Vn,Qb as _,Qc as Hn,Qd as Kn,Rb as d,Rd as Bt,T as Rn,Td as jt,Ub as xn,Va as Bn,Vd as Je,W as Mt,Wa as nt,Wc as it,Y as te,Yc as He,Yd as se,Zb as Nt,Zc as pe,_a as jn,_b as Ft,aa as Z,bc as kt,ca as $n,cb as Ln,cc as Vt,cd as Ve,d as ve,db as f,dc as ue,e as Xe,ec as m,ed as Jn,f as En,fa as E,fb as Qn,fc as X,ga as de,gb as Et,gc as j,gd as Me,hc as We,ja as oe,jc as H,jd as F,k as Ae,kb as N,kc as L,lc as J,ma as W,n as Nn,na as ce,o as Ze,ob as Un,p as Fn,pc as ke,qb as D,qc as Rt,rc as ae,sc as $t,sd as Gn,t as u,u as Ie,v as _n,va as x,vb as c,wa as S,xb as yt,y as st,zb as Wn,zc as g}from"./chunk-DZT5XHBQ.js";import{a as T,b as R,d as wn,j as gt}from"./chunk-7DCB7DB2.js";var q=class i{constructor(t,e){this.http=e;this.buyForm=t.group({NewOrderID:[""],Order:t.group({Att:[""],SupplierID:[""],Number:[""],Date:[new Date],ID:[P.GuidEmpty]}),Invoice:t.group({ID:[P.GuidEmpty],Due:[new Date],Tax:[0]}),Payment:t.group({ID:[P.GuidEmpty],Amount:[0],MethodID:[0],Code:[""],Note:[""],ImageUrl:[""]})})}outlet=new me({ID:"",Name:"Choose an Outlet"});dueDays=new me(0);deliveryEntityID=new me(P.GuidEmpty);noteForm=new me({Note:"",TagID:"",Currency:{ID:"",ExchangeRate:0,Symbol:""},InvoiceNumber:""});discountAndTaxForm=new me({Discount:{Amount:0,Percentage:0},Tax:{ID:"",CalculationTypeName:"",Rate:0,Label:"",Discontinue:!1}});buyForm;setPONumber(t){let e="";if(t.Seed){let n=t.Seed+"";for(;n.length<t.Digit;)n="0"+n;e=P.StringFormat(t.Prefix,n)}this.buyForm.controls.Order.controls.Number.setValue(e)}setDueDateBasedOnDaysDue(t){console.log(t);let e=this.invoiceDate,n=new Date(P.cloneObject(e));n.setDate(n.getDate()+t),this.buyForm.controls.Invoice.controls.Due.setValue(n)}get dueDate(){return this.buyForm.controls.Invoice.controls.Due.value}get invoiceDate(){return this.buyForm.controls.Order.controls.Date.value}setAmount(t){this.buyForm.controls.Payment.controls.Amount.setValue(t)}setPaymentMethodID(t){this.buyForm.controls.Payment.controls.MethodID.setValue(t)}setTaxAmount(t){this.buyForm.controls.Invoice.controls.Tax.setValue(t)}setNewOrderID(t){this.buyForm.controls.NewOrderID.setValue(t)}setTax(t){let e=T({},this.discountAndTaxForm.value.Discount);this.discountAndTaxForm.setValue({Discount:e,Tax:t})}setCurrency(t){let e=this.noteForm.value;this.noteForm.setValue(R(T({},e),{Currency:t}))}setDeliveryEntityID(t){this.deliveryEntityID.setValue(t)}setdueDays(t){this.dueDays.setValue(t)}setBulkOrderForm(t){this.buyForm.controls.Order.setValue(t)}setBulkNoteForm(t){this.noteForm.setValue(t)}setBulkDiscountAndTaxForm(t){this.discountAndTaxForm.setValue(t)}setOutletForm(t){this.outlet.setValue(t)}setBulkInvoice(t){this.buyForm.controls.Invoice.setValue(T(T({},this.buyForm.controls.Invoice.value),t))}setBulkPayment(t){this.buyForm.controls.Payment.setValue(t)}resetOutletForm(){this.outlet.setValue({ID:"",Name:"Choose an Outlet"})}resetDueDaysForm(){this.dueDays.setValue(0)}resetDeliveryEntityID(){this.deliveryEntityID.setValue(P.GuidEmpty)}resetNoteForm(){this.noteForm.setValue(R(T({},this.noteForm.value),{Note:"",TagID:"",InvoiceNumber:""}))}resetDiscountAndTaxForm(){let t=this.discountAndTaxForm.value;this.discountAndTaxForm.setValue(R(T({},t),{Discount:{Amount:0,Percentage:0}}))}resetBuyForm(){this.buyForm.reset(),this.buyForm.controls.Invoice.controls.ID.setValue(P.GuidEmpty),this.buyForm.controls.Invoice.controls.Due.setValue(new Date),this.buyForm.controls.Order.controls.Date.setValue(new Date),this.buyForm.controls.Order.controls.ID.setValue(P.GuidEmpty),this.generateNumberOnNewTransaction()}generateNumberOnNewTransaction(){this.http.post("/API/Buy/GenerateNumber",{ID:this.outlet.value.ID}).subscribe(t=>{this.setNewOrderID(P.Guid_NewGuid()),this.buyForm.controls.Order.controls.Number.setValue(t.Number)})}static \u0275fac=function(e){return new(e||i)(W(ti),W(se))};static \u0275prov=oe({token:i,factory:i.\u0275fac,providedIn:"root"})};var ge=class i{entities$;appConfigJSON$;taxes$;currencies$;supplierPOTypes$;predefinedNotes$;denomination$;defaultDueDays$;constructor(t,e){let n=t.get("/API/Buy2/Load").pipe(E(o=>e.setCurrency(o.Currencies.find(s=>s.ID==o.AppConfigJSON.CoreDefaults.CurrencyID))),te(1));this.denomination$=n.pipe(u(o=>o.Denomination)),this.entities$=n.pipe(u(o=>o.Entities)),this.appConfigJSON$=n.pipe(u(o=>o.AppConfigJSON)),this.taxes$=n.pipe(u(o=>o.Taxes),te(1)),this.currencies$=n.pipe(u(o=>o.Currencies),te(1)),this.supplierPOTypes$=n.pipe(u(o=>o.SupplierPOTypes)),this.predefinedNotes$=n.pipe(u(o=>o.PredefinedNotes)),this.defaultDueDays$=n.pipe(u(o=>o.AppConfigJSON.ModuleBuy.PaymentDialog.DefaultDueDays),E(o=>e.setdueDays(o)),E(o=>e.setDueDateBasedOnDaysDue(o)))}updateDueDays(){this.defaultDueDays$.subscribe()}static \u0275fac=function(e){return new(e||i)(W(se),W(q))};static \u0275prov=oe({token:i,factory:i.\u0275fac,providedIn:"root"})};var rt=class i{returnInvoiceNumber=new me("");invoiceInfo$;constructor(t,e,n){let o=e.outlet.valueChanges.pipe(u(p=>p.ID),ee());this.invoiceInfo$=this.returnInvoiceNumber.valueChanges.pipe(V(p=>!!p),de(o),Z(([p,M])=>t.post("/API/Buy/GetSupplierInvoiceRetur2",{EntityID:M,Number:p}).pipe(_e(()=>Ae))),te(1),ee());let s=this.invoiceInfo$.pipe(u(p=>T({},p.Order)),E(p=>{let M={Att:p.Att,SupplierID:{Key:p.SupplierID,Value:p.SupplierName,OnSet:!0},Date:new Date,Number:e.buyForm.controls.Order.controls.Number.value,ID:P.GuidEmpty};e.setBulkOrderForm(M)}),ee()),O=this.invoiceInfo$.pipe(u(p=>p.Order),E(p=>{let M={Note:`Return #${p.Number}`,TagID:p.TypeID,Currency:{ID:p.CurrencyID,ExchangeRate:p.CurrencyRate,Symbol:p.CurrencySymbol??"$"},InvoiceNumber:p.Number};e.setBulkNoteForm(M)}),ee()),v=this.invoiceInfo$.pipe(u(p=>p.Order),de(n.taxes$),u(([p,M])=>R(T({},p),{Tax:M.find(G=>G.ID===p.TaxTypeID)})),E(p=>{let M={Discount:{Amount:p.DiscountAmount,Percentage:p.Discount},Tax:{ID:p.TaxTypeID,Rate:p.Tax?.Rate,CalculationTypeName:p.Tax?.CalculationTypeName,Label:p.Tax?.Label,Discontinue:!p.Tax?.Label}};e.setBulkDiscountAndTaxForm(M)}),ee()),$=this.invoiceInfo$.pipe(u(p=>p.DeliveryEntityID),E(p=>e.setDeliveryEntityID(p)),ee()),K=this.invoiceInfo$.pipe(u(p=>p.Invoice),E(p=>{let M={ID:p.ID,Tax:p.Tax};e.setBulkInvoice(M)}),ee()),h=this.invoiceInfo$.pipe(u(p=>p.Payment),E(p=>{let M={ID:P.GuidEmpty,Amount:p.Amount,MethodID:p.MethodID,Note:p.Note,Code:p.Code,ImageUrl:p.ImageUrl};e.setBulkPayment(M)}),ee());Ie(s,O,v,$,K,h).pipe(ee()).subscribe()}static \u0275fac=function(e){return new(e||i)(W(se),W(q),W(ge))};static \u0275prov=oe({token:i,factory:i.\u0275fac,providedIn:"root"})};var ie=class i{constructor(t,e,n,o){this.matDialog=o;let s=e.outlet.valueChanges.pipe(u(p=>p.ID));this.addVariantThroughSerial$=this._addVariantThroughSerial.asObservable().pipe(de(s),Z(([p,M])=>t.get($e.GetVariantBySerial,[{key:"Serial",value:p},{key:"EntityID",value:M}]).pipe(_e(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>R(T({},p),{Quantity:1,Total:p.UnitPrice,VariantID:p.ID})),u(p=>({action:"addAsSerial",variant:p})));let O=this.variantAutocomplete.valueChanges.pipe(V(p=>P.IsNotEmpty(p)&&p.type=="Code"),u(p=>p.str),de(s),Z(([p,M])=>t.get($e.GetVariantByCode,[{key:"Code",value:p},{key:"EntityID",value:M},{key:"Promotion",value:!0}]).pipe(_e(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>R(T({},p),{Quantity:1,Total:p.UnitPrice*((100-p.PriceDiscount)/100),Discount:p.PriceDiscount,VariantID:p.ID}))),v=this.variantAutocomplete.valueChanges.pipe(V(p=>P.IsNotEmpty(p)&&p.type=="ID"),u(p=>p.str)),$=this.variantQuickKey.valueChanges,K=tt(v,$).pipe(de(s),Z(([p,M])=>t.get($e.GetVariantByID,[{key:"ID",value:p},{key:"EntityID",value:M}]).pipe(_e(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>R(T({},p),{Quantity:1,Total:p.UnitPrice*((100-p.OrderPriceDiscount)/100),Discount:p.OrderPriceDiscount,VariantID:p.ID}))),h=tt(K,O).pipe(E(p=>{p.CategoryTypeID===1&&this.toastr.info(`${p.Name} is sellable only.`,xe.Info)}),V(p=>p.CategoryTypeID!==1),u(p=>({action:"add",variant:p})),E(()=>{this.cartDisplayRef&&setTimeout(()=>{let p=this.cartDisplayRef.nativeElement.scrollHeight;this.cartDisplayRef.nativeElement.scrollTop=p},1)})),A=n.invoiceInfo$.pipe(u(p=>({action:"returnInvoice",variants:p.Items.map(M=>R(T({},M.Variant),{Quantity:M.Quantity,Total:M.Total,UnitPrice:M.UnitPrice,Discount:M.Discount,Serial:M.Serial,ID:M.ID,DiscountAmount:M.DiscountAmount,VariantID:M.VariantID,UnitQuantity:M.UnitQuantity}))})));this.cart$=tt(h,A,this.deleteVariant$,this.dragDropCart$,this.returnCart$,this.updateVariant$,this.returnVariant$,this.purchaseVariant$,this.clearCart$,this.onEditForm$,this.addVariantThroughSerial$,this.addVariant$,this.onUploadCart$,this.listenRFID$).pipe(Mt((p,M)=>{let G=[...p],Y=[],b=M.action;if(b=="add"){let C=M.variant;Y=!!G.find(k=>k.VariantID==C.ID)?G.map(k=>k.VariantID==C.ID?R(T({},k),{Quantity:k.Quantity+1,Total:k.Total+k.UnitPrice}):k):[...G,C]}else if(b=="returnInvoice"||b=="onEditForm")Y=M.variants;else if(b=="delete"){let C=M.index;Y=G.filter((w,k)=>k!=C)}else if(b=="sort"){let C=M.ev;Y=G,ci(Y,C.previousIndex,C.currentIndex)}else if(b=="returnCart")Y=G.map(C=>R(T({},C),{Quantity:-Math.abs(C.Quantity),Total:-Math.abs(C.Total)}));else if(b=="update"){let C=M.index;Y=G.map((w,k)=>k==C?M.variant:w)}else if(b=="returnVariant"){let C=M.index;Y=G.map((w,k)=>k==C?R(T({},w),{Quantity:-Math.abs(w.Quantity),Total:-Math.abs(w.Total)}):w)}else if(b=="purchaseVariant"){let C=M.index;Y=G.map((w,k)=>k==C?R(T({},w),{Quantity:Math.abs(w.Quantity),Total:Math.abs(w.Total)}):w)}else if(b=="clearCart")Y=[];else if(b=="addAsSerial"){let C=R(T({},M.variant),{Serial:[{Number:M.variant.Serial.Number,Quantity:1,ExpiryDate:M.variant.Serial.ExpiryDate}]});if(!!G.find(k=>k.ID==C.ID)){let k=C.Serial[0],Ce=G.find(fe=>fe.ID==C.ID),wt=!!Ce.Serial.find(fe=>fe.Number==k.Number)?[...Ce.Serial].map(fe=>fe.Number==k.Number?R(T({},fe),{Quantity:fe.Quantity+1}):fe):[...Ce.Serial,k];Y=G.map(fe=>fe.ID==C.ID?R(T({},fe),{Quantity:fe.Quantity+1,Total:fe.Total+fe.UnitPrice,Serial:wt}):fe)}else Y=[...G,R(T({},C),{Quantity:1,Total:C.UnitPrice})]}else if(b=="uploadCart")Y=[...G,...M.variants];else if(b=="addNewRow"){let C=M.variant;Y=[...G,C]}else if(b=="rfid"){let C=M.variants;Object.keys(C).forEach(w=>{if(C.hasOwnProperty(w)){let k=C[w];if(k&&Object.keys(k.variant).length>0){let Ce=G.findIndex(ft=>ft.Code.toLowerCase()===w.toLowerCase());if(Ce!==-1){let ft=Number(k.count);G[Ce].Quantity+=ft,G[Ce].Total=+G[Ce].UnitPrice*+G[Ce].Quantity,delete C[w],Y=[...G]}else{let ft=k.variant,wt=Number(k.count),fe=this.setUnitPrice(ft),Ki=this.formatItemObject(R(T({},fe),{Quantity:wt,Total:+fe.UnitPrice*+wt}));delete C[w],Y=[...G,Ki]}}}})}return Y},[]),ct([]),te(1)),this.totalVariantOrdered$=this.cart$.pipe(u(p=>p.map(M=>M.Quantity)),u(p=>p.reduce((M,G)=>M+G,0)),ct(0))}toastr=ce(Je);cartDisplayRef;variantAutocomplete=new me;variantQuickKey=new me;_listenRFID=new ve;listenRFID$=this._listenRFID.asObservable().pipe(u(t=>({action:"rfid",variants:t})));_deleteVariant=new ve;deleteVariant$=this._deleteVariant.asObservable().pipe(u(t=>({action:"delete",index:t})));_dragDropCart=new ve;dragDropCart$=this._dragDropCart.asObservable().pipe(u(t=>({action:"sort",ev:t})));_returnCart=new ve;returnCart$=this._returnCart.asObservable().pipe(u(()=>({action:"returnCart"})));_onEditForm=new Xe(null);onEditForm$=this._onEditForm.asObservable().pipe(V(t=>!!t),u(t=>({action:"onEditForm",variants:t})));_clearCart=new ve;clearCart$=this._clearCart.asObservable().pipe(u(()=>({action:"clearCart"})));_updateVariant=new ve;updateVariant$=this._updateVariant.asObservable().pipe(u(t=>({action:"update",variant:t.variant,index:t.index})));_returnVariant=new ve;returnVariant$=this._returnVariant.asObservable().pipe(u(t=>({action:"returnVariant",index:t})));_purchaseVariant=new ve;purchaseVariant$=this._purchaseVariant.asObservable().pipe(u(t=>({action:"purchaseVariant",index:t})));_addVariant=new ve;addVariant$=this._addVariant.asObservable().pipe(u(t=>({action:"addNewRow",variant:t})));_onUploadCart=new ve;onUploadCart$=this._onUploadCart.asObservable().pipe(u(t=>({action:"uploadCart",variants:t})));cart$;totalVariantOrdered$;_addVariantThroughSerial=new ve;addVariantThroughSerial$;deleteVariant(t){this._deleteVariant.next(t)}dragDropCart(t){this._dragDropCart.next(t)}returnCart(){this._returnCart.next()}updateVariant(t,e){this._updateVariant.next({variant:t,index:e})}returnVariant(t){this._returnVariant.next(t)}purchaseVariant(t){this._purchaseVariant.next(t)}clearCart(){this._clearCart.next()}editForm(t){this._onEditForm.next(t)}addVariant(t){this._addVariant.next(t)}addVariantThroughSerial(t){this._addVariantThroughSerial.next(t)}uploadCart(t){this._onUploadCart.next(t)}setUnitPrice(t){let e=T({},t);return P.IsNotEmpty(t.OrderPrice)?e.UnitPrice=t.OrderPrice:e.UnitPrice=t.UnitCost,e}formatItemObject=t=>{let o=t,{ID:e}=o,n=wn(o,["ID"]);return R(T({},n),{Quantity:n.Quantity??1,Total:n.Total??n.UnitPrice,VariantID:e})};addCartRFID(t){this._listenRFID.next(t)}static \u0275fac=function(e){return new(e||i)(W(se),W(q),W(rt),W(ne))};static \u0275prov=oe({token:i,factory:i.\u0275fac,providedIn:"root"})};var je=class i{_isEdit=new ve;isEdit$;id$;isUnpaid$;dialog=ce(ne);constructor(t,e,n,o,s){let O=Ze(t.snapshot.queryParams);this.isEdit$=tt(O.pipe(u(b=>!!b.ID)),this._isEdit.asObservable()).pipe(te(1)),this.id$=O.pipe(V(b=>b.ID),u(b=>b.ID));let v=this.id$.pipe(Z(b=>e.post("/api/Buy2/GetDataByID2",{ID:b})),te(1)),$=st(()=>o.entities$).pipe(Z(b=>v.pipe(u(C=>[C.Order,b]))),E(([b,C])=>{let w={Att:b.Att,SupplierID:{Key:b.SupplierID,Value:b.SupplierName,OnSet:!0},Date:b.Date,Number:b.Number,ID:b.ID};n.setBulkOrderForm(w)}),E(([b,C])=>{let w=C.find(k=>k.ID==b.EntityID);n.setOutletForm(w)})),K=v.pipe(u(b=>b.Items),u(b=>b.map(C=>R(T({},C.Variant),{Quantity:C.Quantity,Total:C.Total,Note:C.Note,UnitPrice:C.UnitPrice,Discount:C.Discount,Serial:C.Serial,ID:C.ID,VariantID:C.VariantID,UnitQuantity:C.UnitQuantity,QtyRequested:C.QtyRequested,DiscountAmount:C.DiscountAmount}))),E(b=>s.editForm(b))),h=st(()=>o.currencies$).pipe(Z(b=>v.pipe(u(C=>[C.Order,b,C.Invoice]))),u(([b,C,w])=>R(T({},b),{Number:b.Number!=w.Number?w.Number:b.Number,Currency:C.find(k=>k.ID===b.CurrencyID)})),E(b=>{let C={Note:b.Note,TagID:b.TypeID,Currency:T({},b.Currency),InvoiceNumber:b.Number};n.setBulkNoteForm(C)})),A=v.pipe(u(b=>b.DeliveryEntityID),E(b=>n.setDeliveryEntityID(b))),p=st(()=>o.taxes$).pipe(Z(b=>v.pipe(u(C=>[C.Order,b]))),u(([b,C])=>R(T({},b),{Taxes:C})),E(b=>{let C=b.Taxes.find(k=>k.ID===b.TaxTypeID);C?.Bin&&this.dialog.open(Ht,{id:"ModalInfo",data:{title:"Default Tax Discontinued",message:`
1
+ import{a as ji}from"./chunk-UP3KWF4T.js";import{a as Li,c as Qi}from"./chunk-JOT2JETS.js";import{a as Kt}from"./chunk-AYYLS3ND.js";import{a as ki,b as Vi,c as Ri,d as $i,e as Bi,f as Be}from"./chunk-YDEXBKCL.js";import"./chunk-I5T3YLJW.js";import{a as Fi}from"./chunk-FMLC555I.js";import{a as Wt}from"./chunk-CFUU3EHR.js";import{a as hi}from"./chunk-6SK3XWNT.js";import{a as qt}from"./chunk-Y4MOEVLJ.js";import{a as In}from"./chunk-UU5RJKWG.js";import{c as Mi,d as Pi}from"./chunk-LVTGTXYR.js";import"./chunk-7BU64MD2.js";import{a as Ei}from"./chunk-P5PNY2PR.js";import{a as Ni}from"./chunk-FHUSU4FC.js";import"./chunk-5JZJ4OL3.js";import"./chunk-SE7OFLAL.js";import"./chunk-NOLQHNIQ.js";import"./chunk-WLRXTHLM.js";import{a as Ht,b as Si,c as Ii}from"./chunk-ADCACICM.js";import"./chunk-PP2K4DVZ.js";import{a as Pt}from"./chunk-5VAXIJEW.js";import"./chunk-YOKPVEGO.js";import"./chunk-BYXBJQAS.js";import"./chunk-UCSQUJJW.js";import{b as _i}from"./chunk-5Q5T67DH.js";import"./chunk-OLALZT3L.js";import"./chunk-IUVGWNPX.js";import"./chunk-6N4AU5UX.js";import{d as vi,e as Ut}from"./chunk-5ZWOT4WG.js";import"./chunk-WAWDDMQZ.js";import"./chunk-3RK6DDJD.js";import"./chunk-L2EDFSBR.js";import{a as Ai}from"./chunk-GYWSH2X4.js";import"./chunk-A6YCCT6G.js";import{a as oi}from"./chunk-O7MCO2N7.js";import"./chunk-UZKYLAUE.js";import{b as Di}from"./chunk-KER7KQ5L.js";import{a as Oi,b as Ti,c as wi}from"./chunk-47MDCKEY.js";import{a as Jt,b as Gt}from"./chunk-7F6H3VFX.js";import"./chunk-HSZIMZAT.js";import"./chunk-TEFNN3TY.js";import"./chunk-BRUTIHV5.js";import{e as vt}from"./chunk-Y2LBBMGV.js";import"./chunk-JKYTSC2D.js";import{a as xi}from"./chunk-TGAOY65D.js";import"./chunk-BYXBJQAS.js";import{a as Qt}from"./chunk-XX6Z7QPA.js";import"./chunk-VQ7WKMGF.js";import"./chunk-OBNSNZON.js";import{a as ri,b as li,c as si}from"./chunk-A4CYZHDA.js";import"./chunk-3LBZWLLT.js";import"./chunk-X7G45LGM.js";import"./chunk-C6ARCDXZ.js";import"./chunk-FD5YMPRL.js";import"./chunk-MV3QRRW6.js";import{a as ci,d as pi,f as mi,h as di}from"./chunk-6ZOGADBZ.js";import{a as ot,c as at}from"./chunk-HA2GY7XU.js";import{a as ui,b as fi}from"./chunk-CQVVIZJ7.js";import"./chunk-52EOLV7I.js";import{a as ii}from"./chunk-5UL73W4S.js";import{A as bi,G as Ci,q as ai,u as we,v as Ee,w as Ne,x as gi,z as yi}from"./chunk-7ARFB5UX.js";import{b as bt,c as Ct}from"./chunk-CIBQBSM6.js";import{P as $e}from"./chunk-5UCQBOD6.js";import{a as zn,b as Yn,c as Xn}from"./chunk-GIKR6Y2K.js";import{e as _t}from"./chunk-VMY3JQDA.js";import{a as ee,e as Te,f as Re,g as ne,l as Lt}from"./chunk-D35OBUDE.js";import"./chunk-567HXZXC.js";import"./chunk-UHJRDVRX.js";import"./chunk-CGESXTHC.js";import{a as xe}from"./chunk-2FWFPV5I.js";import"./chunk-TLOTIYIE.js";import{C as ti,D as Oe,E as Ke,a as Ge,b as Zn,c as he,h as le,l as me,o as Pe,r as ei,s as qe}from"./chunk-P7HKWFZT.js";import{a as ni}from"./chunk-GR3EU2XL.js";import{a as P,d as De}from"./chunk-AHCRE4GP.js";import"./chunk-CRTHBX5Z.js";import{$ as ct,$a as l,$b as At,Ac as y,Bc as Sn,D as tt,Db as mt,E as V,Fc as be,H as An,I as _e,Ib as a,Jb as r,Ka as Dn,Kb as I,Lb as Q,M as kn,Ma as pt,Mb as U,N as hn,Ob as B,Od as qn,Q as Vn,Qb as _,Qc as Hn,Qd as Kn,Rb as d,Rd as Bt,T as Rn,Td as jt,Ub as xn,Va as Bn,Vd as Je,W as Mt,Wa as nt,Wc as it,Y as te,Yc as He,Yd as se,Zb as Nt,Zc as pe,_a as jn,_b as Ft,aa as Z,bc as kt,ca as $n,cb as Ln,cc as Vt,cd as Ve,d as ve,db as f,dc as ue,e as Xe,ec as m,ed as Jn,f as En,fa as E,fb as Qn,fc as X,ga as de,gb as Et,gc as j,gd as Me,hc as We,ja as oe,jc as H,jd as F,k as Ae,kb as N,kc as L,lc as J,ma as W,n as Nn,na as ce,o as Ze,ob as Un,p as Fn,pc as ke,qb as D,qc as Rt,rc as ae,sc as $t,sd as Gn,t as u,u as Ie,v as _n,va as x,vb as c,wa as S,xb as yt,y as st,zb as Wn,zc as g}from"./chunk-DZT5XHBQ.js";import{a as T,b as R,d as wn,j as gt}from"./chunk-7DCB7DB2.js";var q=class i{constructor(t,e){this.http=e;this.buyForm=t.group({NewOrderID:[""],Order:t.group({Att:[""],SupplierID:[""],Number:[""],Date:[new Date],ID:[P.GuidEmpty]}),Invoice:t.group({ID:[P.GuidEmpty],Due:[new Date],Tax:[0]}),Payment:t.group({ID:[P.GuidEmpty],Amount:[0],MethodID:[0],Code:[""],Note:[""],ImageUrl:[""]})})}outlet=new me({ID:"",Name:"Choose an Outlet"});dueDays=new me(0);deliveryEntityID=new me(P.GuidEmpty);noteForm=new me({Note:"",TagID:"",Currency:{ID:"",ExchangeRate:0,Symbol:""},InvoiceNumber:""});discountAndTaxForm=new me({Discount:{Amount:0,Percentage:0},Tax:{ID:"",CalculationTypeName:"",Rate:0,Label:"",Discontinue:!1}});buyForm;setPONumber(t){let e="";if(t.Seed){let n=t.Seed+"";for(;n.length<t.Digit;)n="0"+n;e=P.StringFormat(t.Prefix,n)}this.buyForm.controls.Order.controls.Number.setValue(e)}setDueDateBasedOnDaysDue(t){console.log(t);let e=this.invoiceDate,n=new Date(P.cloneObject(e));n.setDate(n.getDate()+t),this.buyForm.controls.Invoice.controls.Due.setValue(n)}get dueDate(){return this.buyForm.controls.Invoice.controls.Due.value}get invoiceDate(){return this.buyForm.controls.Order.controls.Date.value}setAmount(t){this.buyForm.controls.Payment.controls.Amount.setValue(t)}setPaymentMethodID(t){this.buyForm.controls.Payment.controls.MethodID.setValue(t)}setTaxAmount(t){this.buyForm.controls.Invoice.controls.Tax.setValue(t)}setNewOrderID(t){this.buyForm.controls.NewOrderID.setValue(t)}setTax(t){let e=T({},this.discountAndTaxForm.value.Discount);this.discountAndTaxForm.setValue({Discount:e,Tax:t})}setCurrency(t){let e=this.noteForm.value;this.noteForm.setValue(R(T({},e),{Currency:t}))}setDeliveryEntityID(t){this.deliveryEntityID.setValue(t)}setdueDays(t){this.dueDays.setValue(t)}setBulkOrderForm(t){this.buyForm.controls.Order.setValue(t)}setBulkNoteForm(t){this.noteForm.setValue(t)}setBulkDiscountAndTaxForm(t){this.discountAndTaxForm.setValue(t)}setOutletForm(t){this.outlet.setValue(t)}setBulkInvoice(t){this.buyForm.controls.Invoice.setValue(T(T({},this.buyForm.controls.Invoice.value),t))}setBulkPayment(t){this.buyForm.controls.Payment.setValue(t)}resetOutletForm(){this.outlet.setValue({ID:"",Name:"Choose an Outlet"})}resetDueDaysForm(){this.dueDays.setValue(0)}resetDeliveryEntityID(){this.deliveryEntityID.setValue(P.GuidEmpty)}resetNoteForm(){this.noteForm.setValue(R(T({},this.noteForm.value),{Note:"",TagID:"",InvoiceNumber:""}))}resetDiscountAndTaxForm(){let t=this.discountAndTaxForm.value;this.discountAndTaxForm.setValue(R(T({},t),{Discount:{Amount:0,Percentage:0}}))}resetBuyForm(){this.buyForm.reset(),this.buyForm.controls.Invoice.controls.ID.setValue(P.GuidEmpty),this.buyForm.controls.Invoice.controls.Due.setValue(new Date),this.buyForm.controls.Order.controls.Date.setValue(new Date),this.buyForm.controls.Order.controls.ID.setValue(P.GuidEmpty),this.generateNumberOnNewTransaction()}generateNumberOnNewTransaction(){this.http.post("/API/Buy/GenerateNumber",{ID:this.outlet.value.ID}).subscribe(t=>{this.setNewOrderID(P.Guid_NewGuid()),this.buyForm.controls.Order.controls.Number.setValue(t.Number)})}static \u0275fac=function(e){return new(e||i)(W(ti),W(se))};static \u0275prov=oe({token:i,factory:i.\u0275fac,providedIn:"root"})};var ge=class i{entities$;appConfigJSON$;taxes$;currencies$;supplierPOTypes$;predefinedNotes$;denomination$;defaultDueDays$;constructor(t,e){let n=t.get("/API/Buy2/Load").pipe(E(o=>e.setCurrency(o.Currencies.find(s=>s.ID==o.AppConfigJSON.CoreDefaults.CurrencyID))),te(1));this.denomination$=n.pipe(u(o=>o.Denomination)),this.entities$=n.pipe(u(o=>o.Entities)),this.appConfigJSON$=n.pipe(u(o=>o.AppConfigJSON)),this.taxes$=n.pipe(u(o=>o.Taxes),te(1)),this.currencies$=n.pipe(u(o=>o.Currencies),te(1)),this.supplierPOTypes$=n.pipe(u(o=>o.SupplierPOTypes)),this.predefinedNotes$=n.pipe(u(o=>o.PredefinedNotes)),this.defaultDueDays$=n.pipe(u(o=>o.AppConfigJSON.ModuleBuy.PaymentDialog.DefaultDueDays),E(o=>e.setdueDays(o)),E(o=>e.setDueDateBasedOnDaysDue(o)))}updateDueDays(){this.defaultDueDays$.subscribe()}static \u0275fac=function(e){return new(e||i)(W(se),W(q))};static \u0275prov=oe({token:i,factory:i.\u0275fac,providedIn:"root"})};var rt=class i{returnInvoiceNumber=new me("");invoiceInfo$;constructor(t,e,n){let o=e.outlet.valueChanges.pipe(u(p=>p.ID),ee());this.invoiceInfo$=this.returnInvoiceNumber.valueChanges.pipe(V(p=>!!p),de(o),Z(([p,M])=>t.post("/API/Buy/GetSupplierInvoiceRetur2",{EntityID:M,Number:p}).pipe(_e(()=>Ae))),te(1),ee());let s=this.invoiceInfo$.pipe(u(p=>T({},p.Order)),E(p=>{let M={Att:p.Att,SupplierID:{Key:p.SupplierID,Value:p.SupplierName,OnSet:!0},Date:new Date,Number:e.buyForm.controls.Order.controls.Number.value,ID:P.GuidEmpty};e.setBulkOrderForm(M)}),ee()),O=this.invoiceInfo$.pipe(u(p=>p.Order),E(p=>{let M={Note:`Return #${p.Number}`,TagID:p.TypeID,Currency:{ID:p.CurrencyID,ExchangeRate:p.CurrencyRate,Symbol:p.CurrencySymbol??"$"},InvoiceNumber:p.Number};e.setBulkNoteForm(M)}),ee()),v=this.invoiceInfo$.pipe(u(p=>p.Order),de(n.taxes$),u(([p,M])=>R(T({},p),{Tax:M.find(G=>G.ID===p.TaxTypeID)})),E(p=>{let M={Discount:{Amount:p.DiscountAmount,Percentage:p.Discount},Tax:{ID:p.TaxTypeID,Rate:p.Tax?.Rate,CalculationTypeName:p.Tax?.CalculationTypeName,Label:p.Tax?.Label,Discontinue:!p.Tax?.Label}};e.setBulkDiscountAndTaxForm(M)}),ee()),$=this.invoiceInfo$.pipe(u(p=>p.DeliveryEntityID),E(p=>e.setDeliveryEntityID(p)),ee()),K=this.invoiceInfo$.pipe(u(p=>p.Invoice),E(p=>{let M={ID:p.ID,Tax:p.Tax};e.setBulkInvoice(M)}),ee()),h=this.invoiceInfo$.pipe(u(p=>p.Payment),E(p=>{let M={ID:P.GuidEmpty,Amount:p.Amount,MethodID:p.MethodID,Note:p.Note,Code:p.Code,ImageUrl:p.ImageUrl};e.setBulkPayment(M)}),ee());Ie(s,O,v,$,K,h).pipe(ee()).subscribe()}static \u0275fac=function(e){return new(e||i)(W(se),W(q),W(ge))};static \u0275prov=oe({token:i,factory:i.\u0275fac,providedIn:"root"})};var ie=class i{constructor(t,e,n,o){this.matDialog=o;let s=e.outlet.valueChanges.pipe(u(p=>p.ID));this.addVariantThroughSerial$=this._addVariantThroughSerial.asObservable().pipe(de(s),Z(([p,M])=>t.get($e.GetVariantBySerial,[{key:"Serial",value:p},{key:"EntityID",value:M}]).pipe(_e(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>R(T({},p),{Quantity:1,Total:p.UnitPrice,VariantID:p.ID})),u(p=>({action:"addAsSerial",variant:p})));let O=this.variantAutocomplete.valueChanges.pipe(V(p=>P.IsNotEmpty(p)&&p.type=="Code"),u(p=>p.str),de(s),Z(([p,M])=>t.get($e.GetVariantByCode,[{key:"Code",value:p},{key:"EntityID",value:M},{key:"Promotion",value:!0}]).pipe(_e(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>R(T({},p),{Quantity:1,Total:p.UnitPrice*((100-p.PriceDiscount)/100),Discount:p.PriceDiscount,VariantID:p.ID}))),v=this.variantAutocomplete.valueChanges.pipe(V(p=>P.IsNotEmpty(p)&&p.type=="ID"),u(p=>p.str)),$=this.variantQuickKey.valueChanges,K=tt(v,$).pipe(de(s),Z(([p,M])=>t.get($e.GetVariantByID,[{key:"ID",value:p},{key:"EntityID",value:M}]).pipe(_e(()=>Ae))),u(p=>this.setUnitPrice(p)),u(p=>R(T({},p),{Quantity:1,Total:p.UnitPrice*((100-p.OrderPriceDiscount)/100),Discount:p.OrderPriceDiscount,VariantID:p.ID}))),h=tt(K,O).pipe(E(p=>{p.CategoryTypeID===1&&this.toastr.info(`${p.Name} is sellable only.`,xe.Info)}),V(p=>p.CategoryTypeID!==1),u(p=>({action:"add",variant:p})),E(()=>{this.cartDisplayRef&&setTimeout(()=>{let p=this.cartDisplayRef.nativeElement.scrollHeight;this.cartDisplayRef.nativeElement.scrollTop=p},1)})),A=n.invoiceInfo$.pipe(u(p=>({action:"returnInvoice",variants:p.Items.map(M=>R(T({},M.Variant),{Quantity:M.Quantity,Total:M.Total,UnitPrice:M.UnitPrice,Discount:M.Discount,Serial:M.Serial,ID:M.ID,DiscountAmount:M.DiscountAmount,VariantID:M.VariantID,UnitQuantity:M.UnitQuantity}))})));this.cart$=tt(h,A,this.deleteVariant$,this.dragDropCart$,this.returnCart$,this.updateVariant$,this.returnVariant$,this.purchaseVariant$,this.clearCart$,this.onEditForm$,this.addVariantThroughSerial$,this.addVariant$,this.onUploadCart$,this.listenRFID$).pipe(Mt((p,M)=>{let G=[...p],Y=[],b=M.action;if(b=="add"){let C=M.variant;Y=!!G.find(k=>k.VariantID==C.ID)?G.map(k=>k.VariantID==C.ID?R(T({},k),{Quantity:k.Quantity+1,Total:k.Total+k.UnitPrice}):k):[...G,C]}else if(b=="returnInvoice"||b=="onEditForm")Y=M.variants;else if(b=="delete"){let C=M.index;Y=G.filter((w,k)=>k!=C)}else if(b=="sort"){let C=M.ev;Y=G,ci(Y,C.previousIndex,C.currentIndex)}else if(b=="returnCart")Y=G.map(C=>R(T({},C),{Quantity:-Math.abs(C.Quantity),Total:-Math.abs(C.Total)}));else if(b=="update"){let C=M.index;Y=G.map((w,k)=>k==C?M.variant:w)}else if(b=="returnVariant"){let C=M.index;Y=G.map((w,k)=>k==C?R(T({},w),{Quantity:-Math.abs(w.Quantity),Total:-Math.abs(w.Total)}):w)}else if(b=="purchaseVariant"){let C=M.index;Y=G.map((w,k)=>k==C?R(T({},w),{Quantity:Math.abs(w.Quantity),Total:Math.abs(w.Total)}):w)}else if(b=="clearCart")Y=[];else if(b=="addAsSerial"){let C=R(T({},M.variant),{Serial:[{Number:M.variant.Serial.Number,Quantity:1,ExpiryDate:M.variant.Serial.ExpiryDate}]});if(!!G.find(k=>k.ID==C.ID)){let k=C.Serial[0],Ce=G.find(fe=>fe.ID==C.ID),wt=!!Ce.Serial.find(fe=>fe.Number==k.Number)?[...Ce.Serial].map(fe=>fe.Number==k.Number?R(T({},fe),{Quantity:fe.Quantity+1}):fe):[...Ce.Serial,k];Y=G.map(fe=>fe.ID==C.ID?R(T({},fe),{Quantity:fe.Quantity+1,Total:fe.Total+fe.UnitPrice,Serial:wt}):fe)}else Y=[...G,R(T({},C),{Quantity:1,Total:C.UnitPrice})]}else if(b=="uploadCart")Y=[...G,...M.variants];else if(b=="addNewRow"){let C=M.variant;Y=[...G,C]}else if(b=="rfid"){let C=M.variants;Object.keys(C).forEach(w=>{if(C.hasOwnProperty(w)){let k=C[w];if(k&&Object.keys(k.variant).length>0){let Ce=G.findIndex(ft=>ft.Code.toLowerCase()===w.toLowerCase());if(Ce!==-1){let ft=Number(k.count);G[Ce].Quantity+=ft,G[Ce].Total=+G[Ce].UnitPrice*+G[Ce].Quantity,delete C[w],Y=[...G]}else{let ft=k.variant,wt=Number(k.count),fe=this.setUnitPrice(ft),Ki=this.formatItemObject(R(T({},fe),{Quantity:wt,Total:+fe.UnitPrice*+wt}));delete C[w],Y=[...G,Ki]}}}})}return Y},[]),ct([]),te(1)),this.totalVariantOrdered$=this.cart$.pipe(u(p=>p.map(M=>M.Quantity)),u(p=>p.reduce((M,G)=>M+G,0)),ct(0))}toastr=ce(Je);cartDisplayRef;variantAutocomplete=new me;variantQuickKey=new me;_listenRFID=new ve;listenRFID$=this._listenRFID.asObservable().pipe(u(t=>({action:"rfid",variants:t})));_deleteVariant=new ve;deleteVariant$=this._deleteVariant.asObservable().pipe(u(t=>({action:"delete",index:t})));_dragDropCart=new ve;dragDropCart$=this._dragDropCart.asObservable().pipe(u(t=>({action:"sort",ev:t})));_returnCart=new ve;returnCart$=this._returnCart.asObservable().pipe(u(()=>({action:"returnCart"})));_onEditForm=new Xe(null);onEditForm$=this._onEditForm.asObservable().pipe(V(t=>!!t),u(t=>({action:"onEditForm",variants:t})));_clearCart=new ve;clearCart$=this._clearCart.asObservable().pipe(u(()=>({action:"clearCart"})));_updateVariant=new ve;updateVariant$=this._updateVariant.asObservable().pipe(u(t=>({action:"update",variant:t.variant,index:t.index})));_returnVariant=new ve;returnVariant$=this._returnVariant.asObservable().pipe(u(t=>({action:"returnVariant",index:t})));_purchaseVariant=new ve;purchaseVariant$=this._purchaseVariant.asObservable().pipe(u(t=>({action:"purchaseVariant",index:t})));_addVariant=new ve;addVariant$=this._addVariant.asObservable().pipe(u(t=>({action:"addNewRow",variant:t})));_onUploadCart=new ve;onUploadCart$=this._onUploadCart.asObservable().pipe(u(t=>({action:"uploadCart",variants:t})));cart$;totalVariantOrdered$;_addVariantThroughSerial=new ve;addVariantThroughSerial$;deleteVariant(t){this._deleteVariant.next(t)}dragDropCart(t){this._dragDropCart.next(t)}returnCart(){this._returnCart.next()}updateVariant(t,e){this._updateVariant.next({variant:t,index:e})}returnVariant(t){this._returnVariant.next(t)}purchaseVariant(t){this._purchaseVariant.next(t)}clearCart(){this._clearCart.next()}editForm(t){this._onEditForm.next(t)}addVariant(t){this._addVariant.next(t)}addVariantThroughSerial(t){this._addVariantThroughSerial.next(t)}uploadCart(t){this._onUploadCart.next(t)}setUnitPrice(t){let e=T({},t);return P.IsNotEmpty(t.OrderPrice)?e.UnitPrice=t.OrderPrice:e.UnitPrice=t.UnitCost,e}formatItemObject=t=>{let o=t,{ID:e}=o,n=wn(o,["ID"]);return R(T({},n),{Quantity:n.Quantity??1,Total:n.Total??n.UnitPrice,VariantID:e})};addCartRFID(t){this._listenRFID.next(t)}static \u0275fac=function(e){return new(e||i)(W(se),W(q),W(rt),W(ne))};static \u0275prov=oe({token:i,factory:i.\u0275fac,providedIn:"root"})};var je=class i{_isEdit=new ve;isEdit$;id$;isUnpaid$;dialog=ce(ne);constructor(t,e,n,o,s){let O=Ze(t.snapshot.queryParams);this.isEdit$=tt(O.pipe(u(b=>!!b.ID)),this._isEdit.asObservable()).pipe(te(1)),this.id$=O.pipe(V(b=>b.ID),u(b=>b.ID));let v=this.id$.pipe(Z(b=>e.post("/api/Buy2/GetDataByID2",{ID:b})),te(1)),$=st(()=>o.entities$).pipe(Z(b=>v.pipe(u(C=>[C.Order,b]))),E(([b,C])=>{let w={Att:b.Att,SupplierID:{Key:b.SupplierID,Value:b.SupplierName,OnSet:!0},Date:b.Date,Number:b.Number,ID:b.ID};n.setBulkOrderForm(w)}),E(([b,C])=>{let w=C.find(k=>k.ID==b.EntityID);n.setOutletForm(w)})),K=v.pipe(u(b=>b.Items),u(b=>b.map(C=>R(T({},C.Variant),{Quantity:C.Quantity,Total:C.Total,Note:C.Note,UnitPrice:C.UnitPrice,Discount:C.Discount,Serial:C.Serial,ID:C.ID,VariantID:C.VariantID,UnitQuantity:C.UnitQuantity,QtyRequested:C.QtyRequested,DiscountAmount:C.DiscountAmount}))),E(b=>s.editForm(b))),h=st(()=>o.currencies$).pipe(Z(b=>v.pipe(u(C=>[C.Order,b,C.Invoice]))),u(([b,C,w])=>R(T({},b),{Number:b.Number!=w.Number?w.Number:b.Number,Currency:C.find(k=>k.ID===b.CurrencyID)})),E(b=>{let C={Note:b.Note,TagID:b.TypeID,Currency:T({},b.Currency),InvoiceNumber:b.Number};n.setBulkNoteForm(C)})),A=v.pipe(u(b=>b.DeliveryEntityID),E(b=>n.setDeliveryEntityID(b))),p=st(()=>o.taxes$).pipe(Z(b=>v.pipe(u(C=>[C.Order,b]))),u(([b,C])=>R(T({},b),{Taxes:C})),E(b=>{let C=b.Taxes.find(k=>k.ID===b.TaxTypeID);C?.Bin&&this.dialog.open(Ht,{id:"ModalInfo",data:{title:"Default Tax Discontinued",message:`
2
2
  <div class="d-flex justify-content-center my-4">
3
3
  <img class="img-2x" src="https://res.cloudinary.com/pos/image/upload/v1705387550/POS/Images/Cashier/globalerror.svg"
4
4
  alt="Empty Sales Order Tag" />
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-XNA3D2E7.js";import"./chunk-NJIOGT5G.js";import"./chunk-BKS3I5O7.js";import"./chunk-J2YJ7UWM.js";import"./chunk-3RK6DDJD.js";import"./chunk-L2EDFSBR.js";import"./chunk-JKYTSC2D.js";import"./chunk-FD5YMPRL.js";import"./chunk-MV3QRRW6.js";import"./chunk-HA2GY7XU.js";import"./chunk-X4MTY5HS.js";import"./chunk-T4OLDAMN.js";import"./chunk-CQVVIZJ7.js";import"./chunk-52EOLV7I.js";import"./chunk-5UL73W4S.js";import"./chunk-7ARFB5UX.js";import"./chunk-CIBQBSM6.js";import"./chunk-5UCQBOD6.js";import"./chunk-D35OBUDE.js";import"./chunk-567HXZXC.js";import"./chunk-CGESXTHC.js";import"./chunk-2FWFPV5I.js";import"./chunk-TLOTIYIE.js";import"./chunk-P7HKWFZT.js";import"./chunk-RZ4V7O3L.js";import"./chunk-GR3EU2XL.js";import"./chunk-AHCRE4GP.js";import"./chunk-CRTHBX5Z.js";import"./chunk-DZT5XHBQ.js";import"./chunk-7DCB7DB2.js";export{a as SensitiveFieldComponent};
@@ -1 +1 @@
1
- import{a as A,b as G}from"./chunk-F5ERAH5D.js";import{d as Z,e as $}from"./chunk-JCT27TRG.js";import{a as K}from"./chunk-Q7GVJZBF.js";import{h as X,i as Y}from"./chunk-WSJHXTI4.js";import{b as U}from"./chunk-YUGYXJ5G.js";import{e as Q}from"./chunk-VMY3JQDA.js";import{D as H,c as B,h as R,o as j}from"./chunk-P7HKWFZT.js";import{d as q}from"./chunk-AHCRE4GP.js";import{$a as p,Bc as y,Fc as W,Ib as i,Jb as o,Ob as S,Qb as C,Rb as s,Rd as V,Td as N,Vd as O,Wc as M,Yc as I,Yd as z,Zc as T,db as _,ec as m,ed as E,gc as x,gd as P,jc as b,jd as J,kb as F,kc as h,lc as f,ob as v,qb as u,qc as w,rc as L,sc as k,va as d,vb as l,wa as g,zc as D}from"./chunk-DZT5XHBQ.js";var te=()=>["/menu/Developer/Webhook/Job_Logs/Detail"],ie=a=>({ID:a}),oe=(a,c)=>({"text-success":a,"text-danger":c});function ae(a,c){if(a&1){let e=S();i(0,"div",12)(1,"h6"),m(2,"Status"),o(),i(3,"ng-select",13),f("ngModelChange",function(t){d(e);let r=s(2);return h(r.pageData.Filter.Status,t)||(r.pageData.Filter.Status=t),g(t)}),o(),i(4,"h6"),m(5,"Job ID"),o(),i(6,"input",14),f("ngModelChange",function(t){d(e);let r=s(2);return h(r.pageData.Filter.JobID,t)||(r.pageData.Filter.JobID=t),g(t)}),o(),i(7,"h6"),m(8,"From"),o(),i(9,"datepicker",15),f("dateChange",function(t){d(e);let r=s(2);return h(r.pageData.Filter.From,t)||(r.pageData.Filter.From=t),g(t)}),o(),i(10,"h6"),m(11,"To"),o(),i(12,"datepicker",16),f("dateChange",function(t){d(e);let r=s(2);return h(r.pageData.Filter.To,t)||(r.pageData.Filter.To=t),g(t)}),o()()}if(a&2){let e=s(2);p(3),l("disabled",!e.role.developer.Edit)("items",e.pageData.Options.Status),b("ngModel",e.pageData.Filter.Status),p(3),b("ngModel",e.pageData.Filter.JobID),p(3),l("isFloatingLabel",!1),b("date",e.pageData.Filter.From),p(3),l("isFloatingLabel",!1),b("date",e.pageData.Filter.To)}}function ne(a,c){if(a&1&&(i(0,"tr",17)(1,"td")(2,"a",18),m(3),D(4,"date"),o()(),i(5,"td"),m(6),D(7,"number"),o(),i(8,"td",19),m(9),o()()),a&2){let e=c.$implicit;p(2),l("routerLink",w(12,te))("queryParams",L(13,ie,e._id)),p(),x(" ",y(4,6,e._source["@timestamp_received"],"dd MMM yyyy HH:mm")," "),p(3),x("",y(7,9,e.DurationInSecond,"1.1-1")," s"),p(2),l("ngClass",k(15,oe,e._source.log.respCode==200,e._source.log.respCode!=200)),p(),x(" ",e._source.log.respCode," ")}}function re(a,c){if(a&1){let e=S();i(0,"mat-paginator",20),C("page",function(t){d(e);let r=s(2);return g(r.onPaginationChange(t))}),o()}if(a&2){let e=s(2);l("length",e.pagination.listTotal)("pageSize",e.pagination.pageSize)("pageIndex",e.pageData.Filter.PageNumber==0?0:e.pageData.Filter.PageNumber-1)}}function pe(a,c){if(a&1){let e=S();i(0,"mainpanel-cmp",2),C("onSubmit",function(){d(e);let t=s();return g(t.searchFromPageOne())}),i(1,"filters"),u(2,ae,13,8,"ng-template",null,0,W),o(),i(4,"content")(5,"div",3)(6,"div",4)(7,"table",5)(8,"thead",6)(9,"tr",7)(10,"th",8),m(11,"Created"),o(),i(12,"th",8),m(13,"Duration"),o(),i(14,"th",8),m(15,"Status"),o()()(),i(16,"tbody"),u(17,ne,10,18,"tr",9),o()()(),i(18,"div",10),u(19,re,1,3,"mat-paginator",11),o()()()()}if(a&2){let e=s();l("pageData",e.menuData)("hideSearchBox",!0)("isFilterOnDropdown",!1),p(17),l("ngForOf",e.data.hits),p(2),l("ngIf",e.pagination.listTotal>0)}}var ee=class a extends K{constructor(e,n,t,r){super(e,n,"Developer/DeveloperSpace/Webhook/JobLogs","Developer/DeveloperSpace/WebhookLoader/GetLogs",t);this.httpService=n;this.role=r}postInit(e){this.data.hits=this.data?.hits.map(n=>(n.DurationInSecond=parseInt(n._source?.Duration)/1e3,n)),this.data.ListTotal=e?.total?.value}static \u0275fac=function(n){return new(n||a)(_(U),_(z),_(O),_(q))};static \u0275cmp=F({type:a,selectors:[["app-webhook-job-logs"]],features:[v],decls:1,vars:1,consts:[["pageFilterTemplate",""],[3,"pageData","hideSearchBox","isFilterOnDropdown","onSubmit",4,"ngIf"],[3,"onSubmit","pageData","hideSearchBox","isFilterOnDropdown"],[1,"container-fluid","mt-5"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[1,"header"],[2,"width","50px"],["class","border-bottom",4,"ngFor","ngForOf"],[1,"mt-2"],[3,"length","pageSize","pageIndex","page",4,"ngIf"],[1,"dialog-filter"],["bindLabel","Value","bindValue","Key","placeholder","Choose a status","appendTo","body",3,"ngModelChange","disabled","items","ngModel"],["type","text",1,"form-control",3,"ngModelChange","ngModel"],["placeholder","From","appearance","outline",3,"dateChange","isFloatingLabel","date"],["placeholder","To","appearance","outline",3,"dateChange","isFloatingLabel","date"],[1,"border-bottom"],[3,"routerLink","queryParams"],[3,"ngClass"],[3,"page","length","pageSize","pageIndex"]],template:function(n,t){n&1&&u(0,pe,20,5,"mainpanel-cmp",1),n&2&&l("ngIf",t.data)},dependencies:[J,M,I,T,P,E,Y,X,$,Z,G,A,Q,H,B,R,j,N,V],encapsulation:2})};export{ee as a};
1
+ import{a as A,b as G}from"./chunk-DPLLLOO5.js";import{d as Z,e as $}from"./chunk-5ZWOT4WG.js";import{a as K}from"./chunk-PBNWYWYT.js";import{h as X,i as Y}from"./chunk-X4MTY5HS.js";import{b as U}from"./chunk-CQVVIZJ7.js";import{e as Q}from"./chunk-VMY3JQDA.js";import{D as H,c as B,h as R,o as j}from"./chunk-P7HKWFZT.js";import{d as q}from"./chunk-AHCRE4GP.js";import{$a as p,Bc as y,Fc as W,Ib as i,Jb as o,Ob as S,Qb as C,Rb as s,Rd as V,Td as N,Vd as O,Wc as M,Yc as I,Yd as z,Zc as T,db as _,ec as m,ed as E,gc as x,gd as P,jc as b,jd as J,kb as F,kc as h,lc as f,ob as v,qb as u,qc as w,rc as L,sc as k,va as d,vb as l,wa as g,zc as D}from"./chunk-DZT5XHBQ.js";var te=()=>["/menu/Developer/Webhook/Job_Logs/Detail"],ie=a=>({ID:a}),oe=(a,c)=>({"text-success":a,"text-danger":c});function ae(a,c){if(a&1){let e=S();i(0,"div",12)(1,"h6"),m(2,"Status"),o(),i(3,"ng-select",13),f("ngModelChange",function(t){d(e);let r=s(2);return h(r.pageData.Filter.Status,t)||(r.pageData.Filter.Status=t),g(t)}),o(),i(4,"h6"),m(5,"Job ID"),o(),i(6,"input",14),f("ngModelChange",function(t){d(e);let r=s(2);return h(r.pageData.Filter.JobID,t)||(r.pageData.Filter.JobID=t),g(t)}),o(),i(7,"h6"),m(8,"From"),o(),i(9,"datepicker",15),f("dateChange",function(t){d(e);let r=s(2);return h(r.pageData.Filter.From,t)||(r.pageData.Filter.From=t),g(t)}),o(),i(10,"h6"),m(11,"To"),o(),i(12,"datepicker",16),f("dateChange",function(t){d(e);let r=s(2);return h(r.pageData.Filter.To,t)||(r.pageData.Filter.To=t),g(t)}),o()()}if(a&2){let e=s(2);p(3),l("disabled",!e.role.developer.Edit)("items",e.pageData.Options.Status),b("ngModel",e.pageData.Filter.Status),p(3),b("ngModel",e.pageData.Filter.JobID),p(3),l("isFloatingLabel",!1),b("date",e.pageData.Filter.From),p(3),l("isFloatingLabel",!1),b("date",e.pageData.Filter.To)}}function ne(a,c){if(a&1&&(i(0,"tr",17)(1,"td")(2,"a",18),m(3),D(4,"date"),o()(),i(5,"td"),m(6),D(7,"number"),o(),i(8,"td",19),m(9),o()()),a&2){let e=c.$implicit;p(2),l("routerLink",w(12,te))("queryParams",L(13,ie,e._id)),p(),x(" ",y(4,6,e._source["@timestamp_received"],"dd MMM yyyy HH:mm")," "),p(3),x("",y(7,9,e.DurationInSecond,"1.1-1")," s"),p(2),l("ngClass",k(15,oe,e._source.log.respCode==200,e._source.log.respCode!=200)),p(),x(" ",e._source.log.respCode," ")}}function re(a,c){if(a&1){let e=S();i(0,"mat-paginator",20),C("page",function(t){d(e);let r=s(2);return g(r.onPaginationChange(t))}),o()}if(a&2){let e=s(2);l("length",e.pagination.listTotal)("pageSize",e.pagination.pageSize)("pageIndex",e.pageData.Filter.PageNumber==0?0:e.pageData.Filter.PageNumber-1)}}function pe(a,c){if(a&1){let e=S();i(0,"mainpanel-cmp",2),C("onSubmit",function(){d(e);let t=s();return g(t.searchFromPageOne())}),i(1,"filters"),u(2,ae,13,8,"ng-template",null,0,W),o(),i(4,"content")(5,"div",3)(6,"div",4)(7,"table",5)(8,"thead",6)(9,"tr",7)(10,"th",8),m(11,"Created"),o(),i(12,"th",8),m(13,"Duration"),o(),i(14,"th",8),m(15,"Status"),o()()(),i(16,"tbody"),u(17,ne,10,18,"tr",9),o()()(),i(18,"div",10),u(19,re,1,3,"mat-paginator",11),o()()()()}if(a&2){let e=s();l("pageData",e.menuData)("hideSearchBox",!0)("isFilterOnDropdown",!1),p(17),l("ngForOf",e.data.hits),p(2),l("ngIf",e.pagination.listTotal>0)}}var ee=class a extends K{constructor(e,n,t,r){super(e,n,"Developer/DeveloperSpace/Webhook/JobLogs","Developer/DeveloperSpace/WebhookLoader/GetLogs",t);this.httpService=n;this.role=r}postInit(e){this.data.hits=this.data?.hits.map(n=>(n.DurationInSecond=parseInt(n._source?.Duration)/1e3,n)),this.data.ListTotal=e?.total?.value}static \u0275fac=function(n){return new(n||a)(_(U),_(z),_(O),_(q))};static \u0275cmp=F({type:a,selectors:[["app-webhook-job-logs"]],features:[v],decls:1,vars:1,consts:[["pageFilterTemplate",""],[3,"pageData","hideSearchBox","isFilterOnDropdown","onSubmit",4,"ngIf"],[3,"onSubmit","pageData","hideSearchBox","isFilterOnDropdown"],[1,"container-fluid","mt-5"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[1,"header"],[2,"width","50px"],["class","border-bottom",4,"ngFor","ngForOf"],[1,"mt-2"],[3,"length","pageSize","pageIndex","page",4,"ngIf"],[1,"dialog-filter"],["bindLabel","Value","bindValue","Key","placeholder","Choose a status","appendTo","body",3,"ngModelChange","disabled","items","ngModel"],["type","text",1,"form-control",3,"ngModelChange","ngModel"],["placeholder","From","appearance","outline",3,"dateChange","isFloatingLabel","date"],["placeholder","To","appearance","outline",3,"dateChange","isFloatingLabel","date"],[1,"border-bottom"],[3,"routerLink","queryParams"],[3,"ngClass"],[3,"page","length","pageSize","pageIndex"]],template:function(n,t){n&1&&u(0,pe,20,5,"mainpanel-cmp",1),n&2&&l("ngIf",t.data)},dependencies:[J,M,I,T,P,E,Y,X,$,Z,G,A,Q,H,B,R,j,N,V],encapsulation:2})};export{ee as a};
@@ -1 +1 @@
1
- import{a as e}from"./chunk-LRSTQA5B.js";import{a as t}from"./chunk-7DCB7DB2.js";var i=class extends e{constructor(r,a,o,l,s,p,F){super(r,a,o,l,s,p,F)}preInitLoader(){this.loaderPayload=t({ListIDs:this.reportFilterService.initOutletFilter([])},this.loaderPayload)}preInitList(){this.pageData.Filter.ListIDs=this.loaderPayload.ListIDs,this.pageData.Filter.From=this.reportFilterService.initDateFromFilter(this.pageData?.Filter?.From),this.pageData.Filter.To=this.reportFilterService.initDateToFilter(this.pageData?.Filter?.To)}onFilterOutlets(){this.reportFilterService.setOutletFilter(this.pageData.Filter.ListIDs)}onFilterFromDate(){this.reportFilterService.setDateFromFilter(this.pageData?.Filter?.From)}onFilterToDate(){this.reportFilterService.setDateToFilter(this.pageData?.Filter?.To)}};export{i as a};
1
+ import{a as e}from"./chunk-ECSUCVRE.js";import{a as t}from"./chunk-7DCB7DB2.js";var i=class extends e{constructor(r,a,o,l,s,p,F){super(r,a,o,l,s,p,F)}preInitLoader(){this.loaderPayload=t({ListIDs:this.reportFilterService.initOutletFilter([])},this.loaderPayload)}preInitList(){this.pageData.Filter.ListIDs=this.loaderPayload.ListIDs,this.pageData.Filter.From=this.reportFilterService.initDateFromFilter(this.pageData?.Filter?.From),this.pageData.Filter.To=this.reportFilterService.initDateToFilter(this.pageData?.Filter?.To)}onFilterOutlets(){this.reportFilterService.setOutletFilter(this.pageData.Filter.ListIDs)}onFilterFromDate(){this.reportFilterService.setDateFromFilter(this.pageData?.Filter?.From)}onFilterToDate(){this.reportFilterService.setDateToFilter(this.pageData?.Filter?.To)}};export{i as a};
@@ -1,2 +1,2 @@
1
- import{a as E}from"./chunk-L2EDFSBR.js";import{a as q}from"./chunk-TEFNN3TY.js";import{a as U,b as K}from"./chunk-JKYTSC2D.js";import{k as W,l as Z}from"./chunk-X6LIVARI.js";import{a as x}from"./chunk-CIBQBSM6.js";import{ca as _,ea as M,f as z,g as m,j as b,n as O,y as j}from"./chunk-567HXZXC.js";import{e as B,g as L,k as P,t as V}from"./chunk-P7HKWFZT.js";import{Ga as c,Ka as f,La as w,Mc as y,Pb as H,Qb as v,Qc as N,bb as A,cb as p,d,ja as k,k as I,ka as h,kb as S,la as C,lb as u,mb as g,na as r,pc as D,ua as T,ub as R,xb as F}from"./chunk-DZT5XHBQ.js";var J=(()=>{class s{static \u0275fac=function(t){return new(t||s)};static \u0275cmp=S({type:s,selectors:[["ng-component"]],hostAttrs:["cdk-text-field-style-loader",""],decls:0,vars:0,template:function(t,i){},styles:[`textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0 !important;box-sizing:content-box !important;height:auto !important;overflow:hidden !important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0 !important;box-sizing:content-box !important;height:0 !important}@keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}
1
+ import{a as E}from"./chunk-L2EDFSBR.js";import{a as q}from"./chunk-TEFNN3TY.js";import{a as U,b as K}from"./chunk-JKYTSC2D.js";import{k as W,l as Z}from"./chunk-7ARFB5UX.js";import{a as x}from"./chunk-CIBQBSM6.js";import{ca as _,ea as M,f as z,g as m,j as b,n as O,y as j}from"./chunk-567HXZXC.js";import{e as B,g as L,k as P,t as V}from"./chunk-P7HKWFZT.js";import{Ga as c,Ka as f,La as w,Mc as y,Pb as H,Qb as v,Qc as N,bb as A,cb as p,d,ja as k,k as I,ka as h,kb as S,la as C,lb as u,mb as g,na as r,pc as D,ua as T,ub as R,xb as F}from"./chunk-DZT5XHBQ.js";var J=(()=>{class s{static \u0275fac=function(t){return new(t||s)};static \u0275cmp=S({type:s,selectors:[["ng-component"]],hostAttrs:["cdk-text-field-style-loader",""],decls:0,vars:0,template:function(t,i){},styles:[`textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0 !important;box-sizing:content-box !important;height:auto !important;overflow:hidden !important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0 !important;box-sizing:content-box !important;height:0 !important}@keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}
2
2
  `],encapsulation:2,changeDetection:0})}return s})(),Q={passive:!0},G=(()=>{class s{_platform=r(m);_ngZone=r(c);_renderer=r(A).createRenderer(null,null);_styleLoader=r(O);_monitoredElements=new Map;constructor(){}monitor(e){if(!this._platform.isBrowser)return I;this._styleLoader.load(J);let t=b(e),i=this._monitoredElements.get(t);if(i)return i.subject;let n=new d,a="cdk-text-field-autofilled",o=l=>{l.animationName==="cdk-text-field-autofill-start"&&!t.classList.contains(a)?(t.classList.add(a),this._ngZone.run(()=>n.next({target:l.target,isAutofilled:!0}))):l.animationName==="cdk-text-field-autofill-end"&&t.classList.contains(a)&&(t.classList.remove(a),this._ngZone.run(()=>n.next({target:l.target,isAutofilled:!1})))},Y=this._ngZone.runOutsideAngular(()=>(t.classList.add("cdk-text-field-autofill-monitored"),z(this._renderer,t,"animationstart",o,Q)));return this._monitoredElements.set(t,{subject:n,unlisten:Y}),n}stopMonitoring(e){let t=b(e),i=this._monitoredElements.get(t);i&&(i.unlisten(),i.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((e,t)=>this.stopMonitoring(t))}static \u0275fac=function(t){return new(t||s)};static \u0275prov=k({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})();var $=(()=>{class s{static \u0275fac=function(t){return new(t||s)};static \u0275mod=u({type:s});static \u0275inj=h({})}return s})();var ee=["button","checkbox","file","hidden","image","radio","range","reset","submit"],te=new C("MAT_INPUT_CONFIG"),Ne=(()=>{class s{_elementRef=r(f);_platform=r(m);ngControl=r(L,{optional:!0,self:!0});_autofillMonitor=r(G);_ngZone=r(c);_formField=r(Z,{optional:!0});_renderer=r(p);_uid=r(j).getId("mat-input-");_previousNativeValue;_inputValueAccessor;_signalBasedValueAccessor;_previousPlaceholder;_errorStateTracker;_config=r(te,{optional:!0});_cleanupIosKeyup;_cleanupWebkitWheel;_formFieldDescribedBy;_isServer;_isNativeSelect;_isTextarea;_isInFormField;focused=!1;stateChanges=new d;controlType="mat-input";autofilled=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=_(e),this.focused&&(this.focused=!1,this.stateChanges.next())}_disabled=!1;get id(){return this._id}set id(e){this._id=e||this._uid}_id;placeholder;name;get required(){return this._required??this.ngControl?.control?.hasValidator(B.required)??!1}set required(e){this._required=_(e)}_required;get type(){return this._type}set type(e){let t=this._type;this._type=e||"text",this._validateType(),!this._isTextarea&&x().has(this._type)&&(this._elementRef.nativeElement.type=this._type),this._type!==t&&this._ensureWheelDefaultBehavior()}_type="text";get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}userAriaDescribedBy;get value(){return this._signalBasedValueAccessor?this._signalBasedValueAccessor.value():this._inputValueAccessor.value}set value(e){e!==this.value&&(this._signalBasedValueAccessor?this._signalBasedValueAccessor.value.set(e):this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=_(e)}_readonly=!1;disabledInteractive;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}_neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(e=>x().has(e));constructor(){let e=r(P,{optional:!0}),t=r(V,{optional:!0}),i=r(U),n=r(q,{optional:!0,self:!0}),a=this._elementRef.nativeElement,o=a.nodeName.toLowerCase();n?w(n.value)?this._signalBasedValueAccessor=n:this._inputValueAccessor=n:this._inputValueAccessor=a,this._previousNativeValue=this.value,this.id=this.id,this._platform.IOS&&this._ngZone.runOutsideAngular(()=>{this._cleanupIosKeyup=this._renderer.listen(a,"keyup",this._iOSKeyupListener)}),this._errorStateTracker=new K(i,this.ngControl,t,e,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect=o==="select",this._isTextarea=o==="textarea",this._isInFormField=!!this._formField,this.disabledInteractive=this._config?.disabledInteractive||!1,this._isNativeSelect&&(this.controlType=a.multiple?"mat-native-select-multiple":"mat-native-select"),this._signalBasedValueAccessor&&N(()=>{this._signalBasedValueAccessor.value(),this.stateChanges.next()})}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._cleanupIosKeyup?.(),this._cleanupWebkitWheel?.()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==null&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl.disabled,this.stateChanges.next())),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(e){this._elementRef.nativeElement.focus(e)}updateErrorState(){this._errorStateTracker.updateErrorState()}_focusChanged(e){if(e!==this.focused){if(!this._isNativeSelect&&e&&this.disabled&&this.disabledInteractive){let t=this._elementRef.nativeElement;t.type==="number"?(t.type="text",t.setSelectionRange(0,0),t.type="number"):t.setSelectionRange(0,0)}this.focused=e,this.stateChanges.next()}}_onInput(){}_dirtyCheckNativeValue(){let e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}_dirtyCheckPlaceholder(){let e=this._getPlaceholder();if(e!==this._previousPlaceholder){let t=this._elementRef.nativeElement;this._previousPlaceholder=e,e?t.setAttribute("placeholder",e):t.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){ee.indexOf(this._type)>-1}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let e=this._elementRef.nativeElement.validity;return e&&e.badInput}get empty(){return!this._isNeverEmpty()&&!this._elementRef.nativeElement.value&&!this._isBadInput()&&!this.autofilled}get shouldLabelFloat(){if(this._isNativeSelect){let e=this._elementRef.nativeElement,t=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&t&&t.label)}else return this.focused&&!this.disabled||!this.empty}setDescribedByIds(e){let t=this._elementRef.nativeElement,i=t.getAttribute("aria-describedby"),n;if(i){let a=this._formFieldDescribedBy||e;n=e.concat(i.split(" ").filter(o=>o&&!a.includes(o)))}else n=e;this._formFieldDescribedBy=e,n.length?t.setAttribute("aria-describedby",n.join(" ")):t.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){let e=this._elementRef.nativeElement;return this._isNativeSelect&&(e.multiple||e.size>1)}_iOSKeyupListener=e=>{let t=e.target;!t.value&&t.selectionStart===0&&t.selectionEnd===0&&(t.setSelectionRange(1,1),t.setSelectionRange(0,0))};_webkitBlinkWheelListener=()=>{};_ensureWheelDefaultBehavior(){this._cleanupWebkitWheel?.(),this._type==="number"&&(this._platform.BLINK||this._platform.WEBKIT)&&(this._cleanupWebkitWheel=this._renderer.listen(this._elementRef.nativeElement,"wheel",this._webkitBlinkWheelListener))}_getReadonlyAttribute(){return this._isNativeSelect?null:this.readonly||this.disabled&&this.disabledInteractive?"true":null}static \u0275fac=function(t){return new(t||s)};static \u0275dir=g({type:s,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-mdc-input-element"],hostVars:21,hostBindings:function(t,i){t&1&&v("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),t&2&&(H("id",i.id)("disabled",i.disabled&&!i.disabledInteractive)("required",i.required),R("name",i.name||null)("readonly",i._getReadonlyAttribute())("aria-disabled",i.disabled&&i.disabledInteractive?"true":null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required)("id",i.id),F("mat-input-server",i._isServer)("mat-mdc-form-field-textarea-control",i._isInFormField&&i._isTextarea)("mat-mdc-form-field-input-control",i._isInFormField)("mat-mdc-input-disabled-interactive",i.disabledInteractive)("mdc-text-field__input",i._isInFormField)("mat-mdc-native-select-inline",i._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly",disabledInteractive:[2,"disabledInteractive","disabledInteractive",y]},exportAs:["matInput"],features:[D([{provide:W,useExisting:s}]),T]})}return s})(),Be=(()=>{class s{static \u0275fac=function(t){return new(t||s)};static \u0275mod=u({type:s});static \u0275inj=h({imports:[M,E,E,$,M]})}return s})();export{Ne as a,Be as b};
@@ -1 +1 @@
1
- import{b as c}from"./chunk-N4OAT3FW.js";import{ja as r,na as s}from"./chunk-DZT5XHBQ.js";var i=class{to;from;constructor(){this.to=new Date,this.from=new Date}};var n=class o{cookiesService=s(c);_cookiesName="PaymentDate";dateFilter={from:new Date,to:new Date};set(e){this.saveFilterToCookie(e),this.dateFilter=e}initFilterDate(e){let t;if(this.checkCookieExists())t=this.get();else{let a=e.From||new Date,m=e.To||new Date;t={from:a,to:m}}return e.From=t.from,e.To=t.to,e}get(){return this.checkCookieExists()?this.dateFilter=JSON.parse(this.cookiesService.get(this._cookiesName)):this.dateFilter=new i,this.dateFilter}checkCookieExists(){return this.cookiesService.check(this._cookiesName)}saveFilterToCookie(e){this.cookiesService.set(this._cookiesName,JSON.stringify(e),this.getExpiredDate(),"/")}clear(){this.cookiesService.delete(this._cookiesName,"/"),this.dateFilter=new i}getExpiredDate(){let e=new Date,a=1*60*60*1e3;return e.setTime(e.getTime()+a),e}static \u0275fac=function(t){return new(t||o)};static \u0275prov=r({token:o,factory:o.\u0275fac,providedIn:"root"})};export{n as a};
1
+ import{b as c}from"./chunk-RZ4V7O3L.js";import{ja as r,na as s}from"./chunk-DZT5XHBQ.js";var i=class{to;from;constructor(){this.to=new Date,this.from=new Date}};var n=class o{cookiesService=s(c);_cookiesName="PaymentDate";dateFilter={from:new Date,to:new Date};set(e){this.saveFilterToCookie(e),this.dateFilter=e}initFilterDate(e){let t;if(this.checkCookieExists())t=this.get();else{let a=e.From||new Date,m=e.To||new Date;t={from:a,to:m}}return e.From=t.from,e.To=t.to,e}get(){return this.checkCookieExists()?this.dateFilter=JSON.parse(this.cookiesService.get(this._cookiesName)):this.dateFilter=new i,this.dateFilter}checkCookieExists(){return this.cookiesService.check(this._cookiesName)}saveFilterToCookie(e){this.cookiesService.set(this._cookiesName,JSON.stringify(e),this.getExpiredDate(),"/")}clear(){this.cookiesService.delete(this._cookiesName,"/"),this.dateFilter=new i}getExpiredDate(){let e=new Date,a=1*60*60*1e3;return e.setTime(e.getTime()+a),e}static \u0275fac=function(t){return new(t||o)};static \u0275prov=r({token:o,factory:o.\u0275fac,providedIn:"root"})};export{n as a};
@@ -1 +1 @@
1
- import{a as re}from"./chunk-XWD54EOV.js";import{a as ae,b as oe}from"./chunk-OLFWZQFT.js";import"./chunk-W2UCLTBY.js";import"./chunk-5Q5T67DH.js";import"./chunk-OLALZT3L.js";import"./chunk-IUVGWNPX.js";import"./chunk-6N4AU5UX.js";import{d as ie,e as ne}from"./chunk-JCT27TRG.js";import"./chunk-RSDCLKM5.js";import"./chunk-3RK6DDJD.js";import"./chunk-L2EDFSBR.js";import"./chunk-GSQJO7HP.js";import"./chunk-TEFNN3TY.js";import"./chunk-KG4DA565.js";import"./chunk-JKYTSC2D.js";import"./chunk-TGAOY65D.js";import{e as ee}from"./chunk-HR64LU2Y.js";import"./chunk-VQ7WKMGF.js";import{a as K}from"./chunk-Q7GVJZBF.js";import"./chunk-ZYVROOL4.js";import"./chunk-3LBZWLLT.js";import"./chunk-X7G45LGM.js";import"./chunk-C6ARCDXZ.js";import"./chunk-FD5YMPRL.js";import"./chunk-MV3QRRW6.js";import"./chunk-6ZOGADBZ.js";import{b as te}from"./chunk-WXF4SX6R.js";import{a as J,h as Z,i as $}from"./chunk-WSJHXTI4.js";import"./chunk-OLSVR34W.js";import{b as X}from"./chunk-YUGYXJ5G.js";import"./chunk-52EOLV7I.js";import"./chunk-5UL73W4S.js";import"./chunk-X6LIVARI.js";import"./chunk-CIBQBSM6.js";import{P as Y}from"./chunk-5UCQBOD6.js";import"./chunk-ZT4RBJMM.js";import"./chunk-GIKR6Y2K.js";import{e as Q}from"./chunk-VMY3JQDA.js";import"./chunk-D35OBUDE.js";import"./chunk-567HXZXC.js";import"./chunk-UHJRDVRX.js";import"./chunk-CGESXTHC.js";import{a as z}from"./chunk-2FWFPV5I.js";import"./chunk-TLOTIYIE.js";import{D as U,h as j,o as G}from"./chunk-P7HKWFZT.js";import"./chunk-N4OAT3FW.js";import"./chunk-IBTIOJOZ.js";import"./chunk-AHCRE4GP.js";import"./chunk-KRC5LE5H.js";import{$a as c,Ac as x,Db as A,Eb as E,Fc as O,Gb as V,Hb as W,Ib as n,Jb as a,Kb as S,Lb as D,Mb as v,Ob as T,Qb as y,Rb as s,Vd as H,Y as k,Yd as q,Zc as L,cd as N,db as h,ec as u,fa as I,jc as g,jd as R,kb as P,kc as _,lc as f,na as B,ob as M,qb as C,va as p,vb as l,wa as m,zc as b}from"./chunk-DZT5XHBQ.js";import"./chunk-7DCB7DB2.js";function pe(o,d){if(o&1){let t=T();n(0,"button",7),y("click",function(){p(t);let e=s();return m(e.onPrint())}),S(1,"i",8),n(2,"span"),u(3,"Print"),a()()}}function me(o,d){if(o&1){let t=T();n(0,"div",9)(1,"h6"),u(2,"Outlet"),a(),n(3,"outlet-selector",10),f("ngModelChange",function(e){p(t);let i=s();return _(i.pageData.Filter.EntityID,e)||(i.pageData.Filter.EntityID=e),m(e)}),a(),n(4,"h6"),u(5,"Sales Order Tag"),a(),n(6,"ng-select",11),f("ngModelChange",function(e){p(t);let i=s();return _(i.pageData.Filter.SalesOrderTagID,e)||(i.pageData.Filter.SalesOrderTagID=e),m(e)}),a(),n(7,"h6"),u(8,"From"),a(),n(9,"div",12)(10,"div",13)(11,"datepicker",14),f("dateChange",function(e){p(t);let i=s();return _(i.pageData.Filter.From,e)||(i.pageData.Filter.From=e),m(e)}),a()(),n(12,"div",13)(13,"app-timepicker",15),f("timeChange",function(e){p(t);let i=s();return _(i.pageData.Filter.StartTime,e)||(i.pageData.Filter.StartTime=e),m(e)}),a()()(),n(14,"h6"),u(15,"To"),a(),n(16,"div",12)(17,"div",13)(18,"datepicker",16),f("dateChange",function(e){p(t);let i=s();return _(i.pageData.Filter.To,e)||(i.pageData.Filter.To=e),m(e)}),a()(),n(19,"div",13)(20,"app-timepicker",15),f("timeChange",function(e){p(t);let i=s();return _(i.pageData.Filter.EndTime,e)||(i.pageData.Filter.EndTime=e),m(e)}),a()()()()}if(o&2){let t=s();c(3),l("accessType",2),g("ngModel",t.pageData.Filter.EntityID),c(3),l("items",t.pageData==null||t.pageData.Options==null?null:t.pageData.Options.SalesOrderTags),g("ngModel",t.pageData.Filter.SalesOrderTagID),c(5),l("isFloatingLabel",!1),g("date",t.pageData.Filter.From),l("hidelClearBtn",!0),c(2),g("time",t.pageData.Filter.StartTime),l("fullWidth",!0),c(5),l("isFloatingLabel",!1)("hidelClearBtn",!0),g("date",t.pageData.Filter.To),c(2),g("time",t.pageData.Filter.EndTime),l("fullWidth",!0)}}function ce(o,d){o&1&&(D(0),n(1,"div",20),u(2,"\xA0"),a(),v())}function se(o,d){if(o&1&&(S(0,"pos-receipt-a4",17),n(1,"div",18),S(2,"div",19),a(),C(3,ce,3,0,"ng-container",6)),o&2){let t=d.$implicit,r=d.$index,e=s().ngIf,i=s();l("data",t)("printTemplate",i.printTemplates==null?null:i.printTemplates.get(t.PrintTemplateID))("config",e.AppConfig)("workOrderMode",!1)("fullMode",!0)("stylesheet",e.StylesSheet),c(3),l("ngIf",r!==(e.Data==null?null:e.Data.length)-1)}}function de(o,d){if(o&1&&(D(0),V(1,se,4,7,null,null,E),v()),o&2){let t=d.ngIf;c(),W(t.Data)}}var le=class o extends K{constructor(t,r,e){super(t,r,"Tool/GetBulkPrintLoader","Tool/GetBulkPrintLoader",e,null,!0);this.httpService=r}dialogFilter=B(J);receipts$;printTemplates;preInitList(){this.pageData.Filter.From=new Date,this.pageData.Filter.To=new Date,this.pageData.Filter.StartTime="00:00",this.pageData.Filter.EndTime="23:59"}onFilter(){this.receipts$=this.httpService.post(Y.GetBulkPrintA4,this.pageData.Filter).pipe(I(t=>{t?.Data?.length==0?this.toastrService.info("There are no transaction",z.Info):this.generatePrintTemplate(t.PrintTemplates)}),k(1))}generatePrintTemplate(t=[]){this.printTemplates=new Map(t.map(r=>[r.ID,r]))}onNewPrint(){this.dialogFilter.openDialog()}onPrint(){window.setTimeout(function(){window.print()},500)}static \u0275fac=function(r){return new(r||o)(h(X),h(q),h(H))};static \u0275cmp=P({type:o,selectors:[["bulk-invoice-A4"]],features:[M],decls:13,vars:10,consts:[["pageFilterTemplate",""],[3,"textChange","onSubmit","pageData","hideSearchBox","text","hideSearchDropdown"],[1,"btn","btn-outline-secondary","me-3"],[1,"btn","btn-success",3,"click"],["filters",""],[1,"container-fluid","mt-5"],[4,"ngIf"],[1,"btn","btn-outline-secondary","me-3",3,"click"],[1,"fa","fa-print","me-3"],[1,"dialog-filter"],["placeholder","Choose an Outlet",3,"ngModelChange","accessType","ngModel"],["bindLabel","Name","bindValue","ID","placeholder","Choose Sales Order Tag",3,"ngModelChange","items","ngModel"],[1,"d-flex","align-items-center","gap-5"],[1,"w-100"],["placeholder","From","appearance","outline","name","From",1,"me-4",3,"dateChange","isFloatingLabel","date","hidelClearBtn"],[3,"timeChange","time","fullWidth"],["placeholder","To","appearance","outline","name","To",1,"me-4",3,"dateChange","isFloatingLabel","hidelClearBtn","date"],[3,"data","printTemplate","config","workOrderMode","fullMode","stylesheet"],[1,"d-print-none","mt-8"],[2,"border-top-style","dotted","margin-bottom","5px"],[1,"page-break"]],template:function(r,e){if(r&1){let i=T();n(0,"mainpanel-cmp",1),f("textChange",function(w){return p(i),_(e.pageData.Filter.Number,w)||(e.pageData.Filter.Number=w),m(w)}),y("onSubmit",function(){return p(i),m(e.onFilter())}),n(1,"actions"),C(2,pe,4,0,"button",2),b(3,"async"),n(4,"button",3),y("click",function(){return p(i),m(e.onNewPrint())}),u(5,"New"),a()(),n(6,"div",4),C(7,me,21,14,"ng-template",null,0,O),a(),n(9,"content")(10,"div",5),C(11,de,3,0,"ng-container",6),b(12,"async"),a()()()}if(r&2){let i;l("pageData",e.menuData)("hideSearchBox",!0),g("text",e.pageData.Filter.Number),l("hideSearchDropdown",!0),c(2),A(((i=x(3,6,e.receipts$))==null||i.Data==null?null:i.Data.length)>0?2:-1),c(9),l("ngIf",x(12,8,e.printTemplates&&e.receipts$))}},dependencies:[R,L,N,oe,ae,$,Z,te,Q,ne,ie,ee,U,j,G,re],styles:["input.p-inputtext{height:46.63px;border-color:#0000001f!important} input.p-inputtext :hover{border-color:#0000001f!important}@media print{.page-break[_ngcontent-%COMP%]{page-break-after:always}}"]})};export{le as BulkInvoiceA4Component};
1
+ import{a as re}from"./chunk-XWD54EOV.js";import{a as ae,b as oe}from"./chunk-OLFWZQFT.js";import"./chunk-W2UCLTBY.js";import"./chunk-5Q5T67DH.js";import"./chunk-OLALZT3L.js";import"./chunk-IUVGWNPX.js";import"./chunk-6N4AU5UX.js";import{d as ie,e as ne}from"./chunk-5ZWOT4WG.js";import"./chunk-WAWDDMQZ.js";import"./chunk-3RK6DDJD.js";import"./chunk-L2EDFSBR.js";import"./chunk-HSZIMZAT.js";import"./chunk-TEFNN3TY.js";import"./chunk-BRUTIHV5.js";import"./chunk-JKYTSC2D.js";import"./chunk-TGAOY65D.js";import{e as ee}from"./chunk-PS4PFFPT.js";import"./chunk-VQ7WKMGF.js";import{a as K}from"./chunk-PBNWYWYT.js";import"./chunk-56WYLSRZ.js";import"./chunk-3LBZWLLT.js";import"./chunk-X7G45LGM.js";import"./chunk-C6ARCDXZ.js";import"./chunk-FD5YMPRL.js";import"./chunk-MV3QRRW6.js";import"./chunk-6ZOGADBZ.js";import{b as te}from"./chunk-WXF4SX6R.js";import{a as J,h as Z,i as $}from"./chunk-X4MTY5HS.js";import"./chunk-T4OLDAMN.js";import{b as X}from"./chunk-CQVVIZJ7.js";import"./chunk-52EOLV7I.js";import"./chunk-5UL73W4S.js";import"./chunk-7ARFB5UX.js";import"./chunk-CIBQBSM6.js";import{P as Y}from"./chunk-5UCQBOD6.js";import"./chunk-ZT4RBJMM.js";import"./chunk-GIKR6Y2K.js";import{e as Q}from"./chunk-VMY3JQDA.js";import"./chunk-D35OBUDE.js";import"./chunk-567HXZXC.js";import"./chunk-UHJRDVRX.js";import"./chunk-CGESXTHC.js";import{a as z}from"./chunk-2FWFPV5I.js";import"./chunk-TLOTIYIE.js";import{D as U,h as j,o as G}from"./chunk-P7HKWFZT.js";import"./chunk-RZ4V7O3L.js";import"./chunk-GR3EU2XL.js";import"./chunk-AHCRE4GP.js";import"./chunk-CRTHBX5Z.js";import{$a as c,Ac as x,Db as A,Eb as E,Fc as O,Gb as V,Hb as W,Ib as n,Jb as a,Kb as S,Lb as D,Mb as v,Ob as T,Qb as y,Rb as s,Vd as H,Y as k,Yd as q,Zc as L,cd as N,db as h,ec as u,fa as I,jc as g,jd as R,kb as P,kc as _,lc as f,na as B,ob as M,qb as C,va as p,vb as l,wa as m,zc as b}from"./chunk-DZT5XHBQ.js";import"./chunk-7DCB7DB2.js";function pe(o,d){if(o&1){let t=T();n(0,"button",7),y("click",function(){p(t);let e=s();return m(e.onPrint())}),S(1,"i",8),n(2,"span"),u(3,"Print"),a()()}}function me(o,d){if(o&1){let t=T();n(0,"div",9)(1,"h6"),u(2,"Outlet"),a(),n(3,"outlet-selector",10),f("ngModelChange",function(e){p(t);let i=s();return _(i.pageData.Filter.EntityID,e)||(i.pageData.Filter.EntityID=e),m(e)}),a(),n(4,"h6"),u(5,"Sales Order Tag"),a(),n(6,"ng-select",11),f("ngModelChange",function(e){p(t);let i=s();return _(i.pageData.Filter.SalesOrderTagID,e)||(i.pageData.Filter.SalesOrderTagID=e),m(e)}),a(),n(7,"h6"),u(8,"From"),a(),n(9,"div",12)(10,"div",13)(11,"datepicker",14),f("dateChange",function(e){p(t);let i=s();return _(i.pageData.Filter.From,e)||(i.pageData.Filter.From=e),m(e)}),a()(),n(12,"div",13)(13,"app-timepicker",15),f("timeChange",function(e){p(t);let i=s();return _(i.pageData.Filter.StartTime,e)||(i.pageData.Filter.StartTime=e),m(e)}),a()()(),n(14,"h6"),u(15,"To"),a(),n(16,"div",12)(17,"div",13)(18,"datepicker",16),f("dateChange",function(e){p(t);let i=s();return _(i.pageData.Filter.To,e)||(i.pageData.Filter.To=e),m(e)}),a()(),n(19,"div",13)(20,"app-timepicker",15),f("timeChange",function(e){p(t);let i=s();return _(i.pageData.Filter.EndTime,e)||(i.pageData.Filter.EndTime=e),m(e)}),a()()()()}if(o&2){let t=s();c(3),l("accessType",2),g("ngModel",t.pageData.Filter.EntityID),c(3),l("items",t.pageData==null||t.pageData.Options==null?null:t.pageData.Options.SalesOrderTags),g("ngModel",t.pageData.Filter.SalesOrderTagID),c(5),l("isFloatingLabel",!1),g("date",t.pageData.Filter.From),l("hidelClearBtn",!0),c(2),g("time",t.pageData.Filter.StartTime),l("fullWidth",!0),c(5),l("isFloatingLabel",!1)("hidelClearBtn",!0),g("date",t.pageData.Filter.To),c(2),g("time",t.pageData.Filter.EndTime),l("fullWidth",!0)}}function ce(o,d){o&1&&(D(0),n(1,"div",20),u(2,"\xA0"),a(),v())}function se(o,d){if(o&1&&(S(0,"pos-receipt-a4",17),n(1,"div",18),S(2,"div",19),a(),C(3,ce,3,0,"ng-container",6)),o&2){let t=d.$implicit,r=d.$index,e=s().ngIf,i=s();l("data",t)("printTemplate",i.printTemplates==null?null:i.printTemplates.get(t.PrintTemplateID))("config",e.AppConfig)("workOrderMode",!1)("fullMode",!0)("stylesheet",e.StylesSheet),c(3),l("ngIf",r!==(e.Data==null?null:e.Data.length)-1)}}function de(o,d){if(o&1&&(D(0),V(1,se,4,7,null,null,E),v()),o&2){let t=d.ngIf;c(),W(t.Data)}}var le=class o extends K{constructor(t,r,e){super(t,r,"Tool/GetBulkPrintLoader","Tool/GetBulkPrintLoader",e,null,!0);this.httpService=r}dialogFilter=B(J);receipts$;printTemplates;preInitList(){this.pageData.Filter.From=new Date,this.pageData.Filter.To=new Date,this.pageData.Filter.StartTime="00:00",this.pageData.Filter.EndTime="23:59"}onFilter(){this.receipts$=this.httpService.post(Y.GetBulkPrintA4,this.pageData.Filter).pipe(I(t=>{t?.Data?.length==0?this.toastrService.info("There are no transaction",z.Info):this.generatePrintTemplate(t.PrintTemplates)}),k(1))}generatePrintTemplate(t=[]){this.printTemplates=new Map(t.map(r=>[r.ID,r]))}onNewPrint(){this.dialogFilter.openDialog()}onPrint(){window.setTimeout(function(){window.print()},500)}static \u0275fac=function(r){return new(r||o)(h(X),h(q),h(H))};static \u0275cmp=P({type:o,selectors:[["bulk-invoice-A4"]],features:[M],decls:13,vars:10,consts:[["pageFilterTemplate",""],[3,"textChange","onSubmit","pageData","hideSearchBox","text","hideSearchDropdown"],[1,"btn","btn-outline-secondary","me-3"],[1,"btn","btn-success",3,"click"],["filters",""],[1,"container-fluid","mt-5"],[4,"ngIf"],[1,"btn","btn-outline-secondary","me-3",3,"click"],[1,"fa","fa-print","me-3"],[1,"dialog-filter"],["placeholder","Choose an Outlet",3,"ngModelChange","accessType","ngModel"],["bindLabel","Name","bindValue","ID","placeholder","Choose Sales Order Tag",3,"ngModelChange","items","ngModel"],[1,"d-flex","align-items-center","gap-5"],[1,"w-100"],["placeholder","From","appearance","outline","name","From",1,"me-4",3,"dateChange","isFloatingLabel","date","hidelClearBtn"],[3,"timeChange","time","fullWidth"],["placeholder","To","appearance","outline","name","To",1,"me-4",3,"dateChange","isFloatingLabel","hidelClearBtn","date"],[3,"data","printTemplate","config","workOrderMode","fullMode","stylesheet"],[1,"d-print-none","mt-8"],[2,"border-top-style","dotted","margin-bottom","5px"],[1,"page-break"]],template:function(r,e){if(r&1){let i=T();n(0,"mainpanel-cmp",1),f("textChange",function(w){return p(i),_(e.pageData.Filter.Number,w)||(e.pageData.Filter.Number=w),m(w)}),y("onSubmit",function(){return p(i),m(e.onFilter())}),n(1,"actions"),C(2,pe,4,0,"button",2),b(3,"async"),n(4,"button",3),y("click",function(){return p(i),m(e.onNewPrint())}),u(5,"New"),a()(),n(6,"div",4),C(7,me,21,14,"ng-template",null,0,O),a(),n(9,"content")(10,"div",5),C(11,de,3,0,"ng-container",6),b(12,"async"),a()()()}if(r&2){let i;l("pageData",e.menuData)("hideSearchBox",!0),g("text",e.pageData.Filter.Number),l("hideSearchDropdown",!0),c(2),A(((i=x(3,6,e.receipts$))==null||i.Data==null?null:i.Data.length)>0?2:-1),c(9),l("ngIf",x(12,8,e.printTemplates&&e.receipts$))}},dependencies:[R,L,N,oe,ae,$,Z,te,Q,ne,ie,ee,U,j,G,re],styles:["input.p-inputtext{height:46.63px;border-color:#0000001f!important} input.p-inputtext :hover{border-color:#0000001f!important}@media print{.page-break[_ngcontent-%COMP%]{page-break-after:always}}"]})};export{le as BulkInvoiceA4Component};
@@ -1,4 +1,4 @@
1
- import{a as Ht,b as jt}from"./chunk-NPJ272AZ.js";import{a as Do}from"./chunk-UX2MPDGZ.js";import{a as uo}from"./chunk-TK5H65DN.js";import{a as Ci}from"./chunk-6L6CIH5M.js";import{e as Co}from"./chunk-CILKE53W.js";import{a as ze}from"./chunk-3PXI2XBC.js";import{a as hi,b as Se}from"./chunk-THRGCK26.js";import{a as so}from"./chunk-DYCGOJEI.js";import{b as bo}from"./chunk-HRMJHSXP.js";import{d as yo}from"./chunk-M6P3HBWJ.js";import{a as _o}from"./chunk-W2UCLTBY.js";import{a as go}from"./chunk-UU5RJKWG.js";import{a as de,b as Te,e as Oo}from"./chunk-NRAL4DDE.js";import{b as ho}from"./chunk-7BU64MD2.js";import{a as mo,b as So,c as Po}from"./chunk-WAXN55HD.js";import{a as po}from"./chunk-TIN7QXDO.js";import{a as Io}from"./chunk-5VAXIJEW.js";import{g as lo}from"./chunk-Z32NRI5K.js";import{d as fi}from"./chunk-JCT27TRG.js";import{b as un,c as co}from"./chunk-H2VTVYZY.js";import{a as pn,b as Bt,c as dn}from"./chunk-VOU4625O.js";import{b as ao}from"./chunk-MUCQWTKH.js";import{a as Jn}from"./chunk-O7MCO2N7.js";import{a as Pt}from"./chunk-UZKYLAUE.js";import{a as fo}from"./chunk-EW42TM43.js";import{a as vi,b as _i,c as yi}from"./chunk-47MDCKEY.js";import{p as Yn}from"./chunk-GSQJO7HP.js";import{d as zn}from"./chunk-KG4DA565.js";import{a as vo}from"./chunk-TGAOY65D.js";import{a as Mo}from"./chunk-IVP3GL2V.js";import{a as it,b as st,c as pe}from"./chunk-HT35KHLT.js";import{h as Kn}from"./chunk-6ZOGADBZ.js";import{a as Xn,c as bt}from"./chunk-HA2GY7XU.js";import{B as oo,C as ee,D as ye,G as ro,u as Z,v as X,w as yt}from"./chunk-X6LIVARI.js";import{b as di,c as Lt}from"./chunk-CIBQBSM6.js";import{G as St,O as gi,P as Q,g as eo,n as ui,o as to,q as io,u as no}from"./chunk-5UCQBOD6.js";import{a as tt}from"./chunk-ZT4RBJMM.js";import{a as Fn,c as Ln}from"./chunk-GIKR6Y2K.js";import{e as _t,f as Zn}from"./chunk-VMY3JQDA.js";import{a as se,b as $n,e as K,f as me,g as xe}from"./chunk-D35OBUDE.js";import{a as le}from"./chunk-2FWFPV5I.js";import{D as mi,c as De,e as ci,h as _e,i as Bn,k as Hn,l as Ke,n as jn,o as Me,p as Qn,s as vt,v as Un,w as Wn,y as Gn,z as qn}from"./chunk-P7HKWFZT.js";import{a as h,d as pi}from"./chunk-AHCRE4GP.js";import{a as Vn}from"./chunk-KRC5LE5H.js";import{$ as ti,$a as l,$b as Ft,$c as xn,Ac as M,Bc as ie,Cc as Ct,Db as R,E as re,Eb as gt,Fc as Oe,Gb as ft,Hb as ht,I as et,Ia as ni,Ib as a,Ja as mn,Jb as s,Kb as _,Lb as H,M as dt,Ma as q,Mb as j,N as Be,Nb as si,Ob as I,Pc as qe,Q as ke,Qb as b,Qd as Nn,Rb as d,Rd as An,Td as kn,Va as Ge,Vd as B,Wa as ut,Wc as Fe,Xa as Pn,Y as Ve,Yc as ve,Yd as Ie,Zb as kt,Zc as oe,_b as Vt,_c as In,aa as Y,ad as Tn,b as Zt,bd as wn,cd as $e,d as Ae,da as Pe,db as S,dc as W,e as Ce,ec as m,ed as Je,fa as ae,fc as D,gc as O,gd as z,hc as li,ib as oi,ic as Dn,ja as x,jc as k,jd as ce,k as mt,ka as ii,kb as E,kc as N,lb as ri,lc as V,ma as g,n as bn,na as w,o as Ee,p as pt,q as Xt,qb as f,r as ei,rc as F,sc as He,t as $,td as Rn,u as We,ub as On,uc as Mn,v as Sn,va as C,vb as p,wa as v,xd as En,zb as ai,zc as y}from"./chunk-DZT5XHBQ.js";import{a as Yt,h as Xe,j as Kt}from"./chunk-7DCB7DB2.js";var je=class{constructor(e){this.roleService=e;e&&this.setRole()}_Retrieve;_DateEditor;_NumberEditor;_PriceVisible;_UnitPriceEditor;_PricebookSelector;_Cost;_Return;_Discount;_SalesPerson;_PriceMinimum;_Payment;_CreditSalesLock;_CustomerInputLock;_PaymentCodeLock;_Shipping;_Tax;_DeleteItem;_BundlingPrice;_EmailRestriction;_ParkedDeletionAuthorized;_SellEditor;_ContactCreate;_PrepaidPackageCreate;_Order;_Reprint;_Contacts;_ContactsCreate;_InventoryView;_DebtView;_ClearCart;_SellDelete;_DeliveryEditor;_CouponInputLock;_Park;_Commission;setRole(){this._Retrieve=this.roleService.sell.RetrieveR,this._DateEditor=this.roleService.global.Date,this._NumberEditor=this.roleService.sell.Number,this._PriceVisible=this.roleService.sell.PriceVisible,this._SalesPerson=this.roleService.sell.SalesPerson,this._UnitPriceEditor=this.roleService.sell.UnitPriceEditor,this._PricebookSelector=this.roleService.sell.PricebookSelector,this._Cost=this.roleService.product.Cost,this._Return=this.roleService.sell.Return,this._Discount=this.roleService.sell.Discount,this._PriceMinimum=this.roleService.sell.PriceMinimum,this._Payment=this.roleService.sell.Payment,this._CreditSalesLock=this.roleService.sell.CreditSalesLock,this._CustomerInputLock=this.roleService.sell.CustomerInputLock,this._PaymentCodeLock=this.roleService.sell.PaymentCodeLock,this._Shipping=this.roleService.sell.Shipping,this._Tax=this.roleService.sell.Tax,this._DeleteItem=this.roleService.sell.DeleteItem,this._BundlingPrice=this.roleService.sell.BundlingPrice,this._EmailRestriction=this.roleService.sell.Email,this._SellEditor=this.roleService.sell.Edit,this._ContactCreate=this.roleService.contact.Create,this._PrepaidPackageCreate=this.roleService.prepaidPackage.Create,this._Order=this.roleService.order.View,this._Contacts=this.roleService.contact.View,this._ContactsCreate=this.roleService.contact.Create,this._InventoryView=this.roleService.inventory.View,this._DebtView=this.roleService.debt.View,this._ClearCart=this.roleService.sell.DeleteItem,this._SellDelete=this.roleService.sell.Delete,this._DeliveryEditor=this.roleService.logistic.Edit,this._Reprint=this.roleService.order.Print,this._CouponInputLock=this.roleService.sell.CouponInputLock,this._Park=this.roleService.sell.Park,this._Commission=this.roleService.product.CommissionView}get Park(){return this._Park}get CouponInputLock(){return this._CouponInputLock}set CouponInputLock(e){this._CouponInputLock=e}get Retrieve(){return this._Retrieve}get DateEditor(){return this._DateEditor}set DateEditor(e){this._DateEditor=e}get NumberEditor(){return this._NumberEditor}set NumberEditor(e){this._NumberEditor=e}get PriceVisible(){return this._PriceVisible}get UnitPriceEditor(){return this._UnitPriceEditor}set UnitPriceEditor(e){this._UnitPriceEditor=e}get PricebookSelector(){return this._PricebookSelector}set PricebookSelector(e){this._PricebookSelector=e}get Cost(){return this._Cost}get Return(){return this._Return}set Return(e){this._Return=e}get Discount(){return this._Discount}set Discount(e){this._Discount=e}get SalesPerson(){return this._SalesPerson}get PriceMinimum(){return this._PriceMinimum}get Payment(){return this._Payment}get CreditSalesLock(){return this._CreditSalesLock}get CustomerInputLock(){return this._CustomerInputLock}get PaymentCodeLock(){return this._PaymentCodeLock}get Shipping(){return this._Shipping}get Tax(){return this._Tax}set Tax(e){this._Tax=e}get DeleteItem(){return this._DeleteItem}set DeleteItem(e){this._DeleteItem=e}get BundlingPrice(){return this._BundlingPrice}get Email(){return this._EmailRestriction}get ParkedDeletionAuthorized(){return this._ParkedDeletionAuthorized}set ParkedDeletionAuthorized(e){this._ParkedDeletionAuthorized=e}get SellEditor(){return this._SellEditor}get PrepaidPackageCreate(){return this._PrepaidPackageCreate}get Order(){return this._Order}get Reprint(){return this._Reprint}get Contacts(){return this._Contacts}get ContactsCreate(){return this._ContactsCreate}get InventoryView(){return this._InventoryView}get DebtView(){return this._DebtView}get ClearCartRestriction(){return this._ClearCart}get SellDelete(){return this._SellDelete}get DeliveryEditor(){return this._DeliveryEditor}get Commission(){return this._Commission}};var Qt=class{DeliveryEntityID;Type;NewOrderID;constructor(){this.DeliveryEntityID="",this.Type=3}};var G=class{Order;Invoice;Shipping;Action;Payments;Items;CartItems;ContactName;SplitParkLabel;get cartQuantity(){let e=0;for(let t of this.CartItems)e+=t.Quantity;return e}constructor(){this.Order=new un,this.Invoice=new Bt,this.Shipping=new dn,this.Action=new Qt,this.Payments=Array(),this.Items=Array(),this.CartItems=Array(),this.ContactName=""}get TotalPaidAmount(){let e=0;return this.Payments.forEach(t=>{e+=t.PaidAmount}),e}get RedeemableAmount(){let e=this.CartItems.filter(t=>t.Variant.PaymentTypeID!=1);return this.GetAmountByCart(e)}get TotalQuantity(){let e=0;return this.CartItems.forEach(t=>{t.PromotionGift||(e+=t.Quantity)}),e}get CashOnlyAmount(){let e=this.CartItems.filter(t=>t.Variant.PaymentTypeID==1);return this.GetAmountByCart(e)}get PointOnlyAmount(){let e=this.CartItems.filter(t=>t.Variant.PaymentTypeID==2);return this.GetAmountByCart(e)}get PrepaidPackageItem(){return this.CartItems.filter(t=>t.Variant.TypeID==10)}GetAmountByCart(e){let t=0;return e.forEach(i=>{t+=i.Total}),t=t*(100-this.Order.Discount)/100,t=t*(100-this.Order.Discount2)/100,t}getRewards(){return this.CartItems.filter(t=>t.PromotionGift)}};Xe([it(()=>un)],G.prototype,"Order",2),Xe([it(()=>Bt)],G.prototype,"Invoice",2),Xe([it(()=>dn)],G.prototype,"Shipping",2),Xe([it(()=>Qt)],G.prototype,"Action",2),Xe([it(()=>ze)],G.prototype,"Payments",2),Xe([it(()=>hi)],G.prototype,"Items",2),Xe([it(()=>Se)],G.prototype,"CartItems",2);var bi=class{Success;Message;message;ObjectID;SalesOrderID;OutDeliveryID;Contact;LoyaltyPoint;InvoiceNumber;Creator;OrderTimeString;PrintMode;PaymentStateID;PaymentStateLabel;Final;constructor(){this.Success=!0,this.Message="",this.ObjectID="",this.SalesOrderID="",this.OutDeliveryID="",this.Contact=null,this.LoyaltyPoint="",this.InvoiceNumber="",this.Creator="",this.OrderTimeString="",this.PrintMode=0,this.PaymentStateID=0,this.PaymentStateLabel="",this.Final=0}};var Ot=class n{constructor(e,t,i,o){this.httpService=e;this._localDataService=t;this._onlineStatusService=i;this._toastrService=o;this._onlineStatusService.getOnlineStatus$().subscribe(r=>{this.isOnline=r})}_Data=new Ce(null);Data$=this._Data.pipe(ke(),re(e=>e!==null));isOnline;get Data(){return this._Data.value}pushNewValue(e){this._Data.next(e)}getSalesOrderPrint(e){return this.httpService.post("/API/POS/GetSalesOrderPrint",{TemplateID:e})}submitOrder(e,t){let i=this.generatePOSDataForSubmission(e,this.isOnline);if(this.isOnline)return this.submitOnline(i).pipe(this.handleTimeOutError(i));if(t.ModuleSell.EnableOfflineTransaction)return this._localDataService.syncOrder(i).pipe($(()=>this.generateCompleteData(i)));this._toastrService.warning("Offline order is not Supported!","Info!")}uploadOfflineOrder(e){return this._localDataService.uploadSingleOrder(e).pipe(et(t=>t?.message?.includes("objectStore does not exists")?this.submitOnline(e):pt(()=>t)))}submitOnline(e){return this.httpService.post(Q.SubmitOrder,e,Vn.pos.submitOrderTimeout)}handleTimeOutError(e){return Zt(et(t=>{if(t instanceof ei||t?.name=="TimeoutError"){let i=this.generateCompleteData(e);this.pushNewValue(i)}throw t}))}generatePOSDataForSubmission(e,t=!0){let i=Object.assign(new G,e);i.Items=[],i.Order.CustomerID==null&&(i.Order.CustomerID=h.GuidEmpty),i.Order.SalesID==null&&(i.Order.SalesID=h.GuidEmpty);let o=1;i.Payments=i.Payments.map(c=>(c.Date=i.Order.Date,c.Index=o,o++,delete c.TypeID,c));let r=1;for(let c of i.CartItems){let u=new hi;u.ID=c.ID,u.VariantID=c.VariantID,u.Quantity=c.Quantity,u.Cost=c.Cost,u.Price=c.Price,u.Discount=c.Discount,u.DiscountAmount=c.DiscountAmount,u.Note=c.Note,u.Taxable=c.Variant.Taxable,u.LoyaltyPoint=c.LoyaltyPoint,u.UnitCost=c.Cost,u.UnitPrice=c.Price,u.UnitPriceOriginal=c.UnitPriceOriginal,u.UnitExpense=c.UnitExpense,u.EntityID=c.EntityID,u.Index=r,u.UnitQuantity=c.UnitQuantity,u.PriceTypeID=c.PriceTypeID,u.PriceNote=c.PriceNote,u.Splited=c.SplitQuantity>0,u.SplitQuantity=c.SplitQuantity,u.InventoryTypeID=c.Variant.TypeID,u.SalesID="",u.Serial=c.Serial,c.SalesID&&(u.SalesID=c.SalesID),delete c.CouponDiscount,i.Items.push(u),r++}return t?(delete i.CartItems,delete i.Order.ClientTimestamp):i.Order.ClientTimestamp=new Date,i}generateCompleteData(e){let t=new bi;return t.InvoiceNumber=e.Order.Number,t.OrderTimeString=new Date().toString(),t.PaymentStateID=e.Action?.Type,t.PaymentStateLabel="Offline",t.Success=!0,t.OutDeliveryID=e.Action.DeliveryEntityID,t}GetReturnInvoice(e,t){return this.httpService.get(Q.ReturInvoice,[{key:"EntityID",value:t},{key:"Number",value:e}])}GetInvoiceBySoID(e){return this.httpService.get(Q.GetPOSDataByID,[{key:"ID",value:e}])}UploadCSV(e,t){let i={CartItems:e,EntityID:t};return this.httpService.post(Q.UploadCsv,i)}sendEmail(e,t){return new Promise((i,o)=>{this._localDataService.isProductFromServer().subscribe(r=>{if(r){let c={invoiceID:t,email:e};this.httpService.post(Q.SendInvoiceEmail,c).subscribe({next:u=>{i(u)},error:u=>{o(u)}})}else o(ee.wrongOfflineAction)})})}sendWhatsaap(e,t){let i={InvoiceID:e,PhoneNumber:t};return this.httpService.post(Q.SendInvoiceWhatsapp,i)}createCustomerByInvoice(e,t){let i={InvoiceID:e,Mobile:t};return this.httpService.post(Q.CreateCustomerInvoice,i)}saveCommission(e,t){let i={SOID:e,commission:t};return this.httpService.POSText("/API/Transaction/SetCommission",i)}generateReceiptA4(e){let t={ID:e};return this.httpService.post(Q.InvoiceA4,t)}getVacant(e){return this.httpService.get(Q.GetVacant,[{key:"EntityID",value:e}])}static \u0275fac=function(t){return new(t||n)(g(Ie),g(ye),g(de),g(B))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var J=class n{constructor(e,t,i){this._localDataService=e;this._onlineStatusService=t;this._httpService=i;this._onlineStatusService.getOnlineStatus$().subscribe(o=>{this.isOnline=o})}_Data=new Ce(null);Data$=this._Data.asObservable().pipe(re(e=>e!==null),ke());isOnline;get Data(){return this._Data.value}pushNewValue(e){this._Data.next(e)}requestObservable(){return this.isOnline?this._httpService.get(Q.GetPOSStorage).pipe($(e=>({data:e,type:"Online"}))):this._localDataService.getPOSStorage().pipe(re(e=>e!=null),$(e=>({data:e,type:"Offline"})))}getOutletName(e){return this.Data.Entities.find(i=>i.ID==e)?.Name}static \u0275fac=function(t){return new(t||n)(g(ye),g(de),g(Ie))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var be=class n{constructor(e){this.roleService=e;this.pushNewValue(new je(e))}_Data=new Ce(new je(null));get Data(){return this._Data.value}Data$=this._Data.asObservable();pushNewValue(e){this._Data.next(e)}static \u0275fac=function(t){return new(t||n)(g(pi))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var Gt=class{ID;Code;EntityID;Name;Description;Start;StartDisplay;State;Open;CashierID;OpeningCash;EntityName;LoginID;Active;CustomerDisplayEnabled;OvoConfigurationID;CustomerDisplayID;ListImage;Suspended};var Go=n=>({active:n}),qo=n=>({gray:n});function $o(n,e){if(n&1){let t=I();a(0,"span",17),b("click",function(o){C(t);let r=d().$implicit;return d().closeRegister(r),v(o.stopPropagation())}),s()}}function Jo(n,e){n&1&&(a(0,"div")(1,"span",18),m(2,"VACANT"),s()())}function zo(n,e){if(n&1&&(a(0,"div")(1,"span",19),_(2,"i",20),a(3,"font"),m(4),s()(),a(5,"span",21),_(6,"i",22),a(7,"font"),m(8),s()()()),n&2){let t=d().$implicit;l(4),D(t.LoginID),l(4),O("",t.StartDisplay.split(" ")[3]," - Now")}}function Yo(n,e){if(n&1){let t=I();a(0,"div",9)(1,"div",10)(2,"div",11)(3,"h5",12),b("click",function(){let o=C(t).$implicit,r=d();return v(r.select(o))}),a(4,"span"),_(5,"i",13),m(6),y(7,"limitTo"),s(),f(8,$o,1,0,"span",14),s(),a(9,"div",15),b("click",function(){let o=C(t).$implicit,r=d();return v(r.select(o))}),f(10,Jo,3,0,"div",16)(11,zo,9,2,"div",16),s()()()()}if(n&2){let t=e.$implicit,i=d();l(),p("ngClass",t.Active?"active":""),l(),p("ngClass",F(11,Go,(t==null?null:t.ID)==(i.selectedRegister==null?null:i.selectedRegister.ID))),l(),p("ngClass",F(13,qo,t!=i.selectedRegister)),l(3),D(ie(7,8,t.Name,15)),l(2),p("ngIf",t.State!="Close"),l(),p("ngSwitch",t.State),l(),p("ngSwitchCase","Close"),l(),p("ngSwitchCase","Open")}}var Si=class n{constructor(e,t,i,o,r){this._dialogRef=e;this._outletService=t;this._posService=i;this._userRoleService=o;this.router=r}originalSelectedRegister=null;registers;searchInput="";selectedRegister=new Gt;modalConfig=new Z;role;get AppConfigJSON(){return this._posService.Data.AppConfigJSON}destroy$=new Ae;ngOnInit(){this.subscribeToObsChanges(),this.initModalConfig()}subscribeToObsChanges(){this._posService.Data$.pipe(Pe(this.destroy$)).subscribe(e=>{this.registers=e.Registers}),this._outletService.Data$.pipe(Pe(this.destroy$)).subscribe(e=>{this.selectedRegister=this.findOutletRegisterById(e.RegisterID),this.originalSelectedRegister=this.selectedRegister?Yt({},this.selectedRegister):null}),this._userRoleService.Data$.pipe(Pe(this.destroy$)).subscribe(e=>{this.role=e})}findOutletRegisterById(e){let t=this.registers.find(i=>i.ID===e);return t||new Gt}initModalConfig(){this.modalConfig.hideClose=!1,this.modalConfig.hideCancel=!1,this.modalConfig.bodyScrollable=!0,this.modalConfig.title="Choose an outlet"}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}close(){this._dialogRef.close()}onOk(){if(this.selectedRegister.ID==null){alert("Please select a register first!");return}this._outletService.pushNewRegister(this.selectedRegister),this._dialogRef.close({selectedRegister:this.selectedRegister,openStartingCashDialog:this.selectedRegister.ID!=this.originalSelectedRegister?.ID})}select(e){if(this.AppConfigJSON.ModuleShift.Closure.Enabled)if(this.selectedRegister.ID!=null&&this.selectedRegister.Open&&e.CashierID==null)confirm("You already have an active register with "+this.selectedRegister.Name+`!
1
+ import{a as Ht,b as jt}from"./chunk-NPJ272AZ.js";import{a as Do}from"./chunk-UX2MPDGZ.js";import{a as uo}from"./chunk-TK5H65DN.js";import{a as Ci}from"./chunk-6L6CIH5M.js";import{e as Co}from"./chunk-HWU7VPX4.js";import{a as ze}from"./chunk-3PXI2XBC.js";import{a as hi,b as Se}from"./chunk-THRGCK26.js";import{a as so}from"./chunk-DYCGOJEI.js";import{b as bo}from"./chunk-HRMJHSXP.js";import{d as yo}from"./chunk-M6P3HBWJ.js";import{a as _o}from"./chunk-W2UCLTBY.js";import{a as go}from"./chunk-UU5RJKWG.js";import{a as de,b as Te,e as Oo}from"./chunk-LVTGTXYR.js";import{b as ho}from"./chunk-7BU64MD2.js";import{a as mo,b as So,c as Po}from"./chunk-ADCACICM.js";import{a as po}from"./chunk-PP2K4DVZ.js";import{a as Io}from"./chunk-5VAXIJEW.js";import{g as lo}from"./chunk-UCSQUJJW.js";import{d as fi}from"./chunk-5ZWOT4WG.js";import{b as un,c as co}from"./chunk-H2VTVYZY.js";import{a as pn,b as Bt,c as dn}from"./chunk-VOU4625O.js";import{b as ao}from"./chunk-MUCQWTKH.js";import{a as Jn}from"./chunk-O7MCO2N7.js";import{a as Pt}from"./chunk-UZKYLAUE.js";import{a as fo}from"./chunk-KER7KQ5L.js";import{a as vi,b as _i,c as yi}from"./chunk-47MDCKEY.js";import{p as Yn}from"./chunk-HSZIMZAT.js";import{d as zn}from"./chunk-BRUTIHV5.js";import{a as vo}from"./chunk-TGAOY65D.js";import{a as Mo}from"./chunk-IVP3GL2V.js";import{a as it,b as st,c as pe}from"./chunk-HT35KHLT.js";import{h as Kn}from"./chunk-6ZOGADBZ.js";import{a as Xn,c as bt}from"./chunk-HA2GY7XU.js";import{B as oo,C as ee,D as ye,G as ro,u as Z,v as X,w as yt}from"./chunk-7ARFB5UX.js";import{b as di,c as Lt}from"./chunk-CIBQBSM6.js";import{G as St,O as gi,P as Q,g as eo,n as ui,o as to,q as io,u as no}from"./chunk-5UCQBOD6.js";import{a as tt}from"./chunk-ZT4RBJMM.js";import{a as Fn,c as Ln}from"./chunk-GIKR6Y2K.js";import{e as _t,f as Zn}from"./chunk-VMY3JQDA.js";import{a as se,b as $n,e as K,f as me,g as xe}from"./chunk-D35OBUDE.js";import{a as le}from"./chunk-2FWFPV5I.js";import{D as mi,c as De,e as ci,h as _e,i as Bn,k as Hn,l as Ke,n as jn,o as Me,p as Qn,s as vt,v as Un,w as Wn,y as Gn,z as qn}from"./chunk-P7HKWFZT.js";import{a as h,d as pi}from"./chunk-AHCRE4GP.js";import{a as Vn}from"./chunk-CRTHBX5Z.js";import{$ as ti,$a as l,$b as Ft,$c as xn,Ac as M,Bc as ie,Cc as Ct,Db as R,E as re,Eb as gt,Fc as Oe,Gb as ft,Hb as ht,I as et,Ia as ni,Ib as a,Ja as mn,Jb as s,Kb as _,Lb as H,M as dt,Ma as q,Mb as j,N as Be,Nb as si,Ob as I,Pc as qe,Q as ke,Qb as b,Qd as Nn,Rb as d,Rd as An,Td as kn,Va as Ge,Vd as B,Wa as ut,Wc as Fe,Xa as Pn,Y as Ve,Yc as ve,Yd as Ie,Zb as kt,Zc as oe,_b as Vt,_c as In,aa as Y,ad as Tn,b as Zt,bd as wn,cd as $e,d as Ae,da as Pe,db as S,dc as W,e as Ce,ec as m,ed as Je,fa as ae,fc as D,gc as O,gd as z,hc as li,ib as oi,ic as Dn,ja as x,jc as k,jd as ce,k as mt,ka as ii,kb as E,kc as N,lb as ri,lc as V,ma as g,n as bn,na as w,o as Ee,p as pt,q as Xt,qb as f,r as ei,rc as F,sc as He,t as $,td as Rn,u as We,ub as On,uc as Mn,v as Sn,va as C,vb as p,wa as v,xd as En,zb as ai,zc as y}from"./chunk-DZT5XHBQ.js";import{a as Yt,h as Xe,j as Kt}from"./chunk-7DCB7DB2.js";var je=class{constructor(e){this.roleService=e;e&&this.setRole()}_Retrieve;_DateEditor;_NumberEditor;_PriceVisible;_UnitPriceEditor;_PricebookSelector;_Cost;_Return;_Discount;_SalesPerson;_PriceMinimum;_Payment;_CreditSalesLock;_CustomerInputLock;_PaymentCodeLock;_Shipping;_Tax;_DeleteItem;_BundlingPrice;_EmailRestriction;_ParkedDeletionAuthorized;_SellEditor;_ContactCreate;_PrepaidPackageCreate;_Order;_Reprint;_Contacts;_ContactsCreate;_InventoryView;_DebtView;_ClearCart;_SellDelete;_DeliveryEditor;_CouponInputLock;_Park;_Commission;setRole(){this._Retrieve=this.roleService.sell.RetrieveR,this._DateEditor=this.roleService.global.Date,this._NumberEditor=this.roleService.sell.Number,this._PriceVisible=this.roleService.sell.PriceVisible,this._SalesPerson=this.roleService.sell.SalesPerson,this._UnitPriceEditor=this.roleService.sell.UnitPriceEditor,this._PricebookSelector=this.roleService.sell.PricebookSelector,this._Cost=this.roleService.product.Cost,this._Return=this.roleService.sell.Return,this._Discount=this.roleService.sell.Discount,this._PriceMinimum=this.roleService.sell.PriceMinimum,this._Payment=this.roleService.sell.Payment,this._CreditSalesLock=this.roleService.sell.CreditSalesLock,this._CustomerInputLock=this.roleService.sell.CustomerInputLock,this._PaymentCodeLock=this.roleService.sell.PaymentCodeLock,this._Shipping=this.roleService.sell.Shipping,this._Tax=this.roleService.sell.Tax,this._DeleteItem=this.roleService.sell.DeleteItem,this._BundlingPrice=this.roleService.sell.BundlingPrice,this._EmailRestriction=this.roleService.sell.Email,this._SellEditor=this.roleService.sell.Edit,this._ContactCreate=this.roleService.contact.Create,this._PrepaidPackageCreate=this.roleService.prepaidPackage.Create,this._Order=this.roleService.order.View,this._Contacts=this.roleService.contact.View,this._ContactsCreate=this.roleService.contact.Create,this._InventoryView=this.roleService.inventory.View,this._DebtView=this.roleService.debt.View,this._ClearCart=this.roleService.sell.DeleteItem,this._SellDelete=this.roleService.sell.Delete,this._DeliveryEditor=this.roleService.logistic.Edit,this._Reprint=this.roleService.order.Print,this._CouponInputLock=this.roleService.sell.CouponInputLock,this._Park=this.roleService.sell.Park,this._Commission=this.roleService.product.CommissionView}get Park(){return this._Park}get CouponInputLock(){return this._CouponInputLock}set CouponInputLock(e){this._CouponInputLock=e}get Retrieve(){return this._Retrieve}get DateEditor(){return this._DateEditor}set DateEditor(e){this._DateEditor=e}get NumberEditor(){return this._NumberEditor}set NumberEditor(e){this._NumberEditor=e}get PriceVisible(){return this._PriceVisible}get UnitPriceEditor(){return this._UnitPriceEditor}set UnitPriceEditor(e){this._UnitPriceEditor=e}get PricebookSelector(){return this._PricebookSelector}set PricebookSelector(e){this._PricebookSelector=e}get Cost(){return this._Cost}get Return(){return this._Return}set Return(e){this._Return=e}get Discount(){return this._Discount}set Discount(e){this._Discount=e}get SalesPerson(){return this._SalesPerson}get PriceMinimum(){return this._PriceMinimum}get Payment(){return this._Payment}get CreditSalesLock(){return this._CreditSalesLock}get CustomerInputLock(){return this._CustomerInputLock}get PaymentCodeLock(){return this._PaymentCodeLock}get Shipping(){return this._Shipping}get Tax(){return this._Tax}set Tax(e){this._Tax=e}get DeleteItem(){return this._DeleteItem}set DeleteItem(e){this._DeleteItem=e}get BundlingPrice(){return this._BundlingPrice}get Email(){return this._EmailRestriction}get ParkedDeletionAuthorized(){return this._ParkedDeletionAuthorized}set ParkedDeletionAuthorized(e){this._ParkedDeletionAuthorized=e}get SellEditor(){return this._SellEditor}get PrepaidPackageCreate(){return this._PrepaidPackageCreate}get Order(){return this._Order}get Reprint(){return this._Reprint}get Contacts(){return this._Contacts}get ContactsCreate(){return this._ContactsCreate}get InventoryView(){return this._InventoryView}get DebtView(){return this._DebtView}get ClearCartRestriction(){return this._ClearCart}get SellDelete(){return this._SellDelete}get DeliveryEditor(){return this._DeliveryEditor}get Commission(){return this._Commission}};var Qt=class{DeliveryEntityID;Type;NewOrderID;constructor(){this.DeliveryEntityID="",this.Type=3}};var G=class{Order;Invoice;Shipping;Action;Payments;Items;CartItems;ContactName;SplitParkLabel;get cartQuantity(){let e=0;for(let t of this.CartItems)e+=t.Quantity;return e}constructor(){this.Order=new un,this.Invoice=new Bt,this.Shipping=new dn,this.Action=new Qt,this.Payments=Array(),this.Items=Array(),this.CartItems=Array(),this.ContactName=""}get TotalPaidAmount(){let e=0;return this.Payments.forEach(t=>{e+=t.PaidAmount}),e}get RedeemableAmount(){let e=this.CartItems.filter(t=>t.Variant.PaymentTypeID!=1);return this.GetAmountByCart(e)}get TotalQuantity(){let e=0;return this.CartItems.forEach(t=>{t.PromotionGift||(e+=t.Quantity)}),e}get CashOnlyAmount(){let e=this.CartItems.filter(t=>t.Variant.PaymentTypeID==1);return this.GetAmountByCart(e)}get PointOnlyAmount(){let e=this.CartItems.filter(t=>t.Variant.PaymentTypeID==2);return this.GetAmountByCart(e)}get PrepaidPackageItem(){return this.CartItems.filter(t=>t.Variant.TypeID==10)}GetAmountByCart(e){let t=0;return e.forEach(i=>{t+=i.Total}),t=t*(100-this.Order.Discount)/100,t=t*(100-this.Order.Discount2)/100,t}getRewards(){return this.CartItems.filter(t=>t.PromotionGift)}};Xe([it(()=>un)],G.prototype,"Order",2),Xe([it(()=>Bt)],G.prototype,"Invoice",2),Xe([it(()=>dn)],G.prototype,"Shipping",2),Xe([it(()=>Qt)],G.prototype,"Action",2),Xe([it(()=>ze)],G.prototype,"Payments",2),Xe([it(()=>hi)],G.prototype,"Items",2),Xe([it(()=>Se)],G.prototype,"CartItems",2);var bi=class{Success;Message;message;ObjectID;SalesOrderID;OutDeliveryID;Contact;LoyaltyPoint;InvoiceNumber;Creator;OrderTimeString;PrintMode;PaymentStateID;PaymentStateLabel;Final;constructor(){this.Success=!0,this.Message="",this.ObjectID="",this.SalesOrderID="",this.OutDeliveryID="",this.Contact=null,this.LoyaltyPoint="",this.InvoiceNumber="",this.Creator="",this.OrderTimeString="",this.PrintMode=0,this.PaymentStateID=0,this.PaymentStateLabel="",this.Final=0}};var Ot=class n{constructor(e,t,i,o){this.httpService=e;this._localDataService=t;this._onlineStatusService=i;this._toastrService=o;this._onlineStatusService.getOnlineStatus$().subscribe(r=>{this.isOnline=r})}_Data=new Ce(null);Data$=this._Data.pipe(ke(),re(e=>e!==null));isOnline;get Data(){return this._Data.value}pushNewValue(e){this._Data.next(e)}getSalesOrderPrint(e){return this.httpService.post("/API/POS/GetSalesOrderPrint",{TemplateID:e})}submitOrder(e,t){let i=this.generatePOSDataForSubmission(e,this.isOnline);if(this.isOnline)return this.submitOnline(i).pipe(this.handleTimeOutError(i));if(t.ModuleSell.EnableOfflineTransaction)return this._localDataService.syncOrder(i).pipe($(()=>this.generateCompleteData(i)));this._toastrService.warning("Offline order is not Supported!","Info!")}uploadOfflineOrder(e){return this._localDataService.uploadSingleOrder(e).pipe(et(t=>t?.message?.includes("objectStore does not exists")?this.submitOnline(e):pt(()=>t)))}submitOnline(e){return this.httpService.post(Q.SubmitOrder,e,Vn.pos.submitOrderTimeout)}handleTimeOutError(e){return Zt(et(t=>{if(t instanceof ei||t?.name=="TimeoutError"){let i=this.generateCompleteData(e);this.pushNewValue(i)}throw t}))}generatePOSDataForSubmission(e,t=!0){let i=Object.assign(new G,e);i.Items=[],i.Order.CustomerID==null&&(i.Order.CustomerID=h.GuidEmpty),i.Order.SalesID==null&&(i.Order.SalesID=h.GuidEmpty);let o=1;i.Payments=i.Payments.map(c=>(c.Date=i.Order.Date,c.Index=o,o++,delete c.TypeID,c));let r=1;for(let c of i.CartItems){let u=new hi;u.ID=c.ID,u.VariantID=c.VariantID,u.Quantity=c.Quantity,u.Cost=c.Cost,u.Price=c.Price,u.Discount=c.Discount,u.DiscountAmount=c.DiscountAmount,u.Note=c.Note,u.Taxable=c.Variant.Taxable,u.LoyaltyPoint=c.LoyaltyPoint,u.UnitCost=c.Cost,u.UnitPrice=c.Price,u.UnitPriceOriginal=c.UnitPriceOriginal,u.UnitExpense=c.UnitExpense,u.EntityID=c.EntityID,u.Index=r,u.UnitQuantity=c.UnitQuantity,u.PriceTypeID=c.PriceTypeID,u.PriceNote=c.PriceNote,u.Splited=c.SplitQuantity>0,u.SplitQuantity=c.SplitQuantity,u.InventoryTypeID=c.Variant.TypeID,u.SalesID="",u.Serial=c.Serial,c.SalesID&&(u.SalesID=c.SalesID),delete c.CouponDiscount,i.Items.push(u),r++}return t?(delete i.CartItems,delete i.Order.ClientTimestamp):i.Order.ClientTimestamp=new Date,i}generateCompleteData(e){let t=new bi;return t.InvoiceNumber=e.Order.Number,t.OrderTimeString=new Date().toString(),t.PaymentStateID=e.Action?.Type,t.PaymentStateLabel="Offline",t.Success=!0,t.OutDeliveryID=e.Action.DeliveryEntityID,t}GetReturnInvoice(e,t){return this.httpService.get(Q.ReturInvoice,[{key:"EntityID",value:t},{key:"Number",value:e}])}GetInvoiceBySoID(e){return this.httpService.get(Q.GetPOSDataByID,[{key:"ID",value:e}])}UploadCSV(e,t){let i={CartItems:e,EntityID:t};return this.httpService.post(Q.UploadCsv,i)}sendEmail(e,t){return new Promise((i,o)=>{this._localDataService.isProductFromServer().subscribe(r=>{if(r){let c={invoiceID:t,email:e};this.httpService.post(Q.SendInvoiceEmail,c).subscribe({next:u=>{i(u)},error:u=>{o(u)}})}else o(ee.wrongOfflineAction)})})}sendWhatsaap(e,t){let i={InvoiceID:e,PhoneNumber:t};return this.httpService.post(Q.SendInvoiceWhatsapp,i)}createCustomerByInvoice(e,t){let i={InvoiceID:e,Mobile:t};return this.httpService.post(Q.CreateCustomerInvoice,i)}saveCommission(e,t){let i={SOID:e,commission:t};return this.httpService.POSText("/API/Transaction/SetCommission",i)}generateReceiptA4(e){let t={ID:e};return this.httpService.post(Q.InvoiceA4,t)}getVacant(e){return this.httpService.get(Q.GetVacant,[{key:"EntityID",value:e}])}static \u0275fac=function(t){return new(t||n)(g(Ie),g(ye),g(de),g(B))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var J=class n{constructor(e,t,i){this._localDataService=e;this._onlineStatusService=t;this._httpService=i;this._onlineStatusService.getOnlineStatus$().subscribe(o=>{this.isOnline=o})}_Data=new Ce(null);Data$=this._Data.asObservable().pipe(re(e=>e!==null),ke());isOnline;get Data(){return this._Data.value}pushNewValue(e){this._Data.next(e)}requestObservable(){return this.isOnline?this._httpService.get(Q.GetPOSStorage).pipe($(e=>({data:e,type:"Online"}))):this._localDataService.getPOSStorage().pipe(re(e=>e!=null),$(e=>({data:e,type:"Offline"})))}getOutletName(e){return this.Data.Entities.find(i=>i.ID==e)?.Name}static \u0275fac=function(t){return new(t||n)(g(ye),g(de),g(Ie))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var be=class n{constructor(e){this.roleService=e;this.pushNewValue(new je(e))}_Data=new Ce(new je(null));get Data(){return this._Data.value}Data$=this._Data.asObservable();pushNewValue(e){this._Data.next(e)}static \u0275fac=function(t){return new(t||n)(g(pi))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var Gt=class{ID;Code;EntityID;Name;Description;Start;StartDisplay;State;Open;CashierID;OpeningCash;EntityName;LoginID;Active;CustomerDisplayEnabled;OvoConfigurationID;CustomerDisplayID;ListImage;Suspended};var Go=n=>({active:n}),qo=n=>({gray:n});function $o(n,e){if(n&1){let t=I();a(0,"span",17),b("click",function(o){C(t);let r=d().$implicit;return d().closeRegister(r),v(o.stopPropagation())}),s()}}function Jo(n,e){n&1&&(a(0,"div")(1,"span",18),m(2,"VACANT"),s()())}function zo(n,e){if(n&1&&(a(0,"div")(1,"span",19),_(2,"i",20),a(3,"font"),m(4),s()(),a(5,"span",21),_(6,"i",22),a(7,"font"),m(8),s()()()),n&2){let t=d().$implicit;l(4),D(t.LoginID),l(4),O("",t.StartDisplay.split(" ")[3]," - Now")}}function Yo(n,e){if(n&1){let t=I();a(0,"div",9)(1,"div",10)(2,"div",11)(3,"h5",12),b("click",function(){let o=C(t).$implicit,r=d();return v(r.select(o))}),a(4,"span"),_(5,"i",13),m(6),y(7,"limitTo"),s(),f(8,$o,1,0,"span",14),s(),a(9,"div",15),b("click",function(){let o=C(t).$implicit,r=d();return v(r.select(o))}),f(10,Jo,3,0,"div",16)(11,zo,9,2,"div",16),s()()()()}if(n&2){let t=e.$implicit,i=d();l(),p("ngClass",t.Active?"active":""),l(),p("ngClass",F(11,Go,(t==null?null:t.ID)==(i.selectedRegister==null?null:i.selectedRegister.ID))),l(),p("ngClass",F(13,qo,t!=i.selectedRegister)),l(3),D(ie(7,8,t.Name,15)),l(2),p("ngIf",t.State!="Close"),l(),p("ngSwitch",t.State),l(),p("ngSwitchCase","Close"),l(),p("ngSwitchCase","Open")}}var Si=class n{constructor(e,t,i,o,r){this._dialogRef=e;this._outletService=t;this._posService=i;this._userRoleService=o;this.router=r}originalSelectedRegister=null;registers;searchInput="";selectedRegister=new Gt;modalConfig=new Z;role;get AppConfigJSON(){return this._posService.Data.AppConfigJSON}destroy$=new Ae;ngOnInit(){this.subscribeToObsChanges(),this.initModalConfig()}subscribeToObsChanges(){this._posService.Data$.pipe(Pe(this.destroy$)).subscribe(e=>{this.registers=e.Registers}),this._outletService.Data$.pipe(Pe(this.destroy$)).subscribe(e=>{this.selectedRegister=this.findOutletRegisterById(e.RegisterID),this.originalSelectedRegister=this.selectedRegister?Yt({},this.selectedRegister):null}),this._userRoleService.Data$.pipe(Pe(this.destroy$)).subscribe(e=>{this.role=e})}findOutletRegisterById(e){let t=this.registers.find(i=>i.ID===e);return t||new Gt}initModalConfig(){this.modalConfig.hideClose=!1,this.modalConfig.hideCancel=!1,this.modalConfig.bodyScrollable=!0,this.modalConfig.title="Choose an outlet"}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}close(){this._dialogRef.close()}onOk(){if(this.selectedRegister.ID==null){alert("Please select a register first!");return}this._outletService.pushNewRegister(this.selectedRegister),this._dialogRef.close({selectedRegister:this.selectedRegister,openStartingCashDialog:this.selectedRegister.ID!=this.originalSelectedRegister?.ID})}select(e){if(this.AppConfigJSON.ModuleShift.Closure.Enabled)if(this.selectedRegister.ID!=null&&this.selectedRegister.Open&&e.CashierID==null)confirm("You already have an active register with "+this.selectedRegister.Name+`!
2
2
  Do you want to end your session?`)&&(this.close(),this.router.navigate(["menu/Shift/Main/My_Shift"],{queryParams:{RegisterID:e.ID}}));else if(!e.Open||this.selectedRegister.ID==e.ID)this.selectedRegister=e;else{if(this.role.SellEditor==!1){alert("You cannot end shift for Register "+e.Name+" - Unauthorized Access");return}alert("This Register has already active register, Are you sure you want to end this register?"),this.close(),this.router.navigate(["/menu/Shift/Main/My_Shift"],{queryParams:{RegisterID:e.ID}})}else this.selectedRegister=e}closeRegister(e){let t=this.selectedRegister.ID;if(this.role.SellEditor==!1){alert("You cannot end shift for Register "+e.Name+" - Unauthorized Access");return}t==e.ID?this.router.navigate(["/menu/Shift/Main/My_Shift"]):this.router.navigate(["/menu/Shift/Main/My_Shift"],{queryParams:{RegisterID:e.ID}}),this.close()}static \u0275fac=function(t){return new(t||n)(S(K),S(te),S(J),S(be),S(Nn))};static \u0275cmp=E({type:n,selectors:[["pos-modal-register"]],standalone:!1,decls:11,vars:7,consts:[[3,"onOk","onCancel","onClose","config"],[1,"ms-0","mb-8",2,"width","200px",3,"hidden"],[1,"input-group","mb-3"],[1,"input-group-text","txtFilter"],["aria-hidden","true",1,"fa","fa-magnifying-glass"],["data-cy","SearchOutlet","type","text","placeholder","Filter by Name","aria-label","Search",1,"txtFilter","form-control","border-start-0",3,"ngModelChange","ngModel"],[1,"container"],[1,"row",2,"width","600px"],["class","col-4","data-cy","registers",4,"ngFor","ngForOf"],["data-cy","registers",1,"col-4"],[1,"card","border-0",3,"ngClass"],[1,"card-body","p-0",3,"ngClass"],[1,"card-title","mb-0",3,"click","ngClass"],[1,"fa-solid","fa-house","pe-1","fs-6"],["class","fa fa-xmark-circle fa-lg position-absolute","style","text-shadow: 0 1px 0 #afafaf; right: 5px; top: 16px",3,"click",4,"ngIf"],[1,"card-text","px-0","py-2",3,"click","ngSwitch"],[4,"ngSwitchCase"],[1,"fa","fa-xmark-circle","fa-lg","position-absolute",2,"text-shadow","0 1px 0 #afafaf","right","5px","top","16px",3,"click"],[1,"idle"],[1,"cashier"],["aria-hidden","true",1,"fa","fa-user","pe-2"],[1,"open"],["aria-hidden","true",1,"fa-regular","fa-clock","pe-2"]],template:function(t,i){t&1&&(a(0,"modal-material",0),b("onOk",function(){return i.onOk()})("onCancel",function(){return i.close()})("onClose",function(){return i.close()}),a(1,"content")(2,"div",1)(3,"div",2)(4,"span",3),_(5,"i",4),s(),a(6,"input",5),V("ngModelChange",function(r){return N(i.searchInput,r)||(i.searchInput=r),r}),s()()(),a(7,"div",6)(8,"div",7),f(9,Yo,12,15,"div",8),y(10,"FilterByName"),s()()()()),t&2&&(p("config",i.modalConfig),l(2),p("hidden",i.registers.length<=6),l(4),k("ngModel",i.searchInput),l(3),p("ngForOf",ie(10,4,i.registers,i.searchInput)))},dependencies:[Fe,ve,oe,In,xn,De,_e,Me,X,ui,no],styles:[".text-warning[_ngcontent-%COMP%]{color:var(--bs-warning)!important}.bg-light-gray[_ngcontent-%COMP%]{background-color:var(--bs-light-gray);--bs-bg-opacity: .15 !important}.bg-gradient-danger[_ngcontent-%COMP%]{background:repeating-linear-gradient(-60deg,#f8d7da,#f8d7da 15px,#f5c6cb 15px 30px)!important}.bg-gradient-success[_ngcontent-%COMP%]{background:repeating-linear-gradient(-60deg,#beeebb,#beeebb 15px,#afeba8 15px 30px)!important}.bg-gradient-warning[_ngcontent-%COMP%]{background:repeating-linear-gradient(-60deg,#fcf3cf,#fcf3cf 15px,#f9e79f 15px 30px)!important}.bg-light-orange[_ngcontent-%COMP%]{background-color:var(--bs-light-orange);--bs-bg-opacity: .15 !important}.text-danger[_ngcontent-%COMP%]{color:#fb404b!important}.text-dark[_ngcontent-%COMP%]{color:#5e5e5e!important}.text-success[_ngcontent-%COMP%]{color:#87cb16!important}.text-black[_ngcontent-%COMP%]{color:#000!important}.text-white[_ngcontent-%COMP%]{color:var(--bs-white)!important}.btn-light-blue[_ngcontent-%COMP%]{color:#212529;background-color:#dfeffc!important;border-color:#dfeffc}.btn-light-blue[_ngcontent-%COMP%]:hover{color:#212529;background-color:#bcdef9;border-color:#b0d8f8}.btn-light-blue[_ngcontent-%COMP%]:focus, .btn-light-blue.focus[_ngcontent-%COMP%]{color:#212529;background-color:#bcdef9;border-color:#b0d8f8;box-shadow:0 0 0 .2rem #c3d1dc80}.btn-light-blue.disabled[_ngcontent-%COMP%], .btn-light-blue[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#dfeffc;border-color:#dfeffc}.btn-light-blue[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-light-blue[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-light-blue.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#b0d8f8;border-color:#a5d2f7}.btn-light-blue[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-light-blue[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-light-blue.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem #c3d1dc80}.btn-light-danger[_ngcontent-%COMP%]{color:#212529;background-color:#f8d7da!important;border-color:#f8d7da}.btn-light-danger[_ngcontent-%COMP%]:hover{color:#212529;background-color:#f5c2c7;border-color:#f1aeb5}.btn-light-danger[_ngcontent-%COMP%]:focus, .btn-light-danger.focus[_ngcontent-%COMP%]{color:#212529;background-color:#f5c2c7;border-color:#f1aeb5;box-shadow:0 0 0 .2rem #dc354540}.btn-light-danger.disabled[_ngcontent-%COMP%], .btn-light-danger[_ngcontent-%COMP%]:disabled{color:#212529;background-color:#f8d7da;border-color:#f8d7da}.btn-light-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active, .btn-light-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active, .show[_ngcontent-%COMP%] > .btn-light-danger.dropdown-toggle[_ngcontent-%COMP%]{color:#212529;background-color:#f1aeb5;border-color:#ea868f}.btn-light-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled):active:focus, .btn-light-danger[_ngcontent-%COMP%]:not(:disabled):not(.disabled).active:focus, .show[_ngcontent-%COMP%] > .btn-light-danger.dropdown-toggle[_ngcontent-%COMP%]:focus{box-shadow:0 0 0 .2rem #dc354540}.col-4[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap!important}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%]{width:180px;min-height:95px;margin-right:17px;margin-bottom:17px;position:relative}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]{display:block;outline:0;border:1px solid #B1AAAA;border-radius:5px;cursor:pointer}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%]{height:30px;border-radius:4px;padding:5px 10px;color:#fff;background:#b1aaaa;overflow:hidden}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover, .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%]{background:#ffffe1;border:1px solid #89b03e}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%]:hover > h5[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.active[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.vacant[_ngcontent-%COMP%] > h5[_ngcontent-%COMP%]{background:#89b03e}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%]:hover{border:1px solid #c9302c}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%], .col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%]:hover > h6[_ngcontent-%COMP%]{background:#c9302c!important}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%]{background:#c9302c}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.occupied[_ngcontent-%COMP%]:hover{background:#fff}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]{border:1px solid #f6a828}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] > h6[_ngcontent-%COMP%]{background:#f6a828!important}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover{border:1px solid #f6a828;background:#fff}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%]:hover > strong[_ngcontent-%COMP%]{background:#f6a828!important}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%]{background:#f6a828}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body.preparing[_ngcontent-%COMP%] div[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.75rem!important}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{height:80px;padding:15px 10px;position:relative}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;font-weight:400;font-size:.875rem;width:100%;margin-bottom:5px}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child{margin-top:-10px}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child{margin-bottom:0}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.alias[_ngcontent-%COMP%]{text-align:center;position:absolute;bottom:0;right:0;width:auto;background-color:#b1aaaa;border-radius:3px;padding:2px 5px;color:#fff;display:none!important}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > .card-body[_ngcontent-%COMP%] div[_ngcontent-%COMP%] span.idle[_ngcontent-%COMP%]{display:block;font-size:1.25rem;text-align:center}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{position:absolute;width:27px;height:28px;cursor:pointer;top:5px}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#000}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:last-of-type{right:-5px}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:nth-last-of-type(2){right:15px}.col-4[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{bottom:20px;right:5px;position:absolute}.col-4[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{border:1px solid!important;position:absolute;bottom:-3px;left:58px;background:#fff;border-radius:5px}"]})};var Ko=["inputCash"],Pi=class n{constructor(e,t){this.dialogRef=e;this.data=t;this.generateModalTitle$.subscribe()}registerService=w(te);loadPOSService=w(J);register=this.registerService.Data;username=this.loadPOSService?.Data?.UserName;amount=q(0);config=new Z;currentRegisterName;generateModalTitle$=this.registerService.Data$.pipe(re(e=>h.IsNotEmpty(e)),ae(()=>{let e=this.registerService.getOutletRegister(),t=e?.Name?.length>18?`${e?.Name?.substring(0,18)}...`:e?.Name;this.config.title="Open Shift",this.currentRegisterName=t}),se());today=new Date;inputCashEl;ngOnInit(){this.config.customWidth="350px",this.config.hideCancel=!0}ngAfterViewInit(){this.inputCashEl?.nativeElement?.focus()}onOk(){this.dialogRef.close({amount:this.amount()})}static \u0275fac=function(t){return new(t||n)(S(K),S(me))};static \u0275cmp=E({type:n,selectors:[["POS-modal-opening-cash"]],viewQuery:function(t,i){if(t&1&&kt(Ko,5),t&2){let o;Vt(o=Ft())&&(i.inputCashEl=o.first)}},standalone:!1,decls:25,vars:8,consts:[["inputCash",""],[3,"onOk","onCancel","onClose","config"],[1,"table","fs-5","text"],[1,"py-3"],[1,"text-end","pe-3"],[1,"py-4"],[1,"text-end"],["data-cy","InputCash","autoNum","",1,"border","form-control-lg","text-end","w-100",3,"ngModelChange","ngModel"]],template:function(t,i){if(t&1){let o=I();a(0,"modal-material",1),b("onOk",function(){return C(o),v(i.onOk())})("onCancel",function(){return C(o),v(i.dialogRef.close())})("onClose",function(){return C(o),v(i.dialogRef.close())}),a(1,"content")(2,"table",2)(3,"tr")(4,"td",3),m(5,"Outlet Register"),s(),a(6,"td",4),m(7),s()(),a(8,"tr")(9,"td",5),m(10,"Current User"),s(),a(11,"td",4),m(12),s()(),a(13,"tr")(14,"td",5),m(15,"Starting Time"),s(),a(16,"td",4),m(17),y(18,"date"),s()(),a(19,"tr")(20,"td",3),m(21,"Starting Cash"),s(),a(22,"td",6)(23,"input",7,0),V("ngModelChange",function(c){return C(o),N(i.amount,c)||(i.amount=c),v(c)}),s()()()()()()}t&2&&(p("config",i.config),l(7),D(i.currentRegisterName),l(5),D(i.username),l(5),D(ie(18,5,i.today,"EEEE, HH:mm")),l(6),k("ngModel",i.amount))},dependencies:[De,_e,Me,X,bt,Je],styles:[".table-title-width[_ngcontent-%COMP%]{width:120px}"]})};var Oi=class{OrderNumberElement;InvoiceNumberElement;NewOrderID};var Dt=class n{constructor(e,t,i){this._httpService=e;this._onlineStatusService=t;this._localDataService=i;this._onlineStatusService.getOnlineStatus$().subscribe(o=>{this.isOnline=o})}isOnline;GenerateNumber(e,t){if(this.isOnline)return this._httpService.get(Q.GenerateNumber,[{key:"EntityID",value:e},{key:"TypeID",value:1}]);{let i=new Oi;return h.IsNotEmpty(t.NumberElement)&&(t.NumberElement.Seed+=1),h.IsNotEmpty(t.InvoiceNumberElement)&&(t.InvoiceNumberElement.Seed+=1),i.InvoiceNumberElement=t.InvoiceNumberElement,i.OrderNumberElement=t.NumberElement,i.NewOrderID=h.Guid_NewGuid(),Ee(i)}}findRegisterById(e){return new Promise(t=>{this._localDataService.isConfigFromServer().subscribe(i=>{i?this._httpService.get(Q.GetRegisterInfo,[{key:"RegisterID",value:e}]).subscribe(o=>{t(o)}):this._localDataService.findRegisterByID(e).subscribe(o=>{t(o)})})})}recordOpeningCash(e){return Xt(this._httpService.post("/API/POS/RecordOpeningCash",e))}static \u0275fac=function(t){return new(t||n)(g(Ie),g(de),g(ye))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var te=class n{constructor(e,t,i,o,r,c){this._signalRClientService=e;this._matDialog=t;this._posHttpResponseService=i;this._CoreHttpService=o;this._toastrService=r;this._roleService=c}datePipe=w(Je);_Data=new Ce(null);Data$=this._Data.asObservable().pipe(re(e=>e!==null),ke());get Data(){return this._Data.value}getSalesname(e){return this.Data&&this.Data.ListSales?this._Data.value.ListSales.find(t=>t.ID==e)?.Name:""}setActiveRegisterFromOptions(e,t){let o=this._posHttpResponseService.Data.AppConfigJSON.ModuleShift.Closure.Enabled;if(e.length>1){let r=e.find(c=>c.LoginID==t);if(r)this.pushNewRegister(r);else{let c=this.getOutletRegisterFromLocalStorage(),u=this.Data?.RegisterID?this.Data.RegisterID:c?.ID;e.some(A=>A.ID==u)?o?this.openChooseRegisterModal():this.initRegisterFromLocalStorage():this.openChooseRegisterModal()}}e.length==1&&(this.pushNewRegister(e[0]),h.IsEmpty(e[0].LoginID)&&h.IsEmpty(e[0].CashierID)&&this.openOpeningCashModal(e[0].ID)),e.length==0&&this._toastrService.warning("You do not have access to any OUTLET","Warning")}openChooseRegisterModal(){this._matDialog.open(Si,{id:"registerModal",disableClose:!0}).afterClosed().pipe(re(e=>h.IsNotEmpty(e?.selectedRegister))).subscribe(e=>{e.selectedRegister&&this.openOpeningCashModal(e.selectedRegister.ID)})}openOpeningCashModal(e){this._posHttpResponseService.Data.AppConfigJSON.ModuleShift.Closure.Enabled&&this._matDialog.open(Pi,{disableClose:!0}).afterClosed().pipe(re(o=>h.IsNotEmpty(o))).subscribe(o=>{let r={RegisterID:e,OpAmount:o.amount};this._CoreHttpService.recordOpeningCash(r).then(()=>{this.updateRegisterList(r)})})}updateRegisterList(e){let i=this._posHttpResponseService.Data.Registers.map(r=>r.ID==e.RegisterID?this.mapRegisterAsActiveRegister(r,e):r),o=this._posHttpResponseService.Data;o.Registers=i,this._posHttpResponseService.pushNewValue(o)}mapRegisterAsActiveRegister(e,t){let i=localStorage.getItem("AccountInfo");if(i){let r=JSON.parse(i);e.LoginID=r.UserName}e.OpeningCash=t.OpAmount,e.Open=!0,e.State="Open";let o=this.datePipe.transform(new Date,"dd MM yyyy HH:mm");return e.StartDisplay=o,e}initRegisterFromLocalStorage(){if(this._roleService.Data.DeleteItem==!1){let t=this.getOutletRegisterFromLocalStorage();t&&this.pushNewRegister(t)}}pushNewRegister(e){let t=this._Data.value,i=t?t.RegisterID:null;i!=e.ID&&this._CoreHttpService.findRegisterById(e.ID).then(o=>{o.RegisterCode=e.Code,o.DefaultPrintTemplate=o.PrintTemplate,this._signalRClientService.SubscribeGroup(o.RegisterID,i),this.saveOutletRegisterToLocalStorage(e),this.pushNewValue(o)})}getOutletRegister(){let e=this.Data.RegisterID;return this._posHttpResponseService.Data.Registers.find(o=>o.ID==e)}pushNewValue(e){this._Data.next(e)}saveOutletRegisterToLocalStorage(e){if(this._roleService.Data.DeleteItem==!1){let i=JSON.stringify(e);localStorage.setItem("outlet_register",i)}}getOutletRegisterFromLocalStorage(){let e=this._roleService.Data.DeleteItem,t=localStorage.getItem("outlet_register"),i=null;return t&&(e?localStorage.removeItem("outlet_register"):i=JSON.parse(t)),i}findOutletRegisterById(e){return this._posHttpResponseService.Data.Registers.find(o=>o.ID===e)}static \u0275fac=function(t){return new(t||n)(g(tt),g(xe),g(J),g(Dt),g(B),g(be))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};function Zo(n,e){if(n&1&&(a(0,"span",5),m(1),y(2,"number"),s()),n&2){let t=d(3);l(),O("-",M(2,1,t.coupon.Amount),"%")}}function Xo(n,e){if(n&1&&(a(0,"span",5),m(1),y(2,"number"),s()),n&2){let t=d(3);l(),O(" -",M(2,1,t.coupon.Amount)," ")}}function er(n,e){if(n&1){let t=I();a(0,"button",9),b("click",function(){C(t);let o=d().$implicit,r=d(2);return v(r.onRemoveCouponDiscount(o))}),m(1," Remove "),s()}}function tr(n,e){if(n&1){let t=I();a(0,"button",10),b("click",function(){C(t);let o=d().$implicit,r=d(2);return v(r.onApplyCouponDiscount(o))}),m(1," Apply "),s()}if(n&2){let t=d(3);p("disabled",t.hasAppliedCouponDiscount())}}function ir(n,e){if(n&1&&(a(0,"tr")(1,"td"),m(2),s(),a(3,"td"),m(4),s(),a(5,"td",4),m(6),y(7,"number"),s(),a(8,"td",4),f(9,Zo,3,3,"span",5)(10,Xo,3,3,"span",5),s(),a(11,"td",6),f(12,er,2,0,"button",7)(13,tr,2,1,"button",8),s()()),n&2){let t=e.$implicit,i=d(2);l(2),D(t==null||t.Variant==null?null:t.Variant.Name),l(2),D(t==null||t.Variant==null?null:t.Variant.Code),l(2),D(M(7,5,t.UnitPrice)),l(3),R((i.coupon==null||i.coupon.Requirement==null?null:i.coupon.Requirement.Type)==i.couponType.DiscountPercentage?9:10),l(3),R((t==null?null:t.CouponDiscount)>0?12:13)}}function nr(n,e){if(n&1&&ft(0,ir,14,7,"tr",null,gt),n&2){let t=d();ht(t.eligibleItems())}}function or(n,e){n&1&&(a(0,"tr")(1,"td",11),_(2,"app-empty-state",12),s()())}var Di=class n{constructor(e){this.data=e;this.coupon=this.data.coupon,this.initModalConfig(),this.initEligibleItems()}dialogRef=w(K);config;eligibleItems=q([]);coupon;couponType=Ht;hasAppliedCouponDiscount=q(!1);initModalConfig(){this.config=new Z,this.config.title="Choose Item to Apply Discount",this.config.hideFooter=!0}initEligibleItems(){let e=this.data.coupon?.ApplyToProduct.map(t=>t.ID);e&&(this.eligibleItems.update(()=>this.data.cartItems.filter(i=>e.includes(i.VariantID))),this.hasAppliedCouponDiscount.update(()=>this.eligibleItems().some(t=>t.CouponDiscount>0)))}onApplyCouponDiscount(e){let t=[e];this.hasAppliedCouponDiscount.update(()=>!0),this.dialogRef.close(t)}onRemoveCouponDiscount(e){this.eligibleItems.update(t=>{let i=t.findIndex(o=>o.VariantID===e.VariantID);return i>-1&&(t[i].Discount=0,t[i].CouponDiscount=0),t}),this.hasAppliedCouponDiscount.update(()=>!1)}onClose(){this.dialogRef.close()}static \u0275fac=function(t){return new(t||n)(S(me))};static \u0275cmp=E({type:n,selectors:[["app-modal-coupon-selected-item"]],decls:17,vars:2,consts:[[3,"onCancel","onClose","config"],[1,"table","table-bordered"],[1,"thead-light"],["scope","col"],[1,"text-end"],[1,"text-danger"],[1,"text-center"],[1,"btn","btn-sm","btn-danger"],[1,"btn","btn-sm","btn-success",3,"disabled"],[1,"btn","btn-sm","btn-danger",3,"click"],[1,"btn","btn-sm","btn-success",3,"click","disabled"],["colspan","5"],["title","No eligible products","message","No products in the cart qualify for coupon use"]],template:function(t,i){t&1&&(a(0,"modal-material",0),b("onCancel",function(){return i.onClose()})("onClose",function(){return i.onClose()}),a(1,"content")(2,"table",1)(3,"thead",2)(4,"tr")(5,"th",3),m(6,"Name"),s(),a(7,"th",3),m(8,"Code"),s(),a(9,"th",3),m(10,"Price"),s(),a(11,"th",3),m(12,"Discount"),s(),_(13,"th",3),s()(),a(14,"tbody"),f(15,nr,2,0)(16,or,3,0,"tr"),s()()()()),t&2&&(p("config",i.config),l(15),R(i.eligibleItems().length!==0?15:16))},dependencies:[ce,z,yt,X,so],encapsulation:2})};var $t=(r=>(r[r.cash=1]="cash",r[r.card=2]="card",r[r.emoney=3]="emoney",r[r.other=4]="other",r[r.ECR=99]="ECR",r))($t||{});var L=class n{constructor(e,t,i){this._OrderHttpService=e;this._customerHttpService=t;this._toastrService=i}_Data=new Ce(new G);transaction_id;Data$=this._Data.asObservable();get Data(){return this._Data.value}pushNewValue(e){if(e)this._Data.next(e);else{let t=this.Data;this._Data.next(t)}}submitOrder(e){return new Promise((t,i)=>{this.checkTransactionId(),this._OrderHttpService.submitOrder(this.Data,e).subscribe({next:o=>{t(o)},error:o=>{this.Data.Items=[],i(o)}})})}uploadOfflineOrder(){return this.checkTransactionId(),this._OrderHttpService.uploadOfflineOrder(this.Data)}checkTransactionId(){let t=this.Data.Payments.find(i=>i.TypeID==3);h.IsNotEmpty(t)&&h.IsEmpty(this.transaction_id)&&this._toastrService.warning("Midtrans transaction_id is empty. Please verify manually!","Mobile Payment Failure")}updateCustomerID(e){return this.Data.Order.CustomerID=e,this.pushNewValue(this.Data),new Promise((t,i)=>{this._customerHttpService.GetPrivilegeByID(e,this.Data.Order.EntityID).subscribe({next:o=>{this._customerHttpService.Data=o,this.pushNewValue(this.Data),t(o)},error:o=>{this.Data.Order.CustomerID=null,this.Data.ContactName=null;let r=o.error?.Message;o.status==409?this._toastrService.warning(r,"Warning"):this._toastrService.error(r,`API Error - ${o.status}`),i(o)}})})}static \u0275fac=function(t){return new(t||n)(g(Ot),g(Te),g(B))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var ot=class{ModuleSell;ApplicationLoyalty;ApplicationMath;CoreDefaults;ModuleDelivery;ApplicationParkAndRetrieve;ApplicationRegisterClosure;PaymentConfigGopay;PaymentConfigLink;PrintConfigInvoice;CorePrint;PaymentConfigEmpatKali;ApplicationSettings;PrintConfigGeneral;ModuleProducts;ModuleContact;ApplicationTransactionNumbering;ModuleOrders;ModuleShift;ModuleBuy;ModuleAdjustment;TadaCouponVisible;CouponRedemptionType;ProviderOption};var ne=class n{constructor(e,t,i,o){this._orderDataService=e;this._posService=t;this.POSMATH=i;this.decimalPipe=o;this._orderDataService.Data$.pipe(Y(r=>this._posService.Data$.pipe($(c=>({appConfig:c.AppConfigJSON,salesOrder:r}))))).subscribe(r=>{this.salesOrderData=r.salesOrder,this.appConfigJSON=r.appConfig,this.calculateDiscountAmount(),this.pushNewValue(this.grandTotal)})}_Data=new Ce(0);Data$=this._Data.asObservable().pipe(ke());tax=new uo;discountAfterTax=0;currencySymbol="Rp";get Data(){return this._Data.value}salesOrderData=new G;appConfigJSON=new ot;pushNewValue(e){this._Data.next(e)}get grandTotal(){let e=this.TotalAfterSurcharge;return isNaN(e)?0:e}setDecimalDigit(e){let t=this.decimalPipe.transform(e,"1.0-4");return e=parseFloat(t.split(",").join("")),e}get TotalAfterTax(){let e=this.TaxAmount,t=this.TotalBeforeTax+e;return t=this.POSMATH.Round(t,this.appConfigJSON.ApplicationMath.RoundingDigit.DecimalPlaceValue,this.appConfigJSON.ApplicationMath.RoundingDigit.RoundAlgorithm),t}get TotalBeforeTax(){let e=this.tax?.CalculationTypeID===1,t=0;return e?t=this.DiscountTotal-this.TaxAmount:t=this.DiscountTotal,t}get TotalAfterSurcharge(){let e=this.TotalAfterTax+this.SurchargeAmount;return this.POSMATH.Round(e,this.appConfigJSON.ApplicationMath.RoundingDigit.DecimalPlaceValue,this.appConfigJSON.ApplicationMath.RoundingDigit.RoundAlgorithm)}get TotalAfterDiscountTaxable(){return this.GrossTotalTaxable-this.DiscountTotal}get TaxAmount(){if(this.tax!=null){let e=0,t=this.appConfigJSON.ApplicationMath.RoundingTaxDigit.DecimalPlaceValue,i=this.appConfigJSON.ApplicationMath.RoundingTaxDigit.RoundAlgorithm,o=this.GrossTotalTaxable;return this.tax.CalculationTypeID==1?e=this.tax.Rate/(100+this.tax.Rate)*o:e=this.tax.Rate/100*o,e=this.POSMATH.Round(e,t,i),e}else return 0}get SurchargeAmount(){return this.TotalAfterTax*this.salesOrderData.Invoice.SurchargePcg/100}get Discount1Amount(){return this.GrossTotal*this.salesOrderData.Order.Discount/100}get AfterDiscount1Amount(){return this.GrossTotal-this.Discount1Amount}get Discount2Amount(){return this.AfterDiscount1Amount*this.salesOrderData.Order.Discount2/100}get AfterDiscount2Amount(){return this.AfterDiscount1Amount-this.Discount2Amount}get DiscountTotal(){return this.AfterDiscount2Amount-this.salesOrderData.Order.DiscountAmount}calculateDiscountAmount(){let e=this.salesOrderData.Order.DiscountAmount,t=0;this.AfterDiscount2Amount>=0&&e>0&&e>this.AfterDiscount2Amount&&(t=this.AfterDiscount2Amount),t!==0&&t<=e&&this.GrossTotal!==0&&(e=t),this.salesOrderData.Order.DiscountAmount=e}get GrossTotal(){return this.sum(this.salesOrderData.CartItems,"Total")}get GrossTotalTaxable(){let e=this.salesOrderData.CartItems.filter(i=>i.Taxable),t=this.sum(e,"Total");if(e.length!==0){let i=this.calculateDiscountTaxableItem(e);t=t*(100-this.salesOrderData.Order.Discount)/100,t=t*(100-this.salesOrderData.Order.Discount2)/100,t=t-i}return t}calculateDiscountTaxableItem(e){let t=this.GrossTotal,i=this.salesOrderData.Order.DiscountAmount,o=0,r=0,c=0,u=0;for(let P of e)o=P.getItemAfterDiscount/t,r=o*i,u=r*P.Quantity,c+=u;return c}get GrossTotalNonTaxable(){let e=this.salesOrderData.CartItems.filter(i=>i.Taxable==!1),t=this.sum(e,"Total");return t=t*(100-this.salesOrderData.Order.Discount)/100,t=t*(100-this.salesOrderData.Order.Discount2)/100,t=t-this.salesOrderData.Order.DiscountAmount,t}sum(e,t){let i=e.reduce((o,r)=>o+r[t],0);return i=this.setDecimalDigit(i),i}GetPointOnlyAmount(){let e=this.salesOrderData.CartItems.filter(t=>t.Variant.PaymentTypeID==2);return this.GetAmountByCart(e)}GetCashOnlyAmount(){let e=this.salesOrderData.CartItems.filter(t=>t.Variant.PaymentTypeID==1);return this.GetAmountByCart(e)}GetCashAndPointAmountCart(){let e=this.salesOrderData.CartItems.filter(t=>t.Variant.PaymentTypeID!=1);return this.GetAmountByCart(e)}GetAmountByCart(e){let t=this.sum(e,"Total");return t=t*(100-this.salesOrderData.Order.Discount)/100,t=t*(100-this.salesOrderData.Order.Discount2)/100,t}calculateGrossTotal(e){return this.sum(e,"Total")}static \u0275fac=function(t){return new(t||n)(g(L),g(J),g(go),g(z))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var Mi=class{Code;Provider;EntityID;Customer;ShoppingCart};var Ii=class n{salesOrderService=w(L);registerService=w(te);customerService=w(Te);orderCalculator=w(ne);generateRedeemCouponDto(e,t){let i=new Mi,o=this.registerService.Data?.EntityID;return i.Code=e,i.Provider=t,i.ShoppingCart={Amount:this.orderCalculator.Data,Items:this.generateItems()},i.EntityID=o,i.Customer=this.generateCustomer(t),i}generateItems(){return this.salesOrderService.Data.CartItems.map(i=>({Price:i.Price,Quantity:i.Quantity,VariantID:i.VariantID,Code:i?.Variant?.Code}))}generateCustomer(e){let t=this.customerService.Data,i=this.salesOrderService?.Data?.Order?.CustomerID,o=null;return h.IsNotEmpty(i)&&(o={Phone:t.Mobile,Email:t.Email},e==="Internal"&&(o=Yt({ID:i},o))),o}static \u0275fac=function(t){return new(t||n)};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var Mt=class n{constructor(e,t,i,o,r,c){this._httpService=e;this._orderDataService=t;this._userRoleService=i;this.toastr=o;this._invoiceCalculatorService=r;this.promotionCouponFactoryService=c;this.subscribeToObservable()}dialog=w(xe);role;originalRoleData;_coupon=q(null);salesOrderBeforePromotion=q(null);isShowToastrInApplyCoupon=q(!1);get coupon(){return this._coupon()}subscribeToObservable(){this._userRoleService.Data$.subscribe(e=>{this.role=e,h.IsEmpty(this.originalRoleData)&&(this.originalRoleData=pe(je,e))})}RedeemCoupon(e,t,i=!1){i||(this.isShowToastrInApplyCoupon.set(!0),this.copyOriginalSalesOrder());let o=this.promotionCouponFactoryService.generateRedeemCouponDto(e,"Internal");this._httpService.post(Q.ValidateInternalCoupon,o).subscribe({next:r=>{switch(this._orderDataService.Data.Order.PromotionCoupon=e,this._orderDataService.Data.Order.PromotionNote=t,this._orderDataService.Data.Order.CouponType=1,r.Requirement?.Type){case 1:this.HandleDiscountPercentage(r);break;case 2:this.HandleDiscountAmount(r);break;case 3:this.handleCouponReturnAccess(r);break;case 4:this.handleCouponParkedDeletionAccess();break;case 5:this.handleFullAccessCoupon();break;case 6:this.handleDeleteItemCoupon();break}this._coupon.set(r),this.isShowToastrInApplyCoupon.set(!1)},error:r=>{this.removeAppliedCoupon(!1),this.isShowToastrInApplyCoupon.set(!1)}})}copyOriginalSalesOrder(){let e=pe(G,this._orderDataService.Data);this.salesOrderBeforePromotion.set(e)}HandleDiscountPercentage(e,t=!1){e.Amount>0?e.Requirement?.MaximumDiscount>0?this.applyConfigMaxDiscount(e,t):e.Requirement?.FullPriceProductOnly?this.applyFullPriceDisc(e,t):this.applyDiscountPercentage(e,t):(this.role.Discount=t?this.originalRoleData.Discount:!0,this._userRoleService.pushNewValue(this.role))}applyFullPriceDisc(e,t=!1){let i=this._orderDataService.Data,o=this.filterItemWithDisc(i.CartItems),r=this.filterItemWithCouponDisc(i.CartItems);if(t)r.length>0?(i.CartItems=this.resetItemsDisc(i.CartItems),this._orderDataService.pushNewValue()):this.applyDiscountPercentage(e,t);else if(o.length>0){let c=this.filterItemWithoutDisc(i.CartItems);c.length>0?this.applyConfigItemsScope(e,c).subscribe(u=>{let P=this.applyItemsDisc(u,e);i.CartItems=this.updateCartItems(P,e),this._orderDataService.pushNewValue(i),this.showToastr(e)}):(this.removeAppliedCoupon(!1),this._orderDataService.pushNewValue(),this.toastr.error("No products in the cart qualify for coupon use","Coupon Not Applied"))}else this.applyDiscountPercentage(e,t)}updateCartItems(e,t){let o=this._orderDataService.Data.CartItems.map((r,c)=>{let u=e.find(P=>this.isSameCartItem(P,r));return u||r});return o=this.applyOneOfFirstQuantity(o,t),o}applyOneOfFirstQuantity(e,t){if(t?.Requirement?.RequirementDiscountType==2){let i=e.findIndex(o=>o.CouponDiscount>0);if(e[i]?.Quantity>1){let o=st(Se,e[i]);o.Quantity=1,e[i].Quantity=e[i].Quantity-1,e[i].CouponDiscount=0,e[i].Discount=0,e[i].DiscountAmount=0,e.push(o)}}return e}filterItemWithDisc(e){return e.filter(i=>i.Discount>0||i.DiscountAmount>0||i.Price!=i?.Variant?.UnitPrice||h.IsNotEmpty(i.PriceBookID)||i.PriceTypeID==2)}filterItemWithoutDisc(e){return e.filter(i=>this.itemConditionFullPriceOnly(i))}filterItemWithCouponDisc(e){return e.filter(i=>i.CouponDiscount>0)}applyDiscountPercentage(e,t=!1){let i=this._orderDataService.Data.Order.CustomerDiscountRate,o=e.Amount;if(t){let r=this._orderDataService.Data;this._orderDataService.Data.Order.Discount=0,r.CartItems=this.resetItemsDisc(r.CartItems),this._orderDataService.pushNewValue(r)}else o>=i?e.ApplyToProduct?.length>0?this.applyDiscountRequiredItems(e):(this._orderDataService.Data.Order.Discount=e.Amount,this._orderDataService.pushNewValue(),this.showToastr(e)):(this.toastr.warning("Member discount is applied because member discount is greater than Coupon Discount","Warning"),this.removeAppliedDiscountOnCustomerChange())}applyDiscountRequiredItems(e){let i=this._orderDataService.Data.CartItems.filter(o=>e.ApplyToProduct.map(r=>r.ID)?.includes(o.VariantID));this.applyConfigItemsScope(e,i).subscribe(o=>{let r=o.map(u=>(u.Discount=e.Amount,u.CouponDiscount=e.Amount,u)),c=this.updateCartItems(r,e);this._orderDataService.Data.CartItems=c,this._orderDataService.pushNewValue(),this.showToastr(e)})}showToastr(e){let t=e?.Requirement?.Notify;h.IsNotEmpty(t)&&this.isShowToastrInApplyCoupon()&&this.toastr.success(t,"Coupon Applied")}applyConfigMaxDiscount(e,t=!1){let i=this._orderDataService.Data.CartItems;e.Requirement?.FullPriceProductOnly&&(i=i.filter(o=>this.itemConditionFullPriceOnly(o))),this.applyConfigItemsScope(e,i,t).subscribe(o=>{this.applyMaxDiscount(e,o,t)})}applyConfigItemsScope(e,t,i=!1){let o=e.Requirement?.RequirementDiscountType;return(o==1||o==2)&&i==!1?this.dialog.open(Di,{data:{coupon:e,cartItems:t},id:"modal-coupon-selected-item"}).afterClosed().pipe(ae(c=>{let A=this._orderDataService.Data.CartItems.some(U=>U.CouponDiscount>0);!c&&!A&&this.removeAppliedDiscountOnCustomerChange()}),re(c=>!!c)):Ee(t)}applyMaxDiscount(e,t,i=!1){let o=this._invoiceCalculatorService.calculateGrossTotal(t),r=this._orderDataService.Data,c=o*e.Amount/100,u=e.Requirement?.MaximumDiscount,P=t;c>=u?(r.Order.DiscountAmount=i?0:u,P=this.resetItemsDisc(t)):(r.Order.DiscountAmount=0,P=i?this.resetItemsDisc(t):this.applyItemsDisc(t,e)),r.CartItems=this.updateCartItems(P,e),this._orderDataService.pushNewValue(r),i||this.showToastr(e)}resetItemsDisc(e){return this.coupon?.Requirement?.RequirementDiscountType==2?e=this.resetConfigOneOfFirstQuantity(e):e=e.map(t=>(t.CouponDiscount>0&&(t.Discount=0,t.DiscountAmount=0,t.CouponDiscount=0),t)),e}resetConfigOneOfFirstQuantity(e){let t=e.findIndex(i=>i.CouponDiscount>0);if(t!==-1){let i=e.findIndex(o=>o.CouponDiscount==0&&e[t]?.VariantID==o?.VariantID);i!==-1?(e.splice(t,1),e[i].Quantity+=1):(e[t].CouponDiscount=0,e[t].Discount=0,e[t].DiscountAmount=0)}return e}applyItemsDisc(e,t){return t.ApplyToProduct?.length>0?e=this.applyDiscByVariant(e,t):e=e.map(i=>(i.Discount=t.Amount,i.CouponDiscount=t.Amount,i)),e}applyDiscByVariant(e,t){return e=e.map(i=>(t.ApplyToProduct.find(r=>r.ID==i.VariantID)&&this.itemConditionFullPriceOnly(i)&&(i.Discount=t.Amount,i.CouponDiscount=t.Amount),i)),e}itemConditionFullPriceOnly(e){return(e.Discount==0||e.CouponDiscount>0)&&e.DiscountAmount==0&&e.Price==e?.Variant?.UnitPrice&&h.IsEmpty(e.PriceBookID)}HandleDiscountAmount(e,t=!1){e.Amount>0?(e.ApplyToProduct?.length>0?this.applyDiscountInItem(e,t):(t?this._orderDataService.Data.Order.DiscountAmount=0:(this._orderDataService.Data.Order.DiscountAmount=e.Amount,this.showToastr(e)),this._orderDataService.pushNewValue()),this.resetCustomerPoint(t)):(this.role.Discount=t?this.originalRoleData.Discount:!0,this._userRoleService.pushNewValue(this.role))}applyDiscountInItem(e,t=!1){let i=this._orderDataService.Data;if(t)i.CartItems=this.resetItemsDisc(i.CartItems);else{let r=i.CartItems.filter(c=>e.ApplyToProduct.map(u=>u.ID)?.includes(c.VariantID));this.applyConfigItemsScope(e,r,t).subscribe(c=>{let u=c.map(P=>(P.DiscountAmount=e.Amount,P.CouponDiscount=e.Amount,P));i.CartItems=this.updateCartItems(u,e),this._orderDataService.pushNewValue(i),this.showToastr(e)})}}resetCustomerPoint(e){if(!e){let t=this._orderDataService.Data;t.Order.PointUsed=0}}handleCouponReturnAccess(e){let t=pe(je,this.role);t.Return=!0,this._userRoleService.pushNewValue(t),this.isShowToastrInApplyCoupon()&&this.toastr.success("You got access to return a sales transaction!","Coupon Applied")}handleCouponParkedDeletionAccess(){let e=pe(je,this.role);e.ParkedDeletionAuthorized=!0,this._userRoleService.pushNewValue(e),this.isShowToastrInApplyCoupon()&&this.toastr.success("You Have Access to delete park and delete item when retrieve!","Coupon Applied")}handleFullAccessCoupon(){let e=pe(je,this.role);e.UnitPriceEditor=!0,e.Discount=!0,e.Return=!0,e.Tax=!0,e.NumberEditor=!0,e.DateEditor=!0,e.PricebookSelector=!0,e.DeleteItem=!0,e.ParkedDeletionAuthorized=!0,this._userRoleService.pushNewValue(e),this.isShowToastrInApplyCoupon()&&this.toastr.success("You now have Full Access for this Order!","Coupon Applied")}handleDeleteItemCoupon(){let e=pe(je,this.role);e.DeleteItem=!0,this._userRoleService.pushNewValue(e),this.isShowToastrInApplyCoupon()&&this.toastr.success("You Have Access to delete item","Coupon Applied")}removeAppliedCoupon(e=!0){this._userRoleService.pushNewValue(this.originalRoleData),this._orderDataService.pushNewValue(this.salesOrderBeforePromotion()),this.salesOrderBeforePromotion.set(null),this._coupon.set(null),e&&this.toastr.warning("Coupon Cancelled","Warning")}resetCouponOnNewTransaction(){this._userRoleService.pushNewValue(this.originalRoleData),this._coupon.set(null)}removeAppliedDiscountOnCustomerChange(){if(this.coupon)switch(this.coupon.Requirement?.Type){case 1:this.HandleDiscountPercentage(this._coupon(),!0),this.removeAppliedCouponOnCustomerChange();break;case 2:this.HandleDiscountAmount(this._coupon(),!0),this.removeAppliedCouponOnCustomerChange();break}}removeAppliedCouponOnCustomerChange(){if(this.coupon){let e=this._orderDataService.Data;e.Order.PromotionCoupon=null,e.Order.PromotionNote=null,this._coupon.set(null),this._userRoleService.pushNewValue(this.originalRoleData),this._orderDataService.pushNewValue(e)}}isSameCartItem(e,t){return e.VariantID===t.VariantID&&e.Quantity===t.Quantity&&e.Price===t.Price&&e.Discount===t.Discount&&e.PriceBookID===t.PriceBookID}static \u0275fac=function(t){return new(t||n)(g(Ie),g(L),g(be),g(B),g(ne),g(Ii))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var xi=class{RegisterID;Number;Amount;TransactionID};var It=class{GroupID;Method;Data};var Ti=class{Status;InvoiceID;LoyaltyPoint;diff};var wi=class{GopayQr};var Ri=class{Name;Quantity;Discount;DiscountAmount;Price;UnitQuantity};var Ei=class{Items;AmountSummary;GopayQr;Number;Customer;SalesName;CurrencySymbol;FinalAmount};var Ni=class n{_state=q(this.initCustomerDisplayState());isEnabled=qe(()=>this._state()?.enabled);connect(){let t={enabled:!0,timestamp:new Date().toDateString()};localStorage.setItem("customerDisplay",JSON.stringify(t)),this._state.set(t)}initCustomerDisplayState(){let e=localStorage.getItem("customerDisplay"),t={enabled:!1,timestamp:""};return h.IsNotEmpty(e)&&(t=JSON.parse(e)),t}disconnect(){let t={enabled:!1,timestamp:new Date().toDateString()};localStorage.setItem("customerDisplay",JSON.stringify(t)),this._state.set(t)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var fe=class{Amount;CurrencySymbol;Label;Type;constructor(e,t,i,o){this.Amount=e,this.CurrencySymbol=t,this.Label=i,this.Type=o}};var Ai=class n{constructor(e,t,i,o){this._invoiceCalculatorService=e;this._decimalPipe=t;this._poshttpResponseService=i;this._orderService=o;this._poshttpResponseService.Data$.pipe(se()).subscribe(r=>{this.appConfig=r.AppConfigJSON})}appConfig=new ot;generateAmountSummary(){let e=[];this.isUseTax()?e=this.generateSummaryTax():e=this.generateSummaryNonTax();let t=this.generateSurchargeSummary();return t&&e.push(...t),e}generateSummaryTax(){let e=this._invoiceCalculatorService.tax?.CalculationTypeID,t=[];return e==1?t=this.generateSummaryTaxInclude():t=this.generateSummaryTaxExclude(),t}generateSummaryNonTax(){let e=[],t=this.generateCartItemAmount();if(e.push(t),this.isDiscounted()){let i=this.generateDiscountSummary(),o=this.generateAmountTotal("Total");e.push(...i,o)}return e}generateSummaryTaxInclude(){let e=[];return this.isTaxReserveSequence()?e=this.generateTaxIncludeReserveSequence():e=this.generateTaxIncludeNormalSequence(),e}generateTaxIncludeReserveSequence(){let e=[];if(this.isTaxDetailVisible()==!1){let r=this._invoiceCalculatorService.TotalBeforeTax,c=this.isDiscounted()?"Amount":"Before Tax",u=this.isDiscounted()?this._invoiceCalculatorService.GrossTotal:r,P=new fe(u,this.currencySymbol,c,2);e.push(P)}if(this.isDiscounted()){let r=this.generateDiscountSummary(),c=this.generateBeforeTaxSummary();e.push(...r,c)}let i=this.generateTax(),o=this.generateAmountTotal();return e.push(...i,o),e}generateTaxIncludeNormalSequence(){let e=[],t=this.generateCartItemAmount();if(e.push(t),this.isDiscounted()){let o=this.generateDiscountSummary(),r=this.generateSummarySubTotal();e.push(...o,r)}let i=this.generateTax();if(e.push(...i),this.isTaxDetailVisible()==!1){let o=this.generateBeforeTaxSummary();e.push(o)}return e}generateSummaryTaxExclude(){let e=[],t=this.generateCartItemAmount(!0);if(e.push(t),this.isDiscounted()){let c=this.generateDiscountSummary(),u=this.generateSummarySubTotal();e.push(...c,u)}let i=this.generateTax(),o=this._invoiceCalculatorService.TotalAfterTax,r=new fe(o,this.currencySymbol,"Total",1);return e.push(...i,r),e}generateAmountTotal(e="Total Amount"){let t=this._invoiceCalculatorService.Data;return new fe(t,this.currencySymbol,e,1)}generateSummarySubTotal(){let e=this._invoiceCalculatorService.TotalAfterTax;return new fe(e,this.currencySymbol,"SubTotal",1)}generateBeforeTaxSummary(){let e=this._invoiceCalculatorService.TotalBeforeTax;return new fe(e,this.currencySymbol,"Before Tax",2)}isTaxDetailVisible(){return this.appConfig.PrintConfigInvoice?.Footer?.TaxDetailVisible}isUseTax(){let e=this._invoiceCalculatorService.tax;return e?.PrintVisible&&e?.Rate!=0}generateTax(){let e=[],t=this.isTaxDetailVisible(),i=t?2:1,o=this._invoiceCalculatorService.tax;if(t){let r=this.appConfig.PrintConfigInvoice.Footer.TaxableSales,c=this.calculateTaxableSales(),u=new fe(c,this.currencySymbol,r,i);e.push(u)}if(o.TypeID==2){let r=this.generateTaxTypeMultiple();e.push(...r)}else{let r=this.generateSingleTaxSummary(o.Label,this._invoiceCalculatorService.TaxAmount,i);e.push(r)}if(t){let r=this.appConfig.PrintConfigInvoice.Footer.TaxExemptSales,c=this._invoiceCalculatorService.GrossTotalNonTaxable,u=new fe(c,this.currencySymbol,r,i);e.push(u);let P=this.appConfig.PrintConfigInvoice.Footer.LabelWithZeroAmount;if(P){let A=new fe(0,this.currencySymbol,P,i);e.push(A)}}return e}generateCartItemAmount(e=!1){let t=this.isDiscounted()||e?this._invoiceCalculatorService.GrossTotal:this._invoiceCalculatorService.TotalAfterTax;return new fe(t,this.currencySymbol,"Amount",1)}get currencySymbol(){return this._invoiceCalculatorService.currencySymbol}generateDiscountSummary(){let e=[];if(this._invoiceCalculatorService.Discount1Amount!=0){let t=this._decimalPipe.transform(this._orderService.Data.Order.Discount),o=this.checkDiscountIgnoreDecimal(t)?"{0}":"{0} ({1}%)";e.push(new fe(this._invoiceCalculatorService.Discount1Amount*-1,this._invoiceCalculatorService.currencySymbol,h.StringFormat(o,this.appConfig.CorePrint.Alias.Discount1,t),1))}if(this._invoiceCalculatorService.Discount2Amount!=0){let t=this._decimalPipe.transform(this._orderService.Data.Order.Discount2),o=this.checkDiscountIgnoreDecimal(t)?"{0}":"{0} ({1}%)";e.push(new fe(this._invoiceCalculatorService.Discount2Amount*-1,this._invoiceCalculatorService.currencySymbol,h.StringFormat(o,this.appConfig.CorePrint.Alias.Discount2,t),1))}return this._orderService.Data.Order.DiscountAmount!=0&&this.appConfig.PrintConfigInvoice.ItemsFooter.DiscountAmountVisible&&e.push(new fe(this._orderService.Data.Order.DiscountAmount*-1,this._invoiceCalculatorService.currencySymbol,"Discount ("+this._invoiceCalculatorService.currencySymbol+")",1)),e}calculateTaxableSales(){let e=this._invoiceCalculatorService.tax,t=this._invoiceCalculatorService.TaxAmount,i=this._invoiceCalculatorService.GrossTotalTaxable;return e.Rate==0?0:e.CalculationTypeID==1?i-t:i}generateTaxTypeMultiple(){let e=this.appConfig.PrintConfigInvoice.Footer.TaxDetailVisible?2:1,t=[],i=this._invoiceCalculatorService.tax;var o=this._invoiceCalculatorService.TaxAmount;if(i.TypeID==2){let r=i?.Components?i?.Components:[],c=this._invoiceCalculatorService.GrossTotalTaxable,u=this.calculateTotalRate(r);r.forEach(P=>{if(i.CalculationTypeID==0){let A=P.Rate/100*c;t=[...t,this.generateSingleTaxSummary(P.Label,A,e)],i.MultipleTaxTypeID==1&&(c+=A)}else{let A=P.Rate/u*o;t=[...t,this.generateSingleTaxSummary(P.Label,A,e)]}})}else t=[...t,this.generateSingleTaxSummary(i.Label,o,e)];return t}calculateTotalRate(e){let t=0;return e&&e.length>0&&(t=e.map(i=>i.Rate).reduce((i,o)=>i+o)),t}generateSingleTaxSummary(e,t,i){let o=this._invoiceCalculatorService.currencySymbol;return new fe(t,o,e,i)}generateSurchargeSummary(){if(this._invoiceCalculatorService.SurchargeAmount==0)return;let e=[],t=this.appConfig.CorePrint,i=t&&t.Alias.SurchargePcg?t.Alias.SurchargePcg:"Surcharge";e.push(new fe(this._invoiceCalculatorService.SurchargeAmount,this._invoiceCalculatorService.currencySymbol,h.StringFormat("{0} ({1}%)",i,this._decimalPipe.transform(this._orderService.Data?.Invoice.SurchargePcg)),1));let o=this.generateAmountTotal();return e.push(o),e}checkDiscountIgnoreDecimal(e){let i=this.appConfig.PrintConfigInvoice.Footer.DiscountIgnoredDecimal,o=parseFloat(e)%1,r=!1;return o!==0&&i&&(r=!0),r}isDiscounted(){let e=this._invoiceCalculatorService.Discount1Amount,t=this._invoiceCalculatorService.Discount2Amount,i=this._orderService.Data.Order.DiscountAmount,o=!1;return(e!=0||t!=0||i!=0)&&(o=!0),o}isTaxReserveSequence(){let e=this._invoiceCalculatorService.tax,t=!!e,i=t?e.CalculationTypeID:null,o=this.appConfig.PrintConfigInvoice.ItemsFooter.TaxIncludeBeforeTotalAmount;return t&&i===1&&o}static \u0275fac=function(t){return new(t||n)(g(ne),g(z),g(J),g(L))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var rt=class n{constructor(e,t,i,o){this._receiptCalculatorService=e;this._cashierCalculatorService=t;this._signal=i;this._customerHttpService=o;this.broadcastOrderUpdate$.subscribe()}_salesOrderDataModelService=w(L);_outletService=w(te);displayService=w(Ni);localdata=w(ye);orderDataModel;broadcastOrderUpdate$=We([this._salesOrderDataModelService.Data$,this.localdata.isStoreOrderInServer(),$n(this.displayService.isEnabled)]).pipe(Sn(([e,t,i])=>{let o=this._outletService?.Data?.RegisterID;if(t&&i&&o){this.orderDataModel=e;let r=this.ConstructCartModelForCustomerDisplay(),c=new It;return c.GroupID=o+"_Subscriber",c.Method="POSCartAmountUpdated",c.Data=r,this._signal.broadcast(c).pipe(et(u=>(console.log(u),mt)))}else return mt}),et(e=>(console.log(e),mt)),se());ConstructCartModelForCustomerDisplay(){let e=this._customerHttpService.Data,t=new Ei;t.Number=this.orderDataModel.Order.Number,t.Items=Array();for(let i of this.orderDataModel.CartItems){let o=new Ri;o.Name=i.Variant.Name,o.Discount=i.Discount,o.DiscountAmount=i.DiscountAmount,o.Price=i.Price,o.Quantity=i.Quantity,o.UnitQuantity=i.UnitQuantity,t.Items.push(o)}return h.IsNotEmpty(this.orderDataModel.Order.SalesID)?t.SalesName=this._outletService.getSalesname(this.orderDataModel.Order.SalesID):t.SalesName="",h.IsNotEmpty(this.orderDataModel.Order.CustomerID)&&h.IsNotEmpty(e)&&(t.Customer=new Pt,t.Customer.Email=e.Email,t.Customer.Mobile=e.Mobile,t.Customer.Name=this.orderDataModel.ContactName),t.CurrencySymbol=this._cashierCalculatorService.currencySymbol,t.FinalAmount=this._cashierCalculatorService.Data,t.AmountSummary=this._receiptCalculatorService.generateAmountSummary(),t}BroadcastStateToCustomerDisplay(e,t="",i="",o=0){let r=new Ti;r.Status=e,r.InvoiceID=t,r.LoyaltyPoint=i,r.diff=o;let c=new It;return c.GroupID=this._outletService.Data.RegisterID+"_Subscriber",c.Method="POSStateUpdated",c.Data=r,this.displayService.isEnabled()?this.localdata.isStoreOrderInServer().pipe(Y(u=>u?this._signal.broadcast(c):Ee(ee.offlineMode))):mt}BroadcastQRToCustomerDisplay(e){let t=new wi;t.GopayQr=e;let i=new It;return i.GroupID=this._outletService.Data.RegisterID+"_Subscriber",i.Method="POSQRPaymentActivated",i.Data=t,this.displayService.isEnabled()?this.localdata.isStoreOrderInServer().pipe(Y(o=>o?this._signal.broadcast(i):Ee(ee.offlineMode))):mt}static \u0275fac=function(t){return new(t||n)(g(Ai),g(ne),g(tt),g(Te))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var ki=class n{constructor(e){this.httpService=e}VerifyPayment(e,t){let i=this.getVerifyPaymentUrl(t);return this.httpService.post(i,e)}getVerifyPaymentUrl(e){let t;switch(e){case 0:t=Q.GopayVerifyPayment;break;case 1:t=Q.BcaVerifyPayment;break}return t}generateLink(e){return this.httpService.post(Q.GenerateLink,e)}generateQRCode(e,t){return this.httpService.post(e,t)}static \u0275fac=function(t){return new(t||n)(g(Ie))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var xt=class n{constructor(e,t,i,o,r){this._posHubService=e;this._orderDataService=t;this._PaymentHttpService=i;this._InvoicecashierCalculatorService=o;this._toastrService=r}transactionId;qrPaymentMethodID;QRCodeHttpResponse;_paymentMethod;get paymentMethod(){return this._paymentMethod}resetPaymentMethod(){this._paymentMethod=null}onQRPaymentComplete(e,t){return new Promise((i,o)=>{if(e.transaction_id!==this.transactionId){let c=`transaction_id: ${e.transaction_id} / gross_amount: ${e.gross_amount}`;o({header:"Invalid QR Payment",message:c});return}if(e.gross_amount!==this._InvoicecashierCalculatorService.Data){let c=`paid_amount: ${e.gross_amount} vs invoice_amount: ${this._InvoicecashierCalculatorService.Data}`;o({header:"Invalid QR Payment",message:c});return}let r=this._orderDataService.Data.Order.Number;if(e.order_id.includes(r)==!1){let c=`Order ID: ${e.order_id} vs Order Number: ${r}`;o({header:"Invalid QR Payment",message:c});return}if(e.transaction_status!=="settlement"){let c=`Transaction status is ${e.transaction_status}`;o({header:"Invalid QR Payment",message:c});return}this.validateEMoneyPayment(t).subscribe(c=>{i(c)})})}generateNewPayment(e,t){let i=this._orderDataService.Data;h.IsEmpty(this.qrPaymentMethodID)&&alert("QR PaymentMethod.ID is not available!");let o=new ze;return o.PaidAmount=t,o.Amount=t,o.Date=i.Order.Date,o.MethodID=this.qrPaymentMethodID,o.Code=e,h.IsEmpty(e)&&this._toastrService.warning("Midtrans transaction_id is empty. Please verify manually!","Mobile Payment Failure"),o}sendStateCompleteToCustomerDisplay(e){this._posHubService.BroadcastStateToCustomerDisplay(1,e.ObjectID,e.LoyaltyPoint,0).subscribe()}generateQR(e,t){this._paymentMethod=t,this.qrPaymentMethodID=t.ID;let i=this.getServiceUrl(t.EMoneyTypeID);return this._PaymentHttpService.generateQRCode(i,e).pipe($(c=>(c=this.manipulateBCAQrisImg(c,t.EMoneyTypeID),this.transactionId=c.Transaction_id,this.QRCodeHttpResponse=c,this._orderDataService.transaction_id=c.Transaction_id,this.sendQRToCustomerDisplay(c.Url),c)))}sendQRToCustomerDisplay(e){this._posHubService.BroadcastQRToCustomerDisplay(e).subscribe()}validateEMoneyPayment(e){if(h.IsNotEmpty(this.transactionId)){let t=this._InvoicecashierCalculatorService.Data,i=this._paymentMethod?.EMoneyTypeID,o=this.generatePaymentVerificationData(t,i);return this._PaymentHttpService.VerifyPayment(o,i).pipe(Y(r=>(this.updatePosDataForSubmission(t),bn(this._orderDataService.submitOrder(e)).pipe(ae(c=>{this.sendStateCompleteToCustomerDisplay(c)})))))}else{let t=new Error("Transaction ID is Empty");throw pt(()=>t)}}generatePaymentVerificationData(e,t){let i=this._orderDataService.Data,o=new xi;return o.Number=i.Order.Number,o.Amount=e,o.TransactionID=this.transactionId,o.RegisterID=i.Order.RegisterID,t==1&&(o.Number=this.QRCodeHttpResponse.Number),o}updatePosDataForSubmission(e){let t=this._orderDataService.Data,i=this.generateNewPayment(this.transactionId,e),o=[];o.push(i),t.Invoice.Due=null,t.Action.Type=3,t.Order.InvoicedStateID=3,t.Payments=o,this._orderDataService.pushNewValue(t)}getServiceUrl(e){let t;switch(e){case 0:t=Q.GenerateGopayQrCode;break;case 1:t=Q.GenerateBcaQrCode;break}return t}manipulateBCAQrisImg(e,t){return t==1&&(e.Url=`data:image/png;base64, ${e.Url}`),e}clearTransactionID(){this.transactionId=null,this._orderDataService.transaction_id=null,this.QRCodeHttpResponse=null}getTransactionId(){return this.transactionId}static \u0275fac=function(t){return new(t||n)(g(rt),g(L),g(ki),g(ne),g(B))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};var Tt=class{CommissionID;ReturNumber;parkTemporaryItem;posState;InputTextValue;constructor(){this.posState=0,this.CommissionID="",this.ReturNumber="",this.parkTemporaryItem=[],this.InputTextValue=""}};var Vi=class n{constructor(e,t,i){this._promotionEventService=e;this._dialogRef=t;this.data=i;this.modalConfig=new Z,this.modalConfig.hideCancel=!0,this.modalConfig.hideClose=!0,this.modalConfig.headerType=le.Warning,this.modalConfig.title="Promotion Requirement unfulfilled!",this.modalConfig.customWidth="350px",this.modalConfig.okText="Ok",this.selectedPromotion=e.selectedPromotion}modalConfig;selectedPromotion;onOk(){this._promotionEventService.restoreOrder(),this._dialogRef.close()}static \u0275fac=function(t){return new(t||n)(S(Re),S(K),S(me))};static \u0275cmp=E({type:n,selectors:[["POS-modal-promotion-confirm"]],standalone:!1,decls:9,vars:4,consts:[[3,"onOk","config"],[1,"fst-italic","text-danger","mb-3"],[1,"mb-0"]],template:function(t,i){t&1&&(a(0,"modal-material",0),b("onOk",function(){return i.onOk()}),a(1,"content")(2,"div")(3,"h5"),m(4),s(),a(5,"p",1),m(6),s(),a(7,"p",2),m(8),s()()()()),t&2&&(p("config",i.modalConfig),l(4),D(i.selectedPromotion==null?null:i.selectedPromotion.Name),l(2),D(i.selectedPromotion==null?null:i.selectedPromotion.Description),l(2),D(i.data==null?null:i.data.message))},dependencies:[X],encapsulation:2})};var Fi=class extends Se{};var Rt=class n{constructor(e,t,i,o,r,c,u,P,A){this.variantService=e;this._posService=t;this._orderDataService=i;this.toastr=o;this._orderProcessorService=r;this._customerHttpService=c;this.promotionCouponService=u;this.userRoleService=P;this.decimalPipe=A;this.subscribeToObservable()}salesOrderData;appConfigJson;entityID;audio=new Audio;subscribeToObservable(){this._posService.Data$.pipe(se()).subscribe(e=>{this.appConfigJson=e.AppConfigJSON}),this._orderDataService.Data$.pipe(se()).subscribe(e=>{this.salesOrderData=e,this.entityID=e.Order.EntityID}),this._orderProcessorService.Data$.pipe(se()).subscribe(e=>{e.posState==3&&this.clearCartItemsInLocalStorage()})}addCartItemById(e,t,i=!0){return new Promise((o,r)=>{this.variantService.findVariantByID(e,this.entityID,i).then(c=>{this.createNewCartItem(c,t),o(c)}).catch(c=>{r(c)})})}addCartItemByCode(e){return new Promise((t,i)=>{let o=this.appConfigJson.ModuleSell.DigitalScale;o.Digit>0&&h.IsNotEmpty(o.Regex)&&e.length==o.Digit?this.parseDigitalScaleBarcodeWithRegex(e,o).then(c=>{c||(this.toastr.info("Matching Regex Rule to Barcode","Digital Scale"),this.findVariantByCode(e).then(u=>t(u)).catch(u=>i(u)))}):this.findVariantByCode(e).then(c=>t(c)).catch(c=>i(c))})}findVariantByCode(e){let t=this.appConfigJson.ModuleSell.BarcodeSerialEnabled;return new Promise((i,o)=>{this.variantService.findVariantByCode(e,this.entityID,t).then(r=>{i(r),this.createNewCartItem(r)}).catch(r=>{this.playBellRing(),o(r)})})}addItemBySerial(e){this.variantService.findVariantBySerial(e,this.entityID).subscribe(t=>{let i=this.salesOrderData.CartItems;if(i.length>0){let o,r=[],c=i.findIndex(u=>u.Variant.ID==t.ID);r=[],c!==-1?(o=i[c].Serial?.findIndex(u=>u.Number==e),r=[...i[c].Serial?i[c].Serial:[]],o==-1?(r.push({Number:e,Quantity:1}),i[c].Quantity=r.length):r.length>0?r[o].Quantity+=1:(r=[{Number:e,Quantity:1}],this.addNewSerials(t,e)),i[c].Serial=[...r],i[c].Quantity=i[c].calculateSerialQty(),this.updateCartItem(i[c],c)):this.addNewSerials(t,e)}else this.addNewSerials(t,e)})}addNewSerials(e,t){e.Serial=[{Number:t,Quantity:1}],this.createNewCartItem(e)}playBellRing(){this.audio.src="//res.cloudinary.com/pos/video/upload/v1659947782/POS/Music/bell_ring.mp3",this.audio.load(),this.audio.play()}updateCartItem(e,t){this.salesOrderData.CartItems[t]=e,this._orderDataService.pushNewValue(this.salesOrderData),this.applyCustomerPoint(),this.reApplyPromotionCoupon(),this.saveItemsToLocalStorage()}deleteCartItem(e){this.salesOrderData.CartItems=this.salesOrderData.CartItems.filter(t=>t!==e),this._orderDataService.pushNewValue(this.salesOrderData),this.applyCustomerPoint(),this.reApplyPromotionCoupon()}parseDigitalScaleBarcodeWithRegex(e,t){return new Promise(i=>{let o=this.appConfigJson.ModuleSell.BarcodeSerialEnabled,r=new RegExp(t.Regex),c=e.match(r);if(console.log(c),h.IsNotEmpty(c)){let u=c[1],P=parseFloat(c[2]);console.log(P,"productQuantity"),P=P/t.QuantityDivider,this.variantService.findVariantByCode(u,this.entityID,o).then(A=>{this.createNewCartItem(A,null,P),i(!0)}).catch(()=>{i(!1)})}else i(!1)})}createNewCartItem(e,t,i){let o=new Se,r=this.appConfigJson.ModuleSell.ProductNotes.CopyProductDescription,c=this.appConfigJson.ModuleSell.ProductNotes.CopyPromotionName;o.patchByVariant(e,r,c),o=this.applyReward(o,t),h.IsEmpty(t)&&(o=this.applyPriceBook(o)),this.validateCartItem(o)&&(o.Quantity=i||o.Quantity,t?.PromotionType==2?this.handlingPromotionQuantity(o):this.pushNewItemToArray(o,o.PromotionGift),this.applyCustomerPoint()),this.addAvailableComponent(o)}applyCustomerPoint(){let e=this.salesOrderData.Order.CustomerID,t=h.IsEmpty(e);this._orderProcessorService.reedemPointToDiscount(t)}handlingPromotionQuantity(e){let t=pe(Se,this.salesOrderData.CartItems),i=t.findIndex(o=>o.VariantID==e.VariantID&&o.PromotionGift);i!==-1?t[i].Quantity+=e.Quantity?e.Quantity:1:t=[...t,e],this.salesOrderData.CartItems=t,this._orderDataService.pushNewValue(this.salesOrderData)}applyPromotionProduct(e){let t=e.Variant.DiscountAmount;return t&&(e.Price=e.UnitPriceOriginal-t),e}applyReward(e,t){if(t){let i=this.appConfigJson.ModuleSell.ProductNotes.CopyPromotionName;e.Discount=t.Discount,e.Price=t.OriginalPrice;let o=t.OriginalPrice-t.UnitPrice;e.Price=e.UnitPriceOriginal-o,e.UnitPrice=e.UnitPriceOriginal-o,e.PromotionGift=!0,e.PromotionID=t.PromotionID,e.Quantity=t.Quantity?t.Quantity:1,e.PriceTypeID=3,e.Cost+=t.ExtraCost,e.UnitCost+=t.ExtraCost,e.PriceNote=t.PromotionName,i&&(e.Note=`${e.Note?e.Note:""} ${t.PromotionName} `)}return e}addAvailableComponent(e){let t=e.Price!=0,i=this.appConfigJson.ModuleSell.SellProductComponentDefaultPrice,o=e.Variant;if(o.Component!=null&&o.Component.length>0)for(let r of o.Component){let c=new Fi;c.patchByVariant(r),c.Quantity=e.Quantity*r.Quantity,t&&!i&&(r.UnitPrice=0),c.Price=r.UnitPrice,this.pushNewItemToArray(c)}}pushNewItemToArray(e,t=!1){let i=this.salesOrderData.CartItems.findIndex(o=>o.VariantID==e.VariantID);if(e=this.applyPromotionProduct(e),i==-1||t)this.salesOrderData.CartItems.push(e);else{let o=this.appConfigJson.ModuleSell.QuickKey.NewRowBehaviour;if(o==2)this.salesOrderData.CartItems.push(e);else if(o==1)this._orderProcessorService.Data.posState==4?this.salesOrderData.CartItems.push(e):this.addingQuantityItem(i,e);else{if(!this.validatePrepaidPackage(e,i)){this.toastr.error("This prepaid package is already in the cart while editing. Please remove it first before adding again.","Cannot Add Item");return}this.addingQuantityItem(i,e)}}this._orderDataService.pushNewValue(this.salesOrderData),this.saveItemsToLocalStorage(),this.reApplyPromotionCoupon()}saveItemsToLocalStorage(){let e=this.userRoleService.Data.DeleteItem,t=this._orderProcessorService.Data?.posState;if(!e&&t!==4){let o=this._orderDataService.Data.CartItems;try{localStorage.setItem("cart_items",JSON.stringify(o))}catch(r){console.error("Error saving cart items to localStorage:",r)}}}clearCartItemsInLocalStorage(){let e=this.promotionCouponService?.coupon;if(!this.userRoleService.Data?.DeleteItem||e.Requirement?.Type==5||e.Requirement?.Type==6)try{localStorage.removeItem("cart_items")}catch(i){console.error("Error clearing cart items from localStorage:",i)}}validatePrepaidPackage(e,t){let i=this.salesOrderData.CartItems[t],o=this._orderProcessorService.Data.posState,r=e.Variant.TypeID==10,c=h.IsNotEmpty(i.ID),u=!0;return o==2&&r&&c&&(u=!1),u}reApplyPromotionCoupon(){let e=this.salesOrderData.Order.CouponProvider,t=e=="Internal"||h.IsEmpty(e),i=this.salesOrderData.Order.PromotionCoupon,o=this.salesOrderData.Order.PromotionNote;h.IsNotEmpty(i)&&t&&this.promotionCouponService.RedeemCoupon(i,o,!0)}addingQuantityItem(e,t){let i=this.salesOrderData.CartItems.filter(u=>u.VariantID==t.VariantID),o=i.length,r=i.find(u=>!u.PromotionGift);this.salesOrderData.CartItems[e].PromotionGift&&o==1?this.salesOrderData.CartItems.push(t):(r.Quantity+=t.Quantity,r=this.applyPromotionProduct(r)),r&&(r=this.applyPriceBook(r))}validateCartItem(e){return e.Variant.CategoryTypeID==-1?(this.toastr.info(e.Variant.Name+" cannot be sold, check Category "+e.Variant.CategoryName+" settings","info"),!1):!(!this.validatePriceMinimum(e)||!this.validateSerialItem(e))}validatePriceMinimum(e){let t=!0,i=this.userRoleService.Data.PriceMinimum,o=this.appConfigJson.ModuleSell.ProductDialog.PriceMinimumTypeID;if(i){let r=0;switch(o){case 1:r=e.UnitPrice;break;case 2:r=e.UnitCost;break;case 3:r=e.UnitPriceMinimum;break}if(e.Price<r){t=!1;let c=h.StringFormat("You have no right to sell this item lower than {0}",this.decimalPipe.transform(r));alert(c)}}return t}validateSerialItem(e){let t=!0;if(e?.Serial?.length>0&&e.Variant.TypeID==4&&e.Quantity>0){let i=0;e?.Serial?.forEach(o=>{i+=o.Quantity}),i!=e.Quantity&&(this.toastr.error("Serial must be equal with the quantity","Error"),t=!1)}return t}applyPriceBook(e){let t=e.Variant.PriceBook!=null?e.Variant.PriceBook:[],i=this.findCustomerPricebook(t);if(t&&t.length!==0){let o=t.sort(function(r,c){return c.MinimumQuantity-r.MinimumQuantity}).filter(r=>e.Quantity>=r.MinimumQuantity&&r.MinimumQuantity!=0);o.length>0||h.IsNotEmpty(i)?h.IsNotEmpty(i)?e=this.applyPricebookToItem(e,i):e=this.applyPricebookToItem(e,o[0]):e=this.resetAppliedPricebook(e)}return e}resetAppliedPricebook(e){let i=(e?.Variant?.PriceBook).find(o=>o.ID==e.PriceBookID);return h.IsNotEmpty(i)&&(e.Discount=e.Variant.PriceDiscount,e.PriceBookID=h.GuidEmpty,e.Price=e.Variant.UnitPrice,e.UnitPrice=e.Variant.UnitPrice,e.PriceTypeID=0,e=this.applyPromotionProduct(e),e=this.removePromotionNote(e)),e}removePromotionNote(e){let t=this.appConfigJson.ModuleSell.ProductNotes;if(this.appConfigJson?.ModuleSell?.Pricebook?.PricebookVisible&&(e.Note=e.Note?.replace(e.PriceNote,""),e.PriceNote=""),t.CopyPromotionName){let o=e.Variant?.PriceNote;e.Note=`${o||""} ${e.Note?e.Note:""}`,e.PriceNote=o}return e}applyPricebookToItem(e,t){return e.Discount=t.PriceDiscount,e.UnitPrice=t.UnitPrice,e.PriceBookID=t.ID,e.Price=t.UnitPrice,e.PriceTypeID=2,e=this.assignItemNote(e,t),e}assignItemNote(e,t){return this.appConfigJson?.ModuleSell?.Pricebook?.PricebookVisible?(e.Note?.includes(e.PriceNote)?e.Note=e.Note?.replace(e.PriceNote,t.Name):e.Note=`${t.Name} ${e.Note?e.Note:""}`,e.PriceNote=t.Name):(e.Note="",e.PriceNote=""),e}findCustomerPricebook(e=[]){let t=this._customerHttpService.Data,i;return t&&(i=e.find(o=>o.ID==t.PricebookID)),i}static \u0275fac=function(t){return new(t||n)(g(po),g(J),g(L),g(B),g(Ye),g(Te),g(Mt),g(be),g(z))};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};function dr(n,e){if(n&1&&(a(0,"div",9)(1,"div",4),_(2,"input",10),s()()),n&2){let t=d();l(2),p("formControl",t.searchControl)}}function ur(n,e){n&1&&(a(0,"span"),m(1,"Apply"),s())}function gr(n,e){n&1&&(a(0,"span"),m(1,"Applying..."),s())}function fr(n,e){if(n&1){let t=I();a(0,"tr")(1,"td"),m(2),s(),a(3,"td"),m(4),s(),a(5,"td",11),m(6),y(7,"number"),s(),a(8,"td",11),m(9),y(10,"number"),s(),a(11,"td",12)(12,"button",13),b("click",function(){let o=C(t).$implicit,r=d();return v(r.onSelectReward(o))}),f(13,ur,2,0,"span",14)(14,gr,2,0,"span",14),s()()()}if(n&2){let t=e.$implicit,i=d();l(2),D(t.VariantName),l(2),D(t.VariantCode),l(2),D(M(7,7,t.OriginalPrice)),l(3),D(M(10,9,t.UnitPrice)),l(3),p("disabled",i.isApplyingReward()),l(),p("ngIf",!i.isApplyingReward()),l(),p("ngIf",i.isApplyingReward())}}var Bi=class n{constructor(e,t,i,o,r,c){this._dialogRef=e;this._matDialog=t;this._shoppingCartService=i;this._promotionEventService=o;this._toastr=r;this.data=c;this.selectedPromotion=this._promotionEventService.selectedPromotion}modalConfig=new Z;selectedPromotion;rewards$;searchControl=new Ke;isApplyingReward=q(!1);ngOnInit(){this.modalConfig.title="Select a Reward",this.modalConfig.hideFooter=!0,this.initRewards(!0)}initRewards(e){this.rewards$=this.searchControl.valueChanges.pipe(ti(""),dt(e?0:500),ke(),Y(t=>{let i;return i=Ee(this.data.rewards).pipe($(o=>o.filter(r=>this.findKeywordInValue(t,r?.VariantCode)||this.findKeywordInValue(t,r?.VariantName)))),e=!0,i}))}findKeywordInValue(e,t){return t?.toUpperCase()?.indexOf(e?.toUpperCase())>-1}onSelectReward(e){return Kt(this,null,function*(){if(!this.isApplyingReward()){this.isApplyingReward.set(!0);try{e.PromotionType=this.data.promotion.TypeID,yield this._shoppingCartService.addCartItemById(e.VariantID,e,!0).then(()=>{this._matDialog.closeAll(),this._promotionEventService.pushNewValue(this._promotionEventService.Data),this.showToastAppliedPromo()})}finally{this.isApplyingReward.set(!1)}}})}showToastAppliedPromo(){this._toastr.success("Applied "+this.selectedPromotion.Name+" to order!","Applied successfully!")}close(){this._dialogRef.close()}static \u0275fac=function(t){return new(t||n)(S(K),S(xe),S(Rt),S(Re),S(B),S(me))};static \u0275cmp=E({type:n,selectors:[["POS-modal-select-item"]],standalone:!1,decls:22,vars:9,consts:[[3,"onCancel","onClose","config"],[1,"container"],["class","row mb-3",4,"ngIf"],[1,"row"],[1,"col-12"],[1,"table","table-bordered"],[1,"thead-light"],["scope","col"],[4,"ngFor","ngForOf"],[1,"row","mb-3"],["type","text","placeholder","Type to filter reward",1,"form-control",3,"formControl"],[1,"text-end"],[1,"text-center"],[1,"btn","btn-sm","btn-success",3,"click","disabled"],[4,"ngIf"]],template:function(t,i){t&1&&(a(0,"modal-material",0),b("onCancel",function(){return i.close()})("onClose",function(){return i.close()}),a(1,"content")(2,"div",1),f(3,dr,3,1,"div",2),a(4,"div",3)(5,"div",4)(6,"table",5)(7,"thead",6)(8,"tr")(9,"th",7),m(10,"Name"),s(),a(11,"th",7),m(12,"Code"),s(),a(13,"th",7),m(14,"Price"),s(),a(15,"th",7),m(16,"Promo"),s(),_(17,"th",7),s()(),a(18,"tbody"),f(19,fr,15,11,"tr",8),y(20,"async"),y(21,"sortBy"),s()()()()()()()),t&2&&(p("config",i.modalConfig),l(3),p("ngIf",(i.data==null||i.data.rewards==null?null:i.data.rewards.length)>5),l(16),p("ngForOf",Ct(21,5,M(20,3,i.rewards$),"desc","VariantCode")))},dependencies:[ve,oe,De,_e,vt,X,$e,z,St],styles:[".table-scroll[_ngcontent-%COMP%]{max-height:400px;overflow-y:auto}table[_ngcontent-%COMP%]{max-width:600px!important;overflow-x:hidden}"]})};function hr(n,e){if(n&1&&(H(0),a(1,"div",13)(2,"div",7),_(3,"input",14),s()(),j()),n&2){let t=d();l(3),p("formControl",t.searchCtrl)}}function Cr(n,e){n&1&&(H(0),a(1,"th",15),m(2,"Qty"),s(),j())}function vr(n,e){n&1&&_(0,"th",10)}function _r(n,e){if(n&1){let t=I();H(0),a(1,"td")(2,"input",17),V("ngModelChange",function(o){C(t);let r=d().$implicit;return N(r.Quantity,o)||(r.Quantity=o),v(o)}),s()(),j()}if(n&2){let t=d().$implicit;l(2),k("ngModel",t.Quantity)}}function yr(n,e){n&1&&(a(0,"span"),m(1,"Apply"),s())}function br(n,e){n&1&&(a(0,"span"),m(1,"Applying..."),s())}function Sr(n,e){if(n&1){let t=I();a(0,"td",18)(1,"button",19),b("click",function(){C(t);let o=d().$implicit,r=d();return v(r.onApplyReward(o))}),f(2,yr,2,0,"span",5)(3,br,2,0,"span",5),s()()}if(n&2){let t=d(2);l(),p("disabled",t.isApplyingReward()),l(),p("ngIf",!t.isApplyingReward()),l(),p("ngIf",t.isApplyingReward())}}function Pr(n,e){if(n&1&&(a(0,"tr")(1,"td"),m(2),s(),a(3,"td"),m(4),s(),a(5,"td",16),m(6),y(7,"number"),s(),a(8,"td",16),m(9),y(10,"number"),s(),f(11,_r,3,1,"ng-container",11)(12,Sr,4,3,"ng-template",null,1,Oe),s()),n&2){let t=e.$implicit,i=W(13),o=d();l(2),D(t.VariantName),l(2),D(t.VariantCode),l(2),D(M(7,6,t.OriginalPrice)),l(3),D(M(10,8,t.UnitPrice)),l(2),p("ngIf",o.rewardQuantity>1)("ngIfElse",i)}}var Hi=class n{constructor(e,t,i,o,r,c){this.data=e;this.shoppingCartService=t;this.promotionEventService=i;this.dialogRef=o;this.matDialog=r;this.toastr=c;this.searchCtrl=new Ke,this.rewardQuantity=e.rewardQuantity,this.sourceRewards=[...e.rewards]}modalConfig;rewards$;rewardQuantity;rewards;sourceRewards=[];searchCtrl;isApplyingReward=q(!1);ngOnInit(){this.initModalConfig(),this.initSearchCtrl(!0)}initModalConfig(){this.modalConfig=new Z,this.modalConfig.title="Select a Reward",this.rewardQuantity<2&&(this.modalConfig.hideFooter=!0)}initSearchCtrl(e){this.rewards$=this.searchCtrl.valueChanges.pipe(ti(""),dt(e?0:500),ke(),Y(t=>{let i;return i=Ee(this.sourceRewards).pipe($(o=>(o.length===1&&(o[0].Quantity=this.rewardQuantity),o)),$(o=>o.filter(r=>this.findKeywordInValue(t,r?.VariantCode)||this.findKeywordInValue(t,r?.VariantName)))),e=!1,i}),ae(t=>{this.rewards=t}))}findKeywordInValue(e,t){return t?.toUpperCase()?.indexOf(e.toUpperCase())>-1}onApplyReward(e){return Kt(this,null,function*(){if(!this.isApplyingReward()){this.isApplyingReward.set(!0);try{yield this.addRewardToShoppingCart(e)}finally{this.isApplyingReward.set(!1)}}})}onClose(){this.dialogRef.close()}onOk(){this.calculateRewardQty()>this.rewardQuantity?this.toastr.warning("Product reward exceeds the maximum amount earned","Warning"):[...this.rewards].filter(i=>i.Quantity>0).forEach(i=>{this.addRewardToShoppingCart(i)})}calculateRewardQty(){let e=0;return this.rewards.forEach(t=>{e+=t.Quantity?t.Quantity:0}),e}addRewardToShoppingCart(e){return e.PromotionType=this.data.promotion.TypeID,this.shoppingCartService.addCartItemById(e.VariantID,e,!0).then(()=>{this.matDialog.closeAll(),this.promotionEventService.pushNewValue(this.promotionEventService.Data)})}static \u0275fac=function(t){return new(t||n)(S(me),S(Rt),S(Re),S(K),S(xe),S(B))};static \u0275cmp=E({type:n,selectors:[["app-modal-quantity-reward"]],standalone:!1,decls:27,vars:12,consts:[["APPLY",""],["APPLY_BUTTON",""],[3,"onCancel","onOk","onClose","config"],[1,"ms-3"],[1,"container"],[4,"ngIf"],[1,"row","table-scroll"],[1,"col-12"],[1,"table","table-bordered"],[1,"thead-light"],["scope","col"],[4,"ngIf","ngIfElse"],[4,"ngFor","ngForOf"],[1,"row","mb-3"],["type","text","placeholder","Type to filter reward",1,"form-control",3,"formControl"],["scope","col",2,"width","66px"],[1,"text-end"],["type","text","autoNum","","min","0",1,"form-control",3,"ngModelChange","ngModel"],[1,"text-center"],[1,"btn","btn-sm","btn-success",3,"click","disabled"]],template:function(t,i){if(t&1){let o=I();a(0,"modal-material",2),b("onCancel",function(){return C(o),v(i.onClose())})("onOk",function(){return C(o),v(i.onOk())})("onClose",function(){return C(o),v(i.onClose())}),a(1,"header")(2,"small",3),m(3),s()(),a(4,"content")(5,"div",4),f(6,hr,4,1,"ng-container",5),a(7,"div",6)(8,"div",7)(9,"table",8)(10,"thead",9)(11,"tr")(12,"th",10),m(13,"Name"),s(),a(14,"th",10),m(15,"Code"),s(),a(16,"th",10),m(17,"Price"),s(),a(18,"th",10),m(19,"Promo"),s(),f(20,Cr,3,0,"ng-container",11)(21,vr,1,0,"ng-template",null,0,Oe),s()(),a(23,"tbody"),f(24,Pr,14,10,"tr",12),y(25,"async"),y(26,"sortBy"),s()()()()()()()}if(t&2){let o=W(22);p("config",i.modalConfig),l(3),O(" ( ",i.rewardQuantity," products reward ) "),l(3),p("ngIf",(i.sourceRewards==null?null:i.sourceRewards.length)>5),l(14),p("ngIf",i.rewardQuantity>1)("ngIfElse",o),l(4),p("ngForOf",Ct(26,8,M(25,6,i.rewards$),"desc","VariantCode"))}},dependencies:[ve,oe,De,_e,Me,vt,X,bt,$e,z,St],encapsulation:2})};var Re=class n{constructor(e,t,i,o,r,c,u,P,A){this._orderDataService=e;this._outletService=t;this._invoiceCalculatorService=i;this._dialog=o;this._httpService=r;this._posService=c;this._toastr=u;this._signalrService=P;this.decimalPipe=A;this.previousQuantity=0,this.previousTotalEligible=0,this.subscribeNotification(),this._posService.Data$.subscribe(U=>{this.taxes=U.Taxes}),this._outletService.Data$.subscribe(U=>{this.loadPromotions(U.Promotion)}),this._orderDataService.Data$.pipe(re(U=>{this.salesOrderData=U;let he=this.calculateOrderReward(U.getRewards()),sn=this.calculateOrderReward(this.previousRewards);return this.previousQuantity!=U.TotalQuantity||sn<he||this.isRestroreOrder}),dt(100)).subscribe(U=>{this.isRestroreOrder=!1,this.checkQtyPromotion(),this.applyQuantityPromotion(),this.previousRewards=[...U.getRewards()]}),this._invoiceCalculatorService.Data$.subscribe(U=>{this.checkEligiblePromotionWithMinSpend()})}_Data=new Ce([]);get Data(){return this._Data.getValue()}Data$=this._Data.asObservable();selectedPromotion=null;onClickToastPromo=new Ae;previousQuantity;salesOrderData;orderDataBeforePromotion;taxes=[];previousTotalEligible;previousRewards=[];isRestroreOrder=!1;calculateOrderReward(e){let t=0;return e.length>0&&(t=e.map(i=>i.Quantity).reduce((i,o)=>i+o)),t}checkQtyPromotion(){let e=this._orderDataService.Data;this.checkEligibleQtyPromotion(e.CartItems),this.checkEligibleTierPromotion(e.CartItems),this.previousQuantity=e.TotalQuantity}subscribeNotification(){this._signalrService.OnPromotionEventChange.pipe(se(),Y(()=>{let e=this._outletService.Data?.RegisterID;return this.getPromotions(e)})).subscribe(()=>{this._toastr.info("Promotion Event Updated","Promotion Update")})}getPromotions(e){return this._httpService.get(Q.GetListPromotion,[{key:"RegisterID",value:e}]).pipe(ae(t=>{this.loadPromotions(t)}))}loadPromotions(e){let t=this.getPromotionDesc(e);this.pushNewValue(t),this.checkQtyPromotion(),this.checkEligiblePromotionWithMinSpend()}pushNewValue(e){this.showToastEligiblePromotion(),this._Data.next(e)}checkSelectedPromotionRequirement(e){this.selectedPromotion!=null&&this.selectedPromotion.TypeID==e&&this.Data.find(i=>i.ID===this.selectedPromotion.ID)?.Eligible===!1&&(this._dialog.open(Vi,{id:"modal-promotion-confirm",data:{message:"Order will be restored to before the promotion is applied"},disableClose:!0}),this.isRestroreOrder=!0)}restoreOrder(){this._orderDataService.pushNewValue(this.orderDataBeforePromotion),this.selectedPromotion=null}getPromotionDesc(e=[]){return e?.map(i=>(i.Description=this.generatePromotionDesc(i),i))}checkEligiblePromotionWithMinSpend(){let e=this._invoiceCalculatorService.Data,t=this.Data?.filter(o=>(o.TypeID===1||o.TypeID==3)&&!this.checkExpiredPromotion(o)).map(o=>(e>=o.MinimumAmount?o.Eligible=!0:o.Eligible=!1,o)),i=this.mappingEligiblePromotion(t);this.pushNewValue(i),this.checkSelectedPromotionRequirement(1),this.checkSelectedPromotionRequirement(3)}checkEligibleQtyPromotion(e){let t=0,i=this.Data?.filter(r=>r.TypeID===2&&!this.checkExpiredPromotion(r)).map(r=>(r.Eligible=!1,r.ListVariant.length>0?(t=this.getQuantityByRequirementType(e,"variant",r.ListVariant),t>=r.MinimumAmount&&(r.Eligible=!0)):r.ListCategory.length>0?(t=this.getQuantityByRequirementType(e,"category",r.ListCategory),t>=r.MinimumAmount&&(r.Eligible=!0)):this.salesOrderData.TotalQuantity>=r.MinimumAmount&&(r.Eligible=!0),r)),o=this.mappingEligiblePromotion(i);this.pushNewValue(o)}checkEligibleTierPromotion(e){let t,i=this.Data?.filter(r=>r.TypeID===5&&!this.checkExpiredPromotion(r)).map(r=>(r.Eligible=!1,r.ListVariant.length>0?t=this.getQuantityByRequirementType(e,"variant",r.ListVariant):r.ListCategory.length>0?t=this.getQuantityByRequirementType(e,"category",r.ListCategory):t=this.salesOrderData.TotalQuantity,r.PromotionTieredQuantity.forEach(c=>{t>=c.Quantity&&(r.Eligible=!0)}),r)),o=this.mappingEligiblePromotion(i);this.pushNewValue(o)}getQuantityByRequirementType(e,t,i){let o=0,r;return t=="variant"?e.forEach(c=>{r=i.findIndex(u=>u.ID===c.VariantID),r!==-1&&(o+=c.Quantity)}):e.forEach(c=>{c.Variant&&(r=i.findIndex(u=>u.ID===c.Variant.CategoryID),r!==-1&&(o+=c.Quantity))}),o}mappingEligiblePromotion(e=[]){let t=this.Data;if(e?.length>0){let i;t=this.Data?.map(o=>(i=e.findIndex(r=>r.ID==o.ID),i!==-1&&(o=e[i]),o))}return t}checkExpiredPromotion(e){let t=new Date,i=new Date(e.StartDate),r=(h.IsEmpty(e.StartTime)?"00:00:00":e.StartTime).split(":").map(A=>parseInt(A));i.setHours(r[0],r[1],r[2]);let c=new Date(e.ExpirationDate),P=(h.IsEmpty(e.EndTime)?"23:59:59":e.EndTime).split(":").map(A=>parseInt(A));return c.setHours(P[0],P[1],P[2]),!(t.getTime()>=i.getTime()&&t.getTime()<=c.getTime())}showToastEligiblePromotion(){let e=this.getTotalEligiblePromotion(),t=h.IsNotEmpty(this.salesOrderData.Order.ID);this.previousTotalEligible!==e&&e>0&&!t&&this._toastr.info(e+" promotion(s) can be applied!","Promo available!",{timeOut:2e4}).onTap.pipe(Be(1)).subscribe(()=>{this.onClickToastPromo.next(!0)}),this.previousTotalEligible=e}getTotalEligiblePromotion(){return this.Data?.filter(t=>t.Eligible).length}generatePromotionDesc(e){let t="";switch(e.TypeID){case 2:t+="Minimum "+this.decimalPipe.transform(e.MinimumAmount)+" ",e.ListVariant.length>0?(t=t+" piece of ",t+=this.generateItemListDescription(e.ListVariant)):e.ListCategory.length>0?(t+="from category ",t+=this.generateItemListDescription(e.ListCategory)):t+="items";break;case 1:t+="Minimum spend Rp. "+this.decimalPipe.transform(e.MinimumAmount);break;case 3:t+=`Apply
3
3
  ${e.Discount1!==0?"discount1 = "+e.Discount1+"%":""}
4
4
  ${e.Discount1!==0&&e.Discount2!==0?" and ":""}
@@ -1 +1 @@
1
- import{a as O}from"./chunk-YPF7BMPI.js";import{h as Q,i as z}from"./chunk-WSJHXTI4.js";import"./chunk-OLSVR34W.js";import{b as H}from"./chunk-YUGYXJ5G.js";import"./chunk-52EOLV7I.js";import"./chunk-5UL73W4S.js";import"./chunk-X6LIVARI.js";import{b as j,c as q}from"./chunk-CIBQBSM6.js";import"./chunk-5UCQBOD6.js";import"./chunk-D35OBUDE.js";import"./chunk-567HXZXC.js";import"./chunk-CGESXTHC.js";import{a as S}from"./chunk-2FWFPV5I.js";import"./chunk-TLOTIYIE.js";import{D as B,c as k,h as F,o as L}from"./chunk-P7HKWFZT.js";import"./chunk-N4OAT3FW.js";import"./chunk-IBTIOJOZ.js";import"./chunk-AHCRE4GP.js";import"./chunk-KRC5LE5H.js";import{$a as s,$b as b,Ib as n,Jb as o,Ma as _,Ob as w,Od as P,Qb as v,Rb as l,Vd as V,Wc as R,Yd as N,Zb as y,Zc as A,_b as D,db as g,dc as M,ec as r,jc as u,jd as E,kb as T,kc as h,lc as f,ob as W,qb as C,rc as I,va as m,vb as d,wa as c}from"./chunk-DZT5XHBQ.js";import"./chunk-7DCB7DB2.js";var Y=["textReceiptCtrl"],G=p=>({"is-invalid":p});function J(p,x){p&1&&(n(0,"small"),r(1,"The text you entered exceeds the maximum allowed size when encoded for WhatsApp."),o())}function K(p,x){if(p&1&&(n(0,"div",25),C(1,J,2,0,"small",26),o()),p&2){let t=l(2);s(),d("ngIf",t.textReceiptInvalidState())}}function X(p,x){if(p&1){let t=w();n(0,"mainpanel-cmp",2)(1,"actions")(2,"button",3),v("click",function(){m(t);let e=l();return c(e.onSubmit("Setup/Configuration/WhatsappConfigurationV2"))}),r(3," Save "),o()(),n(4,"content")(5,"div",4)(6,"div",5)(7,"div",6)(8,"h5"),r(9,"WhatsApp Invoice Settings"),o(),n(10,"i"),r(11," Configure the Twilio settings required to send invoices to customers via WhatsApp. "),o()(),n(12,"div",7)(13,"div",8)(14,"div",9)(15,"div",10)(16,"input",11),f("ngModelChange",function(e){m(t);let a=l();return h(a.formData.WhatsappConfig.AccountSID,e)||(a.formData.WhatsappConfig.AccountSID=e),c(e)}),o(),n(17,"label"),r(18,"Account SID"),o()()(),n(19,"div",9)(20,"div",12)(21,"input",13),f("ngModelChange",function(e){m(t);let a=l();return h(a.formData.WhatsappConfig.AuthToken,e)||(a.formData.WhatsappConfig.AuthToken=e),c(e)}),o(),n(22,"label"),r(23,"Auth Token"),o()()()(),n(24,"div",8)(25,"div",9)(26,"div",14)(27,"input",15),f("ngModelChange",function(e){m(t);let a=l();return h(a.formData.WhatsappConfig.ContentTemplateSID,e)||(a.formData.WhatsappConfig.ContentTemplateSID=e),c(e)}),o(),n(28,"label"),r(29,"Content Template SID"),o()()(),n(30,"div",9)(31,"div",16)(32,"input",17),f("ngModelChange",function(e){m(t);let a=l();return h(a.formData.WhatsappConfig.From,e)||(a.formData.WhatsappConfig.From=e),c(e)}),o(),n(33,"label"),r(34,"From"),o()()()()()(),n(35,"div",5)(36,"div",6)(37,"h5"),r(38,"Whatsapp Receipt Settings"),o(),n(39,"i"),r(40," You can use variables like Number, Currency, Amount, ReceiptLink, and Brand. Please refer this "),n(41,"a",18),r(42,"Article"),o(),r(43," for more information. "),o()(),n(44,"div",7)(45,"div",8)(46,"div",19)(47,"div",20)(48,"textarea",21,0),f("ngModelChange",function(e){m(t);let a=l();return h(a.formData.WhatsappConfig.TextReceipt,e)||(a.formData.WhatsappConfig.TextReceipt=e),c(e)}),v("ngModelChange",function(){m(t);let e=l();return c(e.onTextReceiptChange())}),o(),n(50,"label",22),r(51,"Customize E-Receipt Template"),o(),n(52,"div",23),C(53,K,2,1,"div",24),o()()()()()()()()()}if(p&2){let t=M(49),i=l();d("pageData",i.menuData)("hideSearchDropdown",!0)("hideSearchBox",!0),s(2),d("disabled",i.textReceiptInvalidState()),s(14),u("ngModel",i.formData.WhatsappConfig.AccountSID),s(5),u("ngModel",i.formData.WhatsappConfig.AuthToken),s(6),u("ngModel",i.formData.WhatsappConfig.ContentTemplateSID),s(5),u("ngModel",i.formData.WhatsappConfig.From),s(16),u("ngModel",i.formData.WhatsappConfig.TextReceipt),d("ngClass",I(11,G,(i.textReceiptInvalidState()||t.invalid)&&(t.dirty||t.touched))),s(5),d("ngIf",(i.textReceiptInvalidState()||t.invalid)&&(t.dirty||t.touched))}}var U=class p extends O{constructor(t,i,e,a){super(t,i,"Setup/ConfigurationLoader/WhatsappConfigurationV2",e);this.httpService=i;this.activatedRoute=e;this.toaster=a}textReceiptCtrl;maxTextLength=1920;textReceiptInvalidState=_(!1);encodeLength=_(0);postBindForm(t){this.validateTextReceipt(),this.initReceiptTemplateCtrl()}initReceiptTemplateCtrl(){setTimeout(()=>{this.textReceiptCtrl.control.markAllAsTouched()})}validateTextReceipt(){if(!this.formData?.WhatsappConfig?.TextReceipt){this.textReceiptInvalidState.set(!1);return}let t=this.formData.WhatsappConfig?.TextReceipt,i=encodeURIComponent(t)?.length;this.encodeLength.set(i);let e=i>this.maxTextLength;this.textReceiptInvalidState.set(e)}onTextReceiptChange(){if(this.validateTextReceipt(),this.textReceiptCtrl){let t=this.textReceiptInvalidState()||this.textReceiptCtrl.invalid;this.textReceiptInvalidState.set(t)}}onSubmitSuccess(t){t?.MessageWarning?this.toaster.warning(t.MessageWarning,S.Warning):this.toaster.success("Config has been updated succesfully!",S.Success)}static \u0275fac=function(i){return new(i||p)(g(H),g(N),g(P),g(V))};static \u0275cmp=T({type:p,selectors:[["app-whatsapp"]],viewQuery:function(i,e){if(i&1&&y(Y,5),i&2){let a;D(a=b())&&(e.textReceiptCtrl=a.first)}},features:[W],decls:1,vars:1,consts:[["textReceiptCtrl","ngModel"],[3,"pageData","hideSearchDropdown","hideSearchBox",4,"ngIf"],[3,"pageData","hideSearchDropdown","hideSearchBox"],["type","button","role","button",1,"btn","btn-success",3,"click","disabled"],[1,"container-fluid","py-5","bg-light-white"],[1,"row","border-bottom","mt-12","ms-2"],[1,"col-md-2"],[1,"col-md-10","mb-5"],[1,"row"],[1,"col-6"],["matTooltip","The unique identifier for your Twilio account, used for authenticating API requests.","matTooltipPosition","above",1,"form-floating-outline"],["type","text","id","AccountSID","name","AccountSID","placeholder","Account SID",1,"form-control",3,"ngModelChange","ngModel"],["matTooltip","The authentication token for secure access to the Twilio API.","matTooltipPosition","above",1,"form-floating-outline"],["type","text","name","AuthToken","placeholder","Auth Token",1,"form-control",3,"ngModelChange","ngModel"],["matTooltip","The unique identifier for the WhatsApp message template to format your invoice content.","matTooltipPosition","above",1,"form-floating-outline"],["type","text","id","ContentTemplateSID","name","ContentTemplateSID","placeholder","Content Template SID",1,"form-control",3,"ngModelChange","ngModel"],["matTooltip","The Twilio-approved WhatsApp number from which invoices will be sent to customers.","matTooltipPosition","above",1,"form-floating-outline"],["type","text","name","From","placeholder","From",1,"form-control",3,"ngModelChange","ngModel"],["href","https://support.dealpos.com/en/articles/10574504-send-customer-invoice-via-whatsapp-receipt-by-whatsapp","target","_blank"],[1,"col-md-12"],[1,"form-floating-outline"],["name","ProductDescription","rows","15","id","ProductDescription","placeholder","Template","matTooltipPosition","above","matTooltip","Customize the e-receipt message sent to the customer's WhatsApp (validation based on encoded byte length)",1,"form-control",3,"ngModelChange","ngModel","ngClass"],["for","ProductDescription"],[1,"d-flex","justify-content-between","mt-1"],["class","text-danger",4,"ngIf"],[1,"text-danger"],[4,"ngIf"]],template:function(i,e){i&1&&C(0,X,54,13,"mainpanel-cmp",1),i&2&&d("ngIf",e.formData)},dependencies:[E,R,A,z,Q,B,k,F,L,q,j],encapsulation:2})};export{U as WhatsappComponent};
1
+ import{a as O}from"./chunk-BKS3I5O7.js";import{h as Q,i as z}from"./chunk-X4MTY5HS.js";import"./chunk-T4OLDAMN.js";import{b as H}from"./chunk-CQVVIZJ7.js";import"./chunk-52EOLV7I.js";import"./chunk-5UL73W4S.js";import"./chunk-7ARFB5UX.js";import{b as j,c as q}from"./chunk-CIBQBSM6.js";import"./chunk-5UCQBOD6.js";import"./chunk-D35OBUDE.js";import"./chunk-567HXZXC.js";import"./chunk-CGESXTHC.js";import{a as S}from"./chunk-2FWFPV5I.js";import"./chunk-TLOTIYIE.js";import{D as B,c as k,h as F,o as L}from"./chunk-P7HKWFZT.js";import"./chunk-RZ4V7O3L.js";import"./chunk-GR3EU2XL.js";import"./chunk-AHCRE4GP.js";import"./chunk-CRTHBX5Z.js";import{$a as s,$b as b,Ib as n,Jb as o,Ma as _,Ob as w,Od as P,Qb as v,Rb as l,Vd as V,Wc as R,Yd as N,Zb as y,Zc as A,_b as D,db as g,dc as M,ec as r,jc as u,jd as E,kb as T,kc as h,lc as f,ob as W,qb as C,rc as I,va as m,vb as d,wa as c}from"./chunk-DZT5XHBQ.js";import"./chunk-7DCB7DB2.js";var Y=["textReceiptCtrl"],G=p=>({"is-invalid":p});function J(p,x){p&1&&(n(0,"small"),r(1,"The text you entered exceeds the maximum allowed size when encoded for WhatsApp."),o())}function K(p,x){if(p&1&&(n(0,"div",25),C(1,J,2,0,"small",26),o()),p&2){let t=l(2);s(),d("ngIf",t.textReceiptInvalidState())}}function X(p,x){if(p&1){let t=w();n(0,"mainpanel-cmp",2)(1,"actions")(2,"button",3),v("click",function(){m(t);let e=l();return c(e.onSubmit("Setup/Configuration/WhatsappConfigurationV2"))}),r(3," Save "),o()(),n(4,"content")(5,"div",4)(6,"div",5)(7,"div",6)(8,"h5"),r(9,"WhatsApp Invoice Settings"),o(),n(10,"i"),r(11," Configure the Twilio settings required to send invoices to customers via WhatsApp. "),o()(),n(12,"div",7)(13,"div",8)(14,"div",9)(15,"div",10)(16,"input",11),f("ngModelChange",function(e){m(t);let a=l();return h(a.formData.WhatsappConfig.AccountSID,e)||(a.formData.WhatsappConfig.AccountSID=e),c(e)}),o(),n(17,"label"),r(18,"Account SID"),o()()(),n(19,"div",9)(20,"div",12)(21,"input",13),f("ngModelChange",function(e){m(t);let a=l();return h(a.formData.WhatsappConfig.AuthToken,e)||(a.formData.WhatsappConfig.AuthToken=e),c(e)}),o(),n(22,"label"),r(23,"Auth Token"),o()()()(),n(24,"div",8)(25,"div",9)(26,"div",14)(27,"input",15),f("ngModelChange",function(e){m(t);let a=l();return h(a.formData.WhatsappConfig.ContentTemplateSID,e)||(a.formData.WhatsappConfig.ContentTemplateSID=e),c(e)}),o(),n(28,"label"),r(29,"Content Template SID"),o()()(),n(30,"div",9)(31,"div",16)(32,"input",17),f("ngModelChange",function(e){m(t);let a=l();return h(a.formData.WhatsappConfig.From,e)||(a.formData.WhatsappConfig.From=e),c(e)}),o(),n(33,"label"),r(34,"From"),o()()()()()(),n(35,"div",5)(36,"div",6)(37,"h5"),r(38,"Whatsapp Receipt Settings"),o(),n(39,"i"),r(40," You can use variables like Number, Currency, Amount, ReceiptLink, and Brand. Please refer this "),n(41,"a",18),r(42,"Article"),o(),r(43," for more information. "),o()(),n(44,"div",7)(45,"div",8)(46,"div",19)(47,"div",20)(48,"textarea",21,0),f("ngModelChange",function(e){m(t);let a=l();return h(a.formData.WhatsappConfig.TextReceipt,e)||(a.formData.WhatsappConfig.TextReceipt=e),c(e)}),v("ngModelChange",function(){m(t);let e=l();return c(e.onTextReceiptChange())}),o(),n(50,"label",22),r(51,"Customize E-Receipt Template"),o(),n(52,"div",23),C(53,K,2,1,"div",24),o()()()()()()()()()}if(p&2){let t=M(49),i=l();d("pageData",i.menuData)("hideSearchDropdown",!0)("hideSearchBox",!0),s(2),d("disabled",i.textReceiptInvalidState()),s(14),u("ngModel",i.formData.WhatsappConfig.AccountSID),s(5),u("ngModel",i.formData.WhatsappConfig.AuthToken),s(6),u("ngModel",i.formData.WhatsappConfig.ContentTemplateSID),s(5),u("ngModel",i.formData.WhatsappConfig.From),s(16),u("ngModel",i.formData.WhatsappConfig.TextReceipt),d("ngClass",I(11,G,(i.textReceiptInvalidState()||t.invalid)&&(t.dirty||t.touched))),s(5),d("ngIf",(i.textReceiptInvalidState()||t.invalid)&&(t.dirty||t.touched))}}var U=class p extends O{constructor(t,i,e,a){super(t,i,"Setup/ConfigurationLoader/WhatsappConfigurationV2",e);this.httpService=i;this.activatedRoute=e;this.toaster=a}textReceiptCtrl;maxTextLength=1920;textReceiptInvalidState=_(!1);encodeLength=_(0);postBindForm(t){this.validateTextReceipt(),this.initReceiptTemplateCtrl()}initReceiptTemplateCtrl(){setTimeout(()=>{this.textReceiptCtrl.control.markAllAsTouched()})}validateTextReceipt(){if(!this.formData?.WhatsappConfig?.TextReceipt){this.textReceiptInvalidState.set(!1);return}let t=this.formData.WhatsappConfig?.TextReceipt,i=encodeURIComponent(t)?.length;this.encodeLength.set(i);let e=i>this.maxTextLength;this.textReceiptInvalidState.set(e)}onTextReceiptChange(){if(this.validateTextReceipt(),this.textReceiptCtrl){let t=this.textReceiptInvalidState()||this.textReceiptCtrl.invalid;this.textReceiptInvalidState.set(t)}}onSubmitSuccess(t){t?.MessageWarning?this.toaster.warning(t.MessageWarning,S.Warning):this.toaster.success("Config has been updated succesfully!",S.Success)}static \u0275fac=function(i){return new(i||p)(g(H),g(N),g(P),g(V))};static \u0275cmp=T({type:p,selectors:[["app-whatsapp"]],viewQuery:function(i,e){if(i&1&&y(Y,5),i&2){let a;D(a=b())&&(e.textReceiptCtrl=a.first)}},features:[W],decls:1,vars:1,consts:[["textReceiptCtrl","ngModel"],[3,"pageData","hideSearchDropdown","hideSearchBox",4,"ngIf"],[3,"pageData","hideSearchDropdown","hideSearchBox"],["type","button","role","button",1,"btn","btn-success",3,"click","disabled"],[1,"container-fluid","py-5","bg-light-white"],[1,"row","border-bottom","mt-12","ms-2"],[1,"col-md-2"],[1,"col-md-10","mb-5"],[1,"row"],[1,"col-6"],["matTooltip","The unique identifier for your Twilio account, used for authenticating API requests.","matTooltipPosition","above",1,"form-floating-outline"],["type","text","id","AccountSID","name","AccountSID","placeholder","Account SID",1,"form-control",3,"ngModelChange","ngModel"],["matTooltip","The authentication token for secure access to the Twilio API.","matTooltipPosition","above",1,"form-floating-outline"],["type","text","name","AuthToken","placeholder","Auth Token",1,"form-control",3,"ngModelChange","ngModel"],["matTooltip","The unique identifier for the WhatsApp message template to format your invoice content.","matTooltipPosition","above",1,"form-floating-outline"],["type","text","id","ContentTemplateSID","name","ContentTemplateSID","placeholder","Content Template SID",1,"form-control",3,"ngModelChange","ngModel"],["matTooltip","The Twilio-approved WhatsApp number from which invoices will be sent to customers.","matTooltipPosition","above",1,"form-floating-outline"],["type","text","name","From","placeholder","From",1,"form-control",3,"ngModelChange","ngModel"],["href","https://support.dealpos.com/en/articles/10574504-send-customer-invoice-via-whatsapp-receipt-by-whatsapp","target","_blank"],[1,"col-md-12"],[1,"form-floating-outline"],["name","ProductDescription","rows","15","id","ProductDescription","placeholder","Template","matTooltipPosition","above","matTooltip","Customize the e-receipt message sent to the customer's WhatsApp (validation based on encoded byte length)",1,"form-control",3,"ngModelChange","ngModel","ngClass"],["for","ProductDescription"],[1,"d-flex","justify-content-between","mt-1"],["class","text-danger",4,"ngIf"],[1,"text-danger"],[4,"ngIf"]],template:function(i,e){i&1&&C(0,X,54,13,"mainpanel-cmp",1),i&2&&d("ngIf",e.formData)},dependencies:[E,R,A,z,Q,B,k,F,L,q,j],encapsulation:2})};export{U as WhatsappComponent};