dealpos 25.34.0 → 25.34.1

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 (82) hide show
  1. package/browser/{chunk-OIRMOCS4.js → chunk-26U6TQCL.js} +1 -1
  2. package/browser/{chunk-6XMKXNUD.js → chunk-2OMEZ74I.js} +1 -1
  3. package/browser/{chunk-MQUDT6I7.js → chunk-2UN5FQLR.js} +1 -1
  4. package/browser/{chunk-AQ2ZO5FT.js → chunk-2XFGPNRX.js} +1 -1
  5. package/browser/{chunk-D7SQOBYW.js → chunk-36RGBV34.js} +1 -1
  6. package/browser/{chunk-IX2JNVQG.js → chunk-3H3Q54I7.js} +2 -2
  7. package/browser/{chunk-TECRKQCQ.js → chunk-3VA5WMWZ.js} +1 -1
  8. package/browser/{chunk-NGUVGLT6.js → chunk-3YFATA26.js} +1 -1
  9. package/browser/{chunk-CG3LHBTY.js → chunk-3Z5CZZ6X.js} +1 -1
  10. package/browser/{chunk-JE7TQHKP.js → chunk-43CUXODX.js} +1 -1
  11. package/browser/{chunk-SF3UHVZK.js → chunk-4C2QE4YI.js} +1 -1
  12. package/browser/{chunk-4X3IHKGN.js → chunk-57JVQ5XT.js} +1 -1
  13. package/browser/{chunk-OF3RQVSP.js → chunk-5GGG4GND.js} +1 -1
  14. package/browser/{chunk-BHKIUKLO.js → chunk-5WYC7FO6.js} +1 -1
  15. package/browser/{chunk-BZIEM5JR.js → chunk-5ZCNYDCJ.js} +1 -1
  16. package/browser/{chunk-MUPHF5TB.js → chunk-64MZA77G.js} +1 -1
  17. package/browser/chunk-6IHCBHSE.js +2 -0
  18. package/browser/{chunk-OYIQCP6Z.js → chunk-BC3QHOF7.js} +1 -1
  19. package/browser/{chunk-MRTHY36I.js → chunk-BP7CJNHN.js} +1 -1
  20. package/browser/{chunk-4SKEBIZF.js → chunk-CAC2DS3M.js} +1 -1
  21. package/browser/{chunk-D7L3W4VY.js → chunk-CBDM5J7M.js} +1 -1
  22. package/browser/{chunk-4RPQ7IBJ.js → chunk-CLYU2LHR.js} +1 -1
  23. package/browser/{chunk-5LC3OJCF.js → chunk-DF4WNZ6Y.js} +1 -1
  24. package/browser/{chunk-AJQPFXUA.js → chunk-DNIBZXGV.js} +1 -1
  25. package/browser/{chunk-S7G6VPKJ.js → chunk-DXHZWPYP.js} +2 -2
  26. package/browser/{chunk-RUQDXZED.js → chunk-EBSSDFZZ.js} +1 -1
  27. package/browser/{chunk-Y3YTJBIK.js → chunk-ETTIK367.js} +1 -1
  28. package/browser/{chunk-QVB3XCM6.js → chunk-FH6QQHH6.js} +1 -1
  29. package/browser/{chunk-V5HW53T7.js → chunk-FSPLCPQ4.js} +1 -1
  30. package/browser/{chunk-G24ZLX2K.js → chunk-G2QVLA6R.js} +1 -1
  31. package/browser/{chunk-3N6AUCD7.js → chunk-GWG7WRVP.js} +1 -1
  32. package/browser/{chunk-F53VT257.js → chunk-IOAB2GMO.js} +1 -1
  33. package/browser/{chunk-ITTYBBLT.js → chunk-IOEKVELS.js} +1 -1
  34. package/browser/{chunk-UBYH2G4C.js → chunk-KMKWQ2QP.js} +2 -2
  35. package/browser/{chunk-ABA4JXYS.js → chunk-LC4PI4K6.js} +1 -1
  36. package/browser/{chunk-NVNZH2V6.js → chunk-LH6HEU7W.js} +1 -1
  37. package/browser/{chunk-TO46BZOY.js → chunk-LKCQXF5A.js} +1 -1
  38. package/browser/{chunk-PKD7M2GD.js → chunk-LPZZU4W7.js} +1 -1
  39. package/browser/{chunk-BY6KBKOT.js → chunk-NCORWQZN.js} +1 -1
  40. package/browser/{chunk-NZCAV5XD.js → chunk-NJGIKPSO.js} +1 -1
  41. package/browser/{chunk-H6HXG5VZ.js → chunk-NSFBVDKX.js} +1 -1
  42. package/browser/{chunk-OBNGFAYN.js → chunk-NXQTU6P3.js} +1 -1
  43. package/browser/{chunk-CIF2Z4RU.js → chunk-NY66EA6F.js} +1 -1
  44. package/browser/{chunk-TV5QMWOM.js → chunk-OR7N7CSR.js} +1 -1
  45. package/browser/{chunk-2QTZUUZ2.js → chunk-PBQ234TA.js} +1 -1
  46. package/browser/{chunk-EAOYPLNT.js → chunk-PDGZ5NZX.js} +1 -1
  47. package/browser/{chunk-OWXB2H6E.js → chunk-R3UHPMNN.js} +1 -1
  48. package/browser/{chunk-EFEXATEO.js → chunk-RBLT7TTZ.js} +1 -1
  49. package/browser/{chunk-DJCPWUB6.js → chunk-RD5HGAJH.js} +1 -1
  50. package/browser/{chunk-IHA2HI2P.js → chunk-RJUFWPXG.js} +1 -1
  51. package/browser/{chunk-AZFHJDDY.js → chunk-SGGVO55K.js} +1 -1
  52. package/browser/{chunk-XWGUGGJP.js → chunk-SONQYL4J.js} +1 -1
  53. package/browser/{chunk-UNYPUZCJ.js → chunk-SQVMTAI2.js} +1 -1
  54. package/browser/chunk-T56QSFQS.js +1 -0
  55. package/browser/{chunk-22E2CQ4K.js → chunk-TNEGOJTY.js} +1 -1
  56. package/browser/chunk-UBBDPYIG.js +3 -0
  57. package/browser/{chunk-UBMEYIZB.js → chunk-UOCP6QTZ.js} +1 -1
  58. package/browser/{chunk-KZ3QOD7N.js → chunk-UQU2VLMB.js} +4 -4
  59. package/browser/chunk-UTWTOJPR.js +5 -0
  60. package/browser/{chunk-K33S7FXE.js → chunk-UZDFE5I7.js} +1 -1
  61. package/browser/chunk-V2QCWCPT.js +1 -0
  62. package/browser/{chunk-PQ6AZ6LD.js → chunk-V2TGWSBG.js} +1 -1
  63. package/browser/{chunk-2L7VI2SV.js → chunk-VATYB7D2.js} +1 -1
  64. package/browser/chunk-VBGFPCZ3.js +12 -0
  65. package/browser/{chunk-NBFXU73D.js → chunk-VSI4JNSZ.js} +1 -1
  66. package/browser/{chunk-API3ZWFL.js → chunk-WXMYB7ME.js} +1 -1
  67. package/browser/{chunk-KEGMEHLA.js → chunk-X3WVCXXG.js} +1 -1
  68. package/browser/{chunk-GBHJUDUG.js → chunk-XGTQTP5F.js} +1 -1
  69. package/browser/{chunk-X6MHG75V.js → chunk-XL3XCQTT.js} +1 -1
  70. package/browser/{chunk-OYFH6FDY.js → chunk-YGOR7BZI.js} +1 -1
  71. package/browser/{chunk-Z3HKGDRN.js → chunk-YH5B36PP.js} +1 -1
  72. package/browser/{chunk-2MBINFQW.js → chunk-Z5A2EY24.js} +1 -1
  73. package/browser/{chunk-IC27DRPR.js → chunk-ZJADGYH2.js} +1 -1
  74. package/browser/index.html +2 -2
  75. package/browser/{main-KFV37A5N.js → main-STTU72FT.js} +2 -2
  76. package/package.json +1 -1
  77. package/browser/chunk-2Y7ETRYY.js +0 -1
  78. package/browser/chunk-6NJ7D7PF.js +0 -2
  79. package/browser/chunk-7LGIJYLC.js +0 -3
  80. package/browser/chunk-JOK2ZJBB.js +0 -1
  81. package/browser/chunk-TPQEOIK7.js +0 -5
  82. package/browser/chunk-V2MRBY42.js +0 -12
@@ -1,4 +1,4 @@
1
- import{a as ji}from"./chunk-VFJPOXT6.js";import{a as Li,c as Qi}from"./chunk-6CDGFNNW.js";import{a as Kt}from"./chunk-5Q3HGSZF.js";import{a as ki,b as Vi,c as Ri,d as $i,e as Bi,f as Be}from"./chunk-D52JQ3MJ.js";import"./chunk-ZZNHFTQQ.js";import{a as Fi}from"./chunk-LJW4PWIO.js";import{a as Wt}from"./chunk-F7A5YBE3.js";import{a as hi}from"./chunk-HYW3752X.js";import{a as qt}from"./chunk-TPQEOIK7.js";import{a as In}from"./chunk-6JDIOP24.js";import{c as Mi,d as Pi}from"./chunk-D7BXRSNE.js";import"./chunk-Q4A7DDAZ.js";import{a as Ei}from"./chunk-5X4TYOVV.js";import{a as Ni}from"./chunk-COYV3BME.js";import"./chunk-CESNQI72.js";import"./chunk-SE7OFLAL.js";import"./chunk-SSHYD4OE.js";import"./chunk-WLRXTHLM.js";import{a as Ht,b as Si,c as Ii}from"./chunk-ALB3KGN5.js";import"./chunk-RQ2KLKBZ.js";import{a as Pt}from"./chunk-UN45PHQC.js";import"./chunk-MPU5CCEX.js";import"./chunk-BYXBJQAS.js";import"./chunk-RW6DQMII.js";import{b as _i}from"./chunk-EHJK2TZP.js";import"./chunk-3KWHPBIS.js";import"./chunk-D4XF6ATY.js";import"./chunk-PP6MNON6.js";import{d as vi,e as Ut}from"./chunk-OEP3LYTH.js";import"./chunk-YK5T2UAX.js";import"./chunk-3RK6DDJD.js";import"./chunk-ZW6IATXM.js";import{a as Ai}from"./chunk-HBAMQBGL.js";import"./chunk-PZXRSIP6.js";import{a as oi}from"./chunk-UD6LJYER.js";import{b as Oi,c as Ti,d as wi}from"./chunk-3DNIXXKN.js";import{b as Di}from"./chunk-OO3NXLPI.js";import{a as Jt,b as Gt}from"./chunk-FJMA54MJ.js";import"./chunk-DWJWACWY.js";import"./chunk-SCGWHTH7.js";import"./chunk-YZNN2TWC.js";import{e as vt}from"./chunk-SM5U723M.js";import"./chunk-LIZXMNGH.js";import{a as xi}from"./chunk-ASUCEKKD.js";import"./chunk-BYXBJQAS.js";import{a as Qt}from"./chunk-JFW3YXFQ.js";import"./chunk-ZRO2AZMB.js";import"./chunk-CO5HNLC3.js";import{a as ri,b as li,c as si}from"./chunk-EDH3WSAT.js";import"./chunk-3LN2ZQ5M.js";import"./chunk-GF3LE5GG.js";import"./chunk-FQT6I56Q.js";import"./chunk-VJPD6EYA.js";import"./chunk-PILVBZE6.js";import{a as ci,d as pi,f as mi,h as di}from"./chunk-EXXHAXIE.js";import{a as ot,b as at}from"./chunk-IRFJ42AU.js";import{a as ui,b as fi}from"./chunk-UNYPUZCJ.js";import"./chunk-R252C5HM.js";import{a as ii}from"./chunk-AFTCPQ2Z.js";import{B as Lt,C as we,D as Ee,E as Ne,F as gi,H as yi,I as bi,O as Ci,q as ai,u as Te,v as Re,w as ne}from"./chunk-BSUUV75R.js";import{ga as bt,ha as Ct}from"./chunk-H34CGBCE.js";import{P as $e}from"./chunk-23F7BAD4.js";import{a as zn,b as Yn,c as Xn}from"./chunk-GIKR6Y2K.js";import{e as _t}from"./chunk-6Y6JUUIW.js";import{a as ee}from"./chunk-LS4HUMWF.js";import"./chunk-LAKOPFJU.js";import"./chunk-SDIK6O2Z.js";import{a as xe}from"./chunk-2FWFPV5I.js";import"./chunk-4SXNNKVU.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-K2RY2UAW.js";import{a as ni}from"./chunk-SF3UHVZK.js";import{a as P,d as De}from"./chunk-7JSHH4R2.js";import"./chunk-2L7VI2SV.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-4JRXN7L6.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-VFJPOXT6.js";import{a as Li,c as Qi}from"./chunk-6CDGFNNW.js";import{a as Kt}from"./chunk-5Q3HGSZF.js";import{a as ki,b as Vi,c as Ri,d as $i,e as Bi,f as Be}from"./chunk-D52JQ3MJ.js";import"./chunk-ZZNHFTQQ.js";import{a as Fi}from"./chunk-LJW4PWIO.js";import{a as Wt}from"./chunk-F7A5YBE3.js";import{a as hi}from"./chunk-HYW3752X.js";import{a as qt}from"./chunk-UTWTOJPR.js";import{a as In}from"./chunk-6JDIOP24.js";import{c as Mi,d as Pi}from"./chunk-D7BXRSNE.js";import"./chunk-Q4A7DDAZ.js";import{a as Ei}from"./chunk-5X4TYOVV.js";import{a as Ni}from"./chunk-COYV3BME.js";import"./chunk-CESNQI72.js";import"./chunk-SE7OFLAL.js";import"./chunk-SSHYD4OE.js";import"./chunk-WLRXTHLM.js";import{a as Ht,b as Si,c as Ii}from"./chunk-ALB3KGN5.js";import"./chunk-RQ2KLKBZ.js";import{a as Pt}from"./chunk-UN45PHQC.js";import"./chunk-MPU5CCEX.js";import"./chunk-BYXBJQAS.js";import"./chunk-RW6DQMII.js";import{b as _i}from"./chunk-EHJK2TZP.js";import"./chunk-3KWHPBIS.js";import"./chunk-D4XF6ATY.js";import"./chunk-PP6MNON6.js";import{d as vi,e as Ut}from"./chunk-OEP3LYTH.js";import"./chunk-YK5T2UAX.js";import"./chunk-3RK6DDJD.js";import"./chunk-ZW6IATXM.js";import{a as Ai}from"./chunk-HBAMQBGL.js";import"./chunk-PZXRSIP6.js";import{a as oi}from"./chunk-UD6LJYER.js";import{b as Oi,c as Ti,d as wi}from"./chunk-3DNIXXKN.js";import{b as Di}from"./chunk-OO3NXLPI.js";import{a as Jt,b as Gt}from"./chunk-FJMA54MJ.js";import"./chunk-DWJWACWY.js";import"./chunk-SCGWHTH7.js";import"./chunk-YZNN2TWC.js";import{e as vt}from"./chunk-SM5U723M.js";import"./chunk-LIZXMNGH.js";import{a as xi}from"./chunk-ASUCEKKD.js";import"./chunk-BYXBJQAS.js";import{a as Qt}from"./chunk-JFW3YXFQ.js";import"./chunk-ZRO2AZMB.js";import"./chunk-CO5HNLC3.js";import{a as ri,b as li,c as si}from"./chunk-EDH3WSAT.js";import"./chunk-3LN2ZQ5M.js";import"./chunk-GF3LE5GG.js";import"./chunk-FQT6I56Q.js";import"./chunk-VJPD6EYA.js";import"./chunk-PILVBZE6.js";import{a as ci,d as pi,f as mi,h as di}from"./chunk-EXXHAXIE.js";import{a as ot,b as at}from"./chunk-IRFJ42AU.js";import{a as ui,b as fi}from"./chunk-SQVMTAI2.js";import"./chunk-R252C5HM.js";import{a as ii}from"./chunk-AFTCPQ2Z.js";import{B as Lt,C as we,D as Ee,E as Ne,F as gi,H as yi,I as bi,O as Ci,q as ai,u as Te,v as Re,w as ne}from"./chunk-BSUUV75R.js";import{ga as bt,ha as Ct}from"./chunk-H34CGBCE.js";import{P as $e}from"./chunk-23F7BAD4.js";import{a as zn,b as Yn,c as Xn}from"./chunk-GIKR6Y2K.js";import{e as _t}from"./chunk-6Y6JUUIW.js";import{a as ee}from"./chunk-LS4HUMWF.js";import"./chunk-LAKOPFJU.js";import"./chunk-SDIK6O2Z.js";import{a as xe}from"./chunk-2FWFPV5I.js";import"./chunk-4SXNNKVU.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-K2RY2UAW.js";import{a as ni}from"./chunk-4C2QE4YI.js";import{a as P,d as De}from"./chunk-7JSHH4R2.js";import"./chunk-VATYB7D2.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-4JRXN7L6.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" />
@@ -1 +1 @@
1
- import{c as U,d as W}from"./chunk-IHA2HI2P.js";import{a as X,b as Y}from"./chunk-Y4GWMIHA.js";import{ga as K,ha as Q}from"./chunk-H34CGBCE.js";import{a as A}from"./chunk-IXGNTK76.js";import{ja as J}from"./chunk-4SXNNKVU.js";import{D as G,h as B,o as q}from"./chunk-K2RY2UAW.js";import{a as C}from"./chunk-7JSHH4R2.js";import{$a as _,Ac as k,Db as H,Fa as M,Fc as F,Ib as c,Jb as m,Nb as L,Ob as V,Qb as j,Rb as n,Y as S,Yd as d,bd as N,ca as h,cd as P,d as x,db as b,dc as I,ec as v,fa as T,ga as u,gc as E,ja as w,jd as z,kb as $,ma as O,na as D,o as f,qb as a,va as p,vb as l,wa as g,zc as R}from"./chunk-4JRXN7L6.js";var y=class o{signalRClient=D(A);continuedCategories$;allCategories$;_onOpenTreeSelector=new x;onOpenTreeSelector$=this._onOpenTreeSelector.asObservable();constructor(t){this.continuedCategories$=this.onOpenTreeSelector$.pipe(u(this.signalRClient.recacheCategory$),h((e,[i,r])=>r||!e.length?(this.signalRClient.resetCategoryCache(),t.post("/api/catalog/product/GetProductStorageOptions")):f(e),[]),S(1)),this.allCategories$=this.onOpenTreeSelector$.pipe(u(this.signalRClient.recacheCategory$),h((e,[i,r])=>r||!e.length?t.get("/API/catalog/category/SelectOptions"):f(e),[]),S(1))}onOpenTreeSelector(){this._onOpenTreeSelector.next(!0)}forceLoadCategories(){this._onOpenTreeSelector.next(!0)}static \u0275fac=function(e){return new(e||o)(O(d))};static \u0275prov=w({token:o,factory:o.\u0275fac,providedIn:"root"})};function ie(o,t){o&1&&L(0)}function re(o,t){if(o&1&&(c(0,"p-floatLabel",1),a(1,ie,1,0,"ng-container",2),c(2,"label",3),v(3,"Category"),m()()),o&2){n();let e=I(3);_(),l("ngTemplateOutlet",e)}}function ne(o,t){o&1&&L(0)}function ae(o,t){if(o&1&&a(0,ne,1,0,"ng-container",2),o&2){n();let e=I(3);l("ngTemplateOutlet",e)}}function le(o,t){if(o&1&&(c(0,"div",6),v(1),m()),o&2){let e=n(2);l("matTooltip",e.selectedCategoryLabel),_(),E(" ",e.selectedCategoryLabel," ")}}function ce(o,t){if(o&1){let e=V();c(0,"p-treeSelect",4),R(1,"async"),j("click",function(){p(e);let r=n();return g(r.loadCategories())})("ngModelChange",function(r){p(e);let s=n();return g(s.onSelectCategory(r))})("onClear",function(){p(e);let r=n();return g(r.onClear())}),a(2,le,2,2,"ng-template",5),m()}if(o&2){let e=n();l("options",k(1,3,e.categories$))("ngModel",e.selectedCategory)("showClear",e.showClear)}}var Z=class o{constructor(t,e){this.http=t;this.treeSelector=e}continuedCategoriesOnly=!0;categories=[];showClear=!1;showLabel=!1;isInitializedCategoryLabel=!1;selectedCategory;selectedCategoryID;selectedCategoryIDChange=new M;selectedCategoryLabel;top=0;isLoadCategories=!1;categories$;ngAfterViewInit(){let t=document.querySelector("body");this.top=t.getBoundingClientRect().top*-1}ngOnInit(){this.isInitializedCategoryLabel&&(C.IsEmpty(this.selectedCategoryID)&&C.IsNotEmpty(this.categories)&&(this.selectedCategoryID=this.categories[0]?.key),this.selectedCategory=this.findSelectedCategory(this.categories,this.selectedCategoryID),this.generateLabelSelectedCategory(this.selectedCategory)),this.categories$=this.continuedCategoriesOnly?this.treeSelector.continuedCategories$:this.treeSelector.allCategories$,this.categories$=this.categories$.pipe(T(t=>{this.selectedCategory=this.findSelectedCategory(t,this.selectedCategoryID),this.generateLabelSelectedCategory(this.selectedCategory)}))}onSelectCategory(t){this.selectedCategory=t,this.generateLabelSelectedCategory(this.selectedCategory),this.selectedCategoryID=t?.key,this.selectedCategoryIDChange.emit(this.selectedCategoryID)}generateLabelSelectedCategory(t){if(t){let e=[];this.selectedCategoryLabel="";do e=[...e,t.label],t=t.parent;while(t!==void 0);this.selectedCategoryLabel=e.reverse().join("/")}else this.selectedCategoryLabel="Select Storage Location"}findSelectedCategory(t,e){if(C.IsNotEmpty(e))for(let i of t){if(i.key===e)return i;{i.children=i.children?i.children:[],i.children=i.children.map(s=>(s.parent=i,s));let r=this.findSelectedCategory(i.children,e);if(r)return r}}else return null}loadCategories(){this.treeSelector.onOpenTreeSelector()}onClear(){this.selectedCategoryID=null,this.selectedCategoryIDChange.emit(this.selectedCategoryID)}static \u0275fac=function(e){return new(e||o)(b(d),b(y))};static \u0275cmp=$({type:o,selectors:[["POS-storage-location-select"]],inputs:{continuedCategoriesOnly:"continuedCategoriesOnly",categories:"categories",showClear:"showClear",showLabel:"showLabel",isInitializedCategoryLabel:"isInitializedCategoryLabel",selectedCategoryID:"selectedCategoryID"},outputs:{selectedCategoryIDChange:"selectedCategoryIDChange"},decls:4,vars:1,consts:[["categorySelectTemplate",""],["variant","on",1,"w-100"],[4,"ngTemplateOutlet"],["for","selectCategory",1,"tree-category-label"],["appendTo","body","selectionMode","single","filter","true","filterInputAutoFocus","true","scrollHeight","250px","inputId","selectCategory","placeholder","Select Storage Location",3,"click","ngModelChange","onClear","options","ngModel","showClear"],["pTemplate","value"],["matTooltipPosition","above",3,"matTooltip"]],template:function(e,i){e&1&&a(0,re,4,1,"p-floatLabel",1)(1,ae,1,1,"ng-container")(2,ce,3,5,"ng-template",null,0,F),e&2&&H(i.showLabel?0:1)},dependencies:[z,N,P,Q,K,W,U,J,G,B,q,Y,X],styles:[".p-popover.p-component{z-index:10000000000000000000000!important} .p-treeselect-panel .p-treeselect-items-wrapper .p-tree{padding-left:4px!important} .p-float-label .p-inputwrapper-filled~label.tree-category-label{left:.5rem!important}"]})};export{Z as a};
1
+ import{c as U,d as W}from"./chunk-RJUFWPXG.js";import{a as X,b as Y}from"./chunk-Y4GWMIHA.js";import{ga as K,ha as Q}from"./chunk-H34CGBCE.js";import{a as A}from"./chunk-IXGNTK76.js";import{ja as J}from"./chunk-4SXNNKVU.js";import{D as G,h as B,o as q}from"./chunk-K2RY2UAW.js";import{a as C}from"./chunk-7JSHH4R2.js";import{$a as _,Ac as k,Db as H,Fa as M,Fc as F,Ib as c,Jb as m,Nb as L,Ob as V,Qb as j,Rb as n,Y as S,Yd as d,bd as N,ca as h,cd as P,d as x,db as b,dc as I,ec as v,fa as T,ga as u,gc as E,ja as w,jd as z,kb as $,ma as O,na as D,o as f,qb as a,va as p,vb as l,wa as g,zc as R}from"./chunk-4JRXN7L6.js";var y=class o{signalRClient=D(A);continuedCategories$;allCategories$;_onOpenTreeSelector=new x;onOpenTreeSelector$=this._onOpenTreeSelector.asObservable();constructor(t){this.continuedCategories$=this.onOpenTreeSelector$.pipe(u(this.signalRClient.recacheCategory$),h((e,[i,r])=>r||!e.length?(this.signalRClient.resetCategoryCache(),t.post("/api/catalog/product/GetProductStorageOptions")):f(e),[]),S(1)),this.allCategories$=this.onOpenTreeSelector$.pipe(u(this.signalRClient.recacheCategory$),h((e,[i,r])=>r||!e.length?t.get("/API/catalog/category/SelectOptions"):f(e),[]),S(1))}onOpenTreeSelector(){this._onOpenTreeSelector.next(!0)}forceLoadCategories(){this._onOpenTreeSelector.next(!0)}static \u0275fac=function(e){return new(e||o)(O(d))};static \u0275prov=w({token:o,factory:o.\u0275fac,providedIn:"root"})};function ie(o,t){o&1&&L(0)}function re(o,t){if(o&1&&(c(0,"p-floatLabel",1),a(1,ie,1,0,"ng-container",2),c(2,"label",3),v(3,"Category"),m()()),o&2){n();let e=I(3);_(),l("ngTemplateOutlet",e)}}function ne(o,t){o&1&&L(0)}function ae(o,t){if(o&1&&a(0,ne,1,0,"ng-container",2),o&2){n();let e=I(3);l("ngTemplateOutlet",e)}}function le(o,t){if(o&1&&(c(0,"div",6),v(1),m()),o&2){let e=n(2);l("matTooltip",e.selectedCategoryLabel),_(),E(" ",e.selectedCategoryLabel," ")}}function ce(o,t){if(o&1){let e=V();c(0,"p-treeSelect",4),R(1,"async"),j("click",function(){p(e);let r=n();return g(r.loadCategories())})("ngModelChange",function(r){p(e);let s=n();return g(s.onSelectCategory(r))})("onClear",function(){p(e);let r=n();return g(r.onClear())}),a(2,le,2,2,"ng-template",5),m()}if(o&2){let e=n();l("options",k(1,3,e.categories$))("ngModel",e.selectedCategory)("showClear",e.showClear)}}var Z=class o{constructor(t,e){this.http=t;this.treeSelector=e}continuedCategoriesOnly=!0;categories=[];showClear=!1;showLabel=!1;isInitializedCategoryLabel=!1;selectedCategory;selectedCategoryID;selectedCategoryIDChange=new M;selectedCategoryLabel;top=0;isLoadCategories=!1;categories$;ngAfterViewInit(){let t=document.querySelector("body");this.top=t.getBoundingClientRect().top*-1}ngOnInit(){this.isInitializedCategoryLabel&&(C.IsEmpty(this.selectedCategoryID)&&C.IsNotEmpty(this.categories)&&(this.selectedCategoryID=this.categories[0]?.key),this.selectedCategory=this.findSelectedCategory(this.categories,this.selectedCategoryID),this.generateLabelSelectedCategory(this.selectedCategory)),this.categories$=this.continuedCategoriesOnly?this.treeSelector.continuedCategories$:this.treeSelector.allCategories$,this.categories$=this.categories$.pipe(T(t=>{this.selectedCategory=this.findSelectedCategory(t,this.selectedCategoryID),this.generateLabelSelectedCategory(this.selectedCategory)}))}onSelectCategory(t){this.selectedCategory=t,this.generateLabelSelectedCategory(this.selectedCategory),this.selectedCategoryID=t?.key,this.selectedCategoryIDChange.emit(this.selectedCategoryID)}generateLabelSelectedCategory(t){if(t){let e=[];this.selectedCategoryLabel="";do e=[...e,t.label],t=t.parent;while(t!==void 0);this.selectedCategoryLabel=e.reverse().join("/")}else this.selectedCategoryLabel="Select Storage Location"}findSelectedCategory(t,e){if(C.IsNotEmpty(e))for(let i of t){if(i.key===e)return i;{i.children=i.children?i.children:[],i.children=i.children.map(s=>(s.parent=i,s));let r=this.findSelectedCategory(i.children,e);if(r)return r}}else return null}loadCategories(){this.treeSelector.onOpenTreeSelector()}onClear(){this.selectedCategoryID=null,this.selectedCategoryIDChange.emit(this.selectedCategoryID)}static \u0275fac=function(e){return new(e||o)(b(d),b(y))};static \u0275cmp=$({type:o,selectors:[["POS-storage-location-select"]],inputs:{continuedCategoriesOnly:"continuedCategoriesOnly",categories:"categories",showClear:"showClear",showLabel:"showLabel",isInitializedCategoryLabel:"isInitializedCategoryLabel",selectedCategoryID:"selectedCategoryID"},outputs:{selectedCategoryIDChange:"selectedCategoryIDChange"},decls:4,vars:1,consts:[["categorySelectTemplate",""],["variant","on",1,"w-100"],[4,"ngTemplateOutlet"],["for","selectCategory",1,"tree-category-label"],["appendTo","body","selectionMode","single","filter","true","filterInputAutoFocus","true","scrollHeight","250px","inputId","selectCategory","placeholder","Select Storage Location",3,"click","ngModelChange","onClear","options","ngModel","showClear"],["pTemplate","value"],["matTooltipPosition","above",3,"matTooltip"]],template:function(e,i){e&1&&a(0,re,4,1,"p-floatLabel",1)(1,ae,1,1,"ng-container")(2,ce,3,5,"ng-template",null,0,F),e&2&&H(i.showLabel?0:1)},dependencies:[z,N,P,Q,K,W,U,J,G,B,q,Y,X],styles:[".p-popover.p-component{z-index:10000000000000000000000!important} .p-treeselect-panel .p-treeselect-items-wrapper .p-tree{padding-left:4px!important} .p-float-label .p-inputwrapper-filled~label.tree-category-label{left:.5rem!important}"]})};export{Z as a};