dealpos 25.33.4 → 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 (133) hide show
  1. package/browser/{chunk-BK4IXPIR.js → chunk-26U6TQCL.js} +1 -1
  2. package/browser/{chunk-YQ4PVPM5.js → chunk-2EJP5IOY.js} +1 -1
  3. package/browser/{chunk-UVQKFBA3.js → chunk-2OMEZ74I.js} +1 -1
  4. package/browser/{chunk-Q263EILY.js → chunk-2UN5FQLR.js} +1 -1
  5. package/browser/{chunk-AVFVGWKJ.js → chunk-2XFGPNRX.js} +1 -1
  6. package/browser/{chunk-BKIH33XY.js → chunk-36RGBV34.js} +1 -1
  7. package/browser/{chunk-GLN44K5B.js → chunk-3H3Q54I7.js} +4 -4
  8. package/browser/{chunk-P6EVHTBX.js → chunk-3VA5WMWZ.js} +1 -1
  9. package/browser/{chunk-MK2WRGKB.js → chunk-3YFATA26.js} +1 -1
  10. package/browser/{chunk-LUPAWFDF.js → chunk-3Z5CZZ6X.js} +1 -1
  11. package/browser/{chunk-XMZCWDFS.js → chunk-43CUXODX.js} +1 -1
  12. package/browser/{chunk-UFFPCUVM.js → chunk-4C2QE4YI.js} +1 -1
  13. package/browser/{chunk-C3N7XCPM.js → chunk-4FV2RWKT.js} +1 -1
  14. package/browser/{chunk-CA6TV26I.js → chunk-4MJTGDKH.js} +1 -1
  15. package/browser/{chunk-TZCKFKVH.js → chunk-57JVQ5XT.js} +1 -1
  16. package/browser/{chunk-LTNWX5SW.js → chunk-5GGG4GND.js} +1 -1
  17. package/browser/{chunk-2QIJACIE.js → chunk-5Q3HGSZF.js} +1 -1
  18. package/browser/{chunk-553HEGFQ.js → chunk-5WYC7FO6.js} +1 -1
  19. package/browser/chunk-5ZCNYDCJ.js +1 -0
  20. package/browser/{chunk-GWGVFGLW.js → chunk-64MZA77G.js} +1 -1
  21. package/browser/{chunk-NA4Q6BMJ.js → chunk-6CDGFNNW.js} +1 -1
  22. package/browser/chunk-6FP2SUXE.js +1 -0
  23. package/browser/{chunk-HJCDNWGJ.js → chunk-6IHCBHSE.js} +2 -2
  24. package/browser/{chunk-3GFVCNY7.js → chunk-ALB3KGN5.js} +1 -1
  25. package/browser/chunk-B5FODXLM.js +1 -0
  26. package/browser/{chunk-ZIPQEAWO.js → chunk-BC3QHOF7.js} +1 -1
  27. package/browser/{chunk-WPORWVTJ.js → chunk-BP7CJNHN.js} +1 -1
  28. package/browser/{chunk-O5YBRGFV.js → chunk-BRIR6QQO.js} +1 -1
  29. package/browser/{chunk-P36Z2Q2X.js → chunk-BSUUV75R.js} +12 -12
  30. package/browser/chunk-CAC2DS3M.js +2 -0
  31. package/browser/{chunk-BSA47IFY.js → chunk-CBDM5J7M.js} +1 -1
  32. package/browser/chunk-CHDFAQ7W.js +1 -0
  33. package/browser/{chunk-4INA2GF3.js → chunk-CLYU2LHR.js} +1 -1
  34. package/browser/{chunk-TRURAFXK.js → chunk-COYV3BME.js} +1 -1
  35. package/browser/{chunk-UNERUJ6Z.js → chunk-D52JQ3MJ.js} +1 -1
  36. package/browser/{chunk-DXQHYGPP.js → chunk-D7BXRSNE.js} +1 -1
  37. package/browser/chunk-DF4WNZ6Y.js +112 -0
  38. package/browser/{chunk-MQNAFL66.js → chunk-DNIBZXGV.js} +1 -1
  39. package/browser/{chunk-XMGAU3CI.js → chunk-DWJWACWY.js} +1 -1
  40. package/browser/{chunk-RP7SVRO5.js → chunk-DXHZWPYP.js} +4 -4
  41. package/browser/{chunk-6HWLZ7MY.js → chunk-E2YKI5QV.js} +1 -1
  42. package/browser/chunk-EBSSDFZZ.js +1 -0
  43. package/browser/{chunk-MIBHIYLI.js → chunk-EDH3WSAT.js} +1 -1
  44. package/browser/{chunk-7CO272RZ.js → chunk-EHRDV2Z6.js} +1 -1
  45. package/browser/{chunk-NLCKZQ4P.js → chunk-ETTIK367.js} +1 -1
  46. package/browser/{chunk-L2GIPXK3.js → chunk-FH6QQHH6.js} +1 -1
  47. package/browser/{chunk-URURQSII.js → chunk-FSPLCPQ4.js} +1 -1
  48. package/browser/{chunk-TVWAOPGO.js → chunk-FVJSMI3I.js} +1 -1
  49. package/browser/{chunk-TGR7ISCO.js → chunk-G2QVLA6R.js} +1 -1
  50. package/browser/{chunk-B6QL7KYT.js → chunk-GWG7WRVP.js} +1 -1
  51. package/browser/{chunk-PQUF3LRY.js → chunk-HBAMQBGL.js} +1 -1
  52. package/browser/{chunk-JDEIHSRU.js → chunk-IOAB2GMO.js} +1 -1
  53. package/browser/{chunk-YLSTU3XG.js → chunk-IOEKVELS.js} +1 -1
  54. package/browser/{chunk-4LY2EDTJ.js → chunk-JVZIBM73.js} +1 -1
  55. package/browser/{chunk-F7UBJWRJ.js → chunk-KMKWQ2QP.js} +2 -2
  56. package/browser/{chunk-435MDBXM.js → chunk-LC4PI4K6.js} +1 -1
  57. package/browser/{chunk-3OCFMCN6.js → chunk-LECKNEUZ.js} +1 -1
  58. package/browser/{chunk-KTDI2D2K.js → chunk-LH6HEU7W.js} +1 -1
  59. package/browser/{chunk-L3QWXIFA.js → chunk-LJW4PWIO.js} +1 -1
  60. package/browser/chunk-LKCQXF5A.js +3 -0
  61. package/browser/{chunk-P6VARZ6H.js → chunk-LPZZU4W7.js} +1 -1
  62. package/browser/{chunk-QJZBVGUT.js → chunk-MM6QEKZ2.js} +1 -1
  63. package/browser/{chunk-5T54YPQH.js → chunk-NCORWQZN.js} +1 -1
  64. package/browser/chunk-NJGIKPSO.js +1 -0
  65. package/browser/{chunk-JMXYUPUO.js → chunk-NSFBVDKX.js} +1 -1
  66. package/browser/{chunk-RQ7YZ4OE.js → chunk-NXQTU6P3.js} +1 -1
  67. package/browser/{chunk-ICDQRW4C.js → chunk-NY66EA6F.js} +1 -1
  68. package/browser/{chunk-W5WJIKYL.js → chunk-NZ2SR72R.js} +1 -1
  69. package/browser/{chunk-SZXQWHBO.js → chunk-OAPTDT6R.js} +1 -1
  70. package/browser/{chunk-M2QK4P35.js → chunk-OEP3LYTH.js} +1 -1
  71. package/browser/{chunk-LQ5QJ4EI.js → chunk-OO3NXLPI.js} +1 -1
  72. package/browser/{chunk-375V3DN5.js → chunk-OR7N7CSR.js} +1 -1
  73. package/browser/{chunk-XWKTCN2C.js → chunk-PBQ234TA.js} +1 -1
  74. package/browser/{chunk-BZQATTJG.js → chunk-PDGZ5NZX.js} +1 -1
  75. package/browser/{chunk-JFWQ6WMR.js → chunk-Q2ZU5M5H.js} +1 -1
  76. package/browser/{chunk-2PHUXLDC.js → chunk-QTWO2ON3.js} +1 -1
  77. package/browser/{chunk-ZXNGEXWM.js → chunk-QVISBGAX.js} +1 -1
  78. package/browser/{chunk-GZQ5BZJB.js → chunk-R3UHPMNN.js} +1 -1
  79. package/browser/chunk-RBLT7TTZ.js +1 -0
  80. package/browser/{chunk-ZAAHARXN.js → chunk-RD5HGAJH.js} +1 -1
  81. package/browser/{chunk-TJUAPNY4.js → chunk-RJUFWPXG.js} +1 -1
  82. package/browser/{chunk-YLQ2QXS2.js → chunk-RQ2KLKBZ.js} +1 -1
  83. package/browser/{chunk-J6CP7GKF.js → chunk-RW6DQMII.js} +1 -1
  84. package/browser/{chunk-SAH2VPIY.js → chunk-SCCPP5P5.js} +1 -1
  85. package/browser/{chunk-IVQ3XJSG.js → chunk-SGGVO55K.js} +1 -1
  86. package/browser/{chunk-OWPJAIOW.js → chunk-SM5U723M.js} +1 -1
  87. package/browser/{chunk-IMQWBVV7.js → chunk-SONQYL4J.js} +1 -1
  88. package/browser/{chunk-EMFVMX3G.js → chunk-SQVMTAI2.js} +1 -1
  89. package/browser/chunk-T56QSFQS.js +1 -0
  90. package/browser/{chunk-FUNJUQ3S.js → chunk-TNEGOJTY.js} +1 -1
  91. package/browser/{chunk-QUUBU4GT.js → chunk-UBBDPYIG.js} +2 -2
  92. package/browser/{chunk-GMQQJ63P.js → chunk-UOCP6QTZ.js} +4 -4
  93. package/browser/chunk-UQU2VLMB.js +56 -0
  94. package/browser/{chunk-TC7P4XIL.js → chunk-UZDFE5I7.js} +1 -1
  95. package/browser/chunk-V2QCWCPT.js +1 -0
  96. package/browser/chunk-V2TGWSBG.js +1 -0
  97. package/browser/{chunk-DWWTVIBG.js → chunk-VATYB7D2.js} +1 -1
  98. package/browser/chunk-VBGFPCZ3.js +12 -0
  99. package/browser/{chunk-4DTXPMOC.js → chunk-VFJPOXT6.js} +1 -1
  100. package/browser/{chunk-HWAAQAEK.js → chunk-VSI4JNSZ.js} +1 -1
  101. package/browser/{chunk-53MSULKP.js → chunk-WXMYB7ME.js} +1 -1
  102. package/browser/{chunk-SPKXM3AZ.js → chunk-X3WVCXXG.js} +1 -1
  103. package/browser/{chunk-WGV74EJE.js → chunk-XELFHIVC.js} +1 -1
  104. package/browser/{chunk-H6U6ARBF.js → chunk-XGTQTP5F.js} +1 -1
  105. package/browser/{chunk-HC6D5LEO.js → chunk-XL3XCQTT.js} +1 -1
  106. package/browser/{chunk-IOMMQNQV.js → chunk-Y24SJYT7.js} +1 -1
  107. package/browser/{chunk-QD3KWUXF.js → chunk-Y5C2OLQY.js} +1 -1
  108. package/browser/{chunk-BYAYXFCK.js → chunk-YGOR7BZI.js} +1 -1
  109. package/browser/{chunk-HFR3IPUI.js → chunk-YH5B36PP.js} +1 -1
  110. package/browser/{chunk-HVVCKBEX.js → chunk-YK5T2UAX.js} +1 -1
  111. package/browser/{chunk-N5O35YCN.js → chunk-YKAH43AJ.js} +1 -1
  112. package/browser/{chunk-NE4UQDXL.js → chunk-YZNN2TWC.js} +1 -1
  113. package/browser/{chunk-2YTRQVI6.js → chunk-Z5A2EY24.js} +1 -1
  114. package/browser/{chunk-K2KWXQ27.js → chunk-ZFSUD7PJ.js} +1 -1
  115. package/browser/{chunk-BSC2JMIQ.js → chunk-ZJADGYH2.js} +1 -1
  116. package/browser/index.html +2 -2
  117. package/browser/{main-WA47JMQM.js → main-STTU72FT.js} +2 -2
  118. package/browser/{styles-ANY6A3DA.css → styles-H2UJWE23.css} +1 -1
  119. package/package.json +1 -1
  120. package/browser/chunk-2FVW22TD.js +0 -1
  121. package/browser/chunk-2Y7ETRYY.js +0 -1
  122. package/browser/chunk-3EMHQNR6.js +0 -1
  123. package/browser/chunk-3QFHJ3OF.js +0 -1
  124. package/browser/chunk-5VUVBTN3.js +0 -1
  125. package/browser/chunk-CX4CB4TV.js +0 -111
  126. package/browser/chunk-H3L2TK4O.js +0 -3
  127. package/browser/chunk-ORADADFD.js +0 -1
  128. package/browser/chunk-P7L74ESN.js +0 -56
  129. package/browser/chunk-R3DEXZBW.js +0 -2
  130. package/browser/chunk-S4SIEIC6.js +0 -12
  131. package/browser/chunk-ULY5PCYT.js +0 -1
  132. package/browser/chunk-VEJZIC5M.js +0 -1
  133. package/browser/chunk-Y646VCLW.js +0 -1
@@ -1 +1 @@
1
- import{a as se}from"./chunk-ZZNHFTQQ.js";import{b as oe}from"./chunk-Q4A7DDAZ.js";import{a as le}from"./chunk-SE7OFLAL.js";import{a as re}from"./chunk-YLQ2QXS2.js";import{a as ee,c as te,e as ie,f as ae,g as ne}from"./chunk-J6CP7GKF.js";import{d as Y,e as Z}from"./chunk-M2QK4P35.js";import{a as q}from"./chunk-ZW6IATXM.js";import{a as J,b as X}from"./chunk-IRFJ42AU.js";import{m as U}from"./chunk-P36Z2Q2X.js";import{e as z}from"./chunk-6Y6JUUIW.js";import{a as $}from"./chunk-2FWFPV5I.js";import{D as G,c as H,h as K,o as j}from"./chunk-K2RY2UAW.js";import{a as D}from"./chunk-7JSHH4R2.js";import{$a as d,Ac as P,Fa as g,Fc as R,Ib as r,Jb as l,Kb as v,Lb as C,Mb as S,Ob as f,Qb as h,Rb as s,Vd as L,Y as M,Yc as k,Zc as B,cd as A,db as w,dc as b,ec as u,fa as V,fc as O,gc as N,jc as x,jd as W,kb as F,kc as y,lc as I,qb as _,t as T,va as p,vb as m,wa as c,zc as Q}from"./chunk-4JRXN7L6.js";function ce(n,t){n&1&&(C(0),r(1,"div",7)(2,"div",8),u(3,"Edit Serial is disabled during EDIT MODE"),l(),r(4,"div"),u(5,"If you make a mistake, please delete the item and then add again"),l()(),S())}function de(n,t){if(n&1){let e=f();r(0,"mat-chip-row",18),h("removed",function(){let a=p(e).$implicit,o=s(2);return c(o.onRemoveSerialChip(a))}),u(1),r(2,"button",19),v(3,"i",20),l()()}if(n&2){let e=t.$implicit;d(),N(" ",e," ")}}function ue(n,t){if(n&1){let e=f();C(0),r(1,"div",9)(2,"div",10)(3,"mat-form-field",11),h("keyup.enter",function(a){return p(e),c(a.stopPropagation())}),r(4,"mat-chip-grid",null,1),_(6,de,4,1,"mat-chip-row",12),r(7,"input",13,2),h("matChipInputTokenEnd",function(a){p(e);let o=b(8),E=s();return c(E.addSerial(a,o))}),l()()()(),r(9,"div",14)(10,"button",15),h("click",function(){p(e);let a=b(8),o=s();return c(o.submitSerial(a))}),v(11,"i",16),r(12,"strong",17),u(13,"ADD"),l()()()(),S()}if(n&2){let e=b(5),i=s();d(6),m("ngForOf",i.serials),d(),m("matChipInputFor",e)("matChipInputSeparatorKeyCodes",i.separatorKeysCodes)}}function _e(n,t){if(n&1){let e=f();r(0,"ng-select",21),Q(1,"async"),I("ngModelChange",function(a){p(e);let o=s();return y(o.serials,a)||(o.serials=a),c(a)}),h("remove",function(a){p(e);let o=s();return c(o.onRemoveSerialFromOption(a.value))})("change",function(a){p(e);let o=s();return c(o.onSelectSerial(a))}),l()}if(n&2){let e=s();m("items",P(1,3,e.variantSerials$)),x("ngModel",e.serials),m("multiple",!0)}}function he(n,t){n&1&&v(0,"th",30)}function fe(n,t){if(n&1){let e=f();r(0,"td",34)(1,"i",35),h("click",function(){p(e);let a=s(),o=a.$implicit,E=a.index,pe=s(2);return c(pe.onRemoveSerial(E,o.Number))}),l()()}}function ge(n,t){if(n&1){let e=f();r(0,"tr"),_(1,fe,2,0,"td",31),r(2,"td"),u(3),l(),r(4,"td")(5,"datepicker",32),I("dateChange",function(a){let o=p(e).$implicit;return y(o.ExpiryDate,a)||(o.ExpiryDate=a),c(a)}),l()(),r(6,"td")(7,"input",33),I("ngModelChange",function(a){let o=p(e).$implicit;return y(o.Quantity,a)||(o.Quantity=a),c(a)}),h("change",function(){p(e);let a=s(2);return c(a.serialQtyChange())}),l()()()}if(n&2){let e=t.$implicit,i=s(2);d(),m("ngIf",!i.isEditBuyForm),d(2),O(e.Number),d(2),x("date",e.ExpiryDate),m("disabled",i.isEditBuyForm&&i.constants.IsNotEmpty(i.variant.ID)),d(2),x("ngModel",e.Quantity),m("disabled",i.isEditBuyForm&&i.constants.IsNotEmpty(i.variant.ID))("decimalPlaces",0)}}function Ce(n,t){if(n&1&&(C(0),r(1,"div",4)(2,"div",5)(3,"div",22)(4,"table",23)(5,"thead",24)(6,"tr"),_(7,he,1,0,"th",25),r(8,"th",26),u(9,"Serial Number"),l(),r(10,"th",27),u(11,"Expiry Date"),l(),r(12,"th",28),u(13,"Quantity"),l()()(),r(14,"tbody"),_(15,ge,8,7,"tr",29),l()()()()(),S()),n&2){let e=s();d(7),m("ngIf",!e.isEditBuyForm),d(8),m("ngForOf",e.serialData)}}var me=class n{constructor(t,e){this.productService=t;this.toastr=e}isEditBuyForm=!1;outletID;serials=[];isFocusOnSerialInput=!1;isFocusOnSerialInputChange=new g;constants=D;separatorKeysCodes=[13,188];_variant;set variant(t){this._variant=t,this.initSerial(),t&&t.Quantity<0&&(this.isReturn=!0,this.initVariantSerial())}get variant(){return this._variant}serialsChange=new g;variantChange=new g;onSerialDataChange=new g;isReturn=!1;serialData=[];variantSerials$;initSerial(){D.IsEmpty(this.variant.Serial)&&(this.variant.Serial=[]),this.variant.Serial&&(this.serialData=this.variant.Serial)}initVariantSerial(){let t=this.variant.VariantID,e;this.variantSerials$=this.productService.getVariantSerial(this.outletID,t).pipe(T(i=>i.map(a=>(e=new le,e.Number=a.Number,e.Quantity=a.Quantity,e))),V(()=>{this.serials=this.serialData.map(i=>i.Number)}),M(1))}onFocusAddSerial(){this.isFocusOnSerialInputChange.emit(!0)}onBlurAddSerial(){this.isFocusOnSerialInputChange.emit(!1)}serialQtyChange(){this.variant.Serial=this.serialData,this.updateItemQty(),this.updateVariant(),this.onSerialDataChange.emit(this.serialData)}onRemoveSerial(t,e){this.serialData.splice(t,1),this.updateItemQty(),this.updateVariant()}onRemoveSerialChip(t){this.serials=this.serials.filter(e=>e!==t),this.serialsChange.emit(this.serials),this.variant.Quantity--}updateVariant(){this.variant.Serial=this.serialData,this.onSerialDataChange.emit(this.serialData),this.variantChange.emit(this.variant)}updateItemQty(){let t=this.calculateSerialQty(this.serialData);this.variant.Quantity=t==0?1:t}calculateSerialQty(t){let e=0;return t.forEach(i=>{e+=i.Quantity}),e}onSelectSerial(t){let e=t.filter(i=>this.serialData.findIndex(a=>a.Number==i.Number)==-1);e.length>0&&(e[0].Quantity=this.isReturn?-1:1,this.serialData=[...this.serialData,...e],this.updateItemQty(),this.updateVariant())}onRemoveSerialFromOption(t){this.serialData=this.serialData.filter(e=>e.Number!=t.Number),this.updateItemQty(),this.updateVariant()}submitSerial(t){t.value.trim()&&(this.serials.push(t.value.trim()),t.value="");let e=this.generateSerialData();this.serialData=[...this.serialData,...e],this.updateItemQty(),this.updateVariant(),this.serials=[],this.serialsChange.emit(this.serials)}generateSerialData(){let t=this.serials.filter(e=>this.serialData.findIndex(i=>i.Number==e)==-1).map(e=>({Number:e,Quantity:this.isReturn?-1:1,ExpiryDate:null}));return this.onSerialDataChange.emit(t),t}addSerial(t,e){let i=(t.value||"").trim();if(i)if(this.serials.find(a=>a==i)){e.value="",this.toastr.info("Serial already exists",$.Info);return}else this.serials.push(i),this.serialsChange.emit(this.serials),this.variant.Quantity=this.serials.length+this.variant.Serial.length,this.updateVariant();t.chipInput.clear()}static \u0275fac=function(e){return new(e||n)(w(re),w(L))};static \u0275cmp=F({type:n,selectors:[["POS-tab-serial"]],inputs:{isEditBuyForm:"isEditBuyForm",outletID:"outletID",serials:"serials",isFocusOnSerialInput:"isFocusOnSerialInput",variant:"variant"},outputs:{isFocusOnSerialInputChange:"isFocusOnSerialInputChange",serialsChange:"serialsChange",variantChange:"variantChange",onSerialDataChange:"onSerialDataChange"},decls:8,vars:4,consts:[["RETURN",""],["chipGrid",""],["inputChip",""],[4,"ngIf"],[1,"row","mt-8"],[1,"col-12"],[4,"ngIf","ngIfElse"],[1,"alert","alert-warning","text-center","my-5","py-3"],[1,"fw-bold"],[1,"input-group","mb-3"],[1,"col"],["appearance","outline",1,"serial-chip",3,"keyup.enter"],[3,"removed",4,"ngFor","ngForOf"],["placeholder","E.g. Serial1 Serial2",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],[1,"col-auto"],["type","button",1,"btn","btn-outline-secondary","btn-sm","add-chip",3,"click"],["aria-hidden","true",1,"fa","fa-plus","me-1","fs-6"],[1,"headings-font-family","h6","font-weight-bold"],[3,"removed"],["matChipRemove",""],[1,"fa-solid","fa-circle-xmark"],["bindLabel","Number","appendTo","body","bindValue","Number","placeholder","Select Serial",3,"ngModelChange","remove","change","items","ngModel","multiple"],[1,"table-responsive"],[1,"table","table-bordered"],[1,"thead-light"],["class","border-end","style","width: 40px",4,"ngIf"],[1,"border-end"],[1,"border-end",2,"width","150px"],[1,"border-end","text-end",2,"width","60px"],[4,"ngFor","ngForOf"],[1,"border-end",2,"width","40px"],["class","text-center",4,"ngIf"],["appearance","fill","width","150px","name","orderDate",3,"dateChange","date","disabled"],["type","text","placeholder","Quantity","autoNum","",1,"form-control","text-end",3,"ngModelChange","change","ngModel","disabled","decimalPlaces"],[1,"text-center"],["aria-hidden","true","title","Remove serial",1,"fa","fa-xmark","text-danger","cursor-pointer","fa-2x",3,"click"]],template:function(e,i){if(e&1&&(_(0,ce,6,0,"ng-container",3),C(1),r(2,"div",4)(3,"div",5),_(4,ue,14,3,"ng-container",6)(5,_e,2,5,"ng-template",null,0,R),l()(),S(),_(7,Ce,16,2,"ng-container",3)),e&2){let a=b(6);m("ngIf",i.isEditBuyForm&&i.constants.IsNotEmpty(i.variant.ID)),d(4),m("ngIf",!i.isReturn)("ngIfElse",a),d(3),m("ngIf",(i.serialData==null?null:i.serialData.length)>0)}},dependencies:[W,k,B,A,G,H,K,j,J,X,z,se,Z,Y,ne,ie,ae,ee,te,q,U,oe],styles:[".serial-chip[_ngcontent-%COMP%]{width:100%}.serial-chip[_ngcontent-%COMP%] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.serial-chip[_ngcontent-%COMP%] .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input, .serial-chip[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:40px!important}.serial-chip[_ngcontent-%COMP%] .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing, .serial-chip[_ngcontent-%COMP%] .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch, .serial-chip[_ngcontent-%COMP%] .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading{border-color:#ccc!important}.serial-chip[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.add-chip[_ngcontent-%COMP%]{height:calc(100% - 18.4px);margin-left:1px;border-top-left-radius:0;border-bottom-left-radius:0} .mat-mdc-form-field.datepicker{width:150px} .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input, .mat-mdc-text-field-wrapper[_ngcontent-%COMP%] .mat-mdc-form-field-input-control[_ngcontent-%COMP%]{height:20px!important}"]})};export{me as a};
1
+ import{a as se}from"./chunk-ZZNHFTQQ.js";import{b as oe}from"./chunk-Q4A7DDAZ.js";import{a as le}from"./chunk-SE7OFLAL.js";import{a as re}from"./chunk-RQ2KLKBZ.js";import{a as ee,c as te,e as ie,f as ae,g as ne}from"./chunk-RW6DQMII.js";import{d as Y,e as Z}from"./chunk-OEP3LYTH.js";import{a as q}from"./chunk-ZW6IATXM.js";import{a as J,b as X}from"./chunk-IRFJ42AU.js";import{m as U}from"./chunk-BSUUV75R.js";import{e as z}from"./chunk-6Y6JUUIW.js";import{a as $}from"./chunk-2FWFPV5I.js";import{D as G,c as H,h as K,o as j}from"./chunk-K2RY2UAW.js";import{a as D}from"./chunk-7JSHH4R2.js";import{$a as d,Ac as P,Fa as g,Fc as R,Ib as r,Jb as l,Kb as v,Lb as C,Mb as S,Ob as f,Qb as h,Rb as s,Vd as L,Y as M,Yc as k,Zc as B,cd as A,db as w,dc as b,ec as u,fa as V,fc as O,gc as N,jc as x,jd as W,kb as F,kc as y,lc as I,qb as _,t as T,va as p,vb as m,wa as c,zc as Q}from"./chunk-4JRXN7L6.js";function ce(n,t){n&1&&(C(0),r(1,"div",7)(2,"div",8),u(3,"Edit Serial is disabled during EDIT MODE"),l(),r(4,"div"),u(5,"If you make a mistake, please delete the item and then add again"),l()(),S())}function de(n,t){if(n&1){let e=f();r(0,"mat-chip-row",18),h("removed",function(){let a=p(e).$implicit,o=s(2);return c(o.onRemoveSerialChip(a))}),u(1),r(2,"button",19),v(3,"i",20),l()()}if(n&2){let e=t.$implicit;d(),N(" ",e," ")}}function ue(n,t){if(n&1){let e=f();C(0),r(1,"div",9)(2,"div",10)(3,"mat-form-field",11),h("keyup.enter",function(a){return p(e),c(a.stopPropagation())}),r(4,"mat-chip-grid",null,1),_(6,de,4,1,"mat-chip-row",12),r(7,"input",13,2),h("matChipInputTokenEnd",function(a){p(e);let o=b(8),E=s();return c(E.addSerial(a,o))}),l()()()(),r(9,"div",14)(10,"button",15),h("click",function(){p(e);let a=b(8),o=s();return c(o.submitSerial(a))}),v(11,"i",16),r(12,"strong",17),u(13,"ADD"),l()()()(),S()}if(n&2){let e=b(5),i=s();d(6),m("ngForOf",i.serials),d(),m("matChipInputFor",e)("matChipInputSeparatorKeyCodes",i.separatorKeysCodes)}}function _e(n,t){if(n&1){let e=f();r(0,"ng-select",21),Q(1,"async"),I("ngModelChange",function(a){p(e);let o=s();return y(o.serials,a)||(o.serials=a),c(a)}),h("remove",function(a){p(e);let o=s();return c(o.onRemoveSerialFromOption(a.value))})("change",function(a){p(e);let o=s();return c(o.onSelectSerial(a))}),l()}if(n&2){let e=s();m("items",P(1,3,e.variantSerials$)),x("ngModel",e.serials),m("multiple",!0)}}function he(n,t){n&1&&v(0,"th",30)}function fe(n,t){if(n&1){let e=f();r(0,"td",34)(1,"i",35),h("click",function(){p(e);let a=s(),o=a.$implicit,E=a.index,pe=s(2);return c(pe.onRemoveSerial(E,o.Number))}),l()()}}function ge(n,t){if(n&1){let e=f();r(0,"tr"),_(1,fe,2,0,"td",31),r(2,"td"),u(3),l(),r(4,"td")(5,"datepicker",32),I("dateChange",function(a){let o=p(e).$implicit;return y(o.ExpiryDate,a)||(o.ExpiryDate=a),c(a)}),l()(),r(6,"td")(7,"input",33),I("ngModelChange",function(a){let o=p(e).$implicit;return y(o.Quantity,a)||(o.Quantity=a),c(a)}),h("change",function(){p(e);let a=s(2);return c(a.serialQtyChange())}),l()()()}if(n&2){let e=t.$implicit,i=s(2);d(),m("ngIf",!i.isEditBuyForm),d(2),O(e.Number),d(2),x("date",e.ExpiryDate),m("disabled",i.isEditBuyForm&&i.constants.IsNotEmpty(i.variant.ID)),d(2),x("ngModel",e.Quantity),m("disabled",i.isEditBuyForm&&i.constants.IsNotEmpty(i.variant.ID))("decimalPlaces",0)}}function Ce(n,t){if(n&1&&(C(0),r(1,"div",4)(2,"div",5)(3,"div",22)(4,"table",23)(5,"thead",24)(6,"tr"),_(7,he,1,0,"th",25),r(8,"th",26),u(9,"Serial Number"),l(),r(10,"th",27),u(11,"Expiry Date"),l(),r(12,"th",28),u(13,"Quantity"),l()()(),r(14,"tbody"),_(15,ge,8,7,"tr",29),l()()()()(),S()),n&2){let e=s();d(7),m("ngIf",!e.isEditBuyForm),d(8),m("ngForOf",e.serialData)}}var me=class n{constructor(t,e){this.productService=t;this.toastr=e}isEditBuyForm=!1;outletID;serials=[];isFocusOnSerialInput=!1;isFocusOnSerialInputChange=new g;constants=D;separatorKeysCodes=[13,188];_variant;set variant(t){this._variant=t,this.initSerial(),t&&t.Quantity<0&&(this.isReturn=!0,this.initVariantSerial())}get variant(){return this._variant}serialsChange=new g;variantChange=new g;onSerialDataChange=new g;isReturn=!1;serialData=[];variantSerials$;initSerial(){D.IsEmpty(this.variant.Serial)&&(this.variant.Serial=[]),this.variant.Serial&&(this.serialData=this.variant.Serial)}initVariantSerial(){let t=this.variant.VariantID,e;this.variantSerials$=this.productService.getVariantSerial(this.outletID,t).pipe(T(i=>i.map(a=>(e=new le,e.Number=a.Number,e.Quantity=a.Quantity,e))),V(()=>{this.serials=this.serialData.map(i=>i.Number)}),M(1))}onFocusAddSerial(){this.isFocusOnSerialInputChange.emit(!0)}onBlurAddSerial(){this.isFocusOnSerialInputChange.emit(!1)}serialQtyChange(){this.variant.Serial=this.serialData,this.updateItemQty(),this.updateVariant(),this.onSerialDataChange.emit(this.serialData)}onRemoveSerial(t,e){this.serialData.splice(t,1),this.updateItemQty(),this.updateVariant()}onRemoveSerialChip(t){this.serials=this.serials.filter(e=>e!==t),this.serialsChange.emit(this.serials),this.variant.Quantity--}updateVariant(){this.variant.Serial=this.serialData,this.onSerialDataChange.emit(this.serialData),this.variantChange.emit(this.variant)}updateItemQty(){let t=this.calculateSerialQty(this.serialData);this.variant.Quantity=t==0?1:t}calculateSerialQty(t){let e=0;return t.forEach(i=>{e+=i.Quantity}),e}onSelectSerial(t){let e=t.filter(i=>this.serialData.findIndex(a=>a.Number==i.Number)==-1);e.length>0&&(e[0].Quantity=this.isReturn?-1:1,this.serialData=[...this.serialData,...e],this.updateItemQty(),this.updateVariant())}onRemoveSerialFromOption(t){this.serialData=this.serialData.filter(e=>e.Number!=t.Number),this.updateItemQty(),this.updateVariant()}submitSerial(t){t.value.trim()&&(this.serials.push(t.value.trim()),t.value="");let e=this.generateSerialData();this.serialData=[...this.serialData,...e],this.updateItemQty(),this.updateVariant(),this.serials=[],this.serialsChange.emit(this.serials)}generateSerialData(){let t=this.serials.filter(e=>this.serialData.findIndex(i=>i.Number==e)==-1).map(e=>({Number:e,Quantity:this.isReturn?-1:1,ExpiryDate:null}));return this.onSerialDataChange.emit(t),t}addSerial(t,e){let i=(t.value||"").trim();if(i)if(this.serials.find(a=>a==i)){e.value="",this.toastr.info("Serial already exists",$.Info);return}else this.serials.push(i),this.serialsChange.emit(this.serials),this.variant.Quantity=this.serials.length+this.variant.Serial.length,this.updateVariant();t.chipInput.clear()}static \u0275fac=function(e){return new(e||n)(w(re),w(L))};static \u0275cmp=F({type:n,selectors:[["POS-tab-serial"]],inputs:{isEditBuyForm:"isEditBuyForm",outletID:"outletID",serials:"serials",isFocusOnSerialInput:"isFocusOnSerialInput",variant:"variant"},outputs:{isFocusOnSerialInputChange:"isFocusOnSerialInputChange",serialsChange:"serialsChange",variantChange:"variantChange",onSerialDataChange:"onSerialDataChange"},decls:8,vars:4,consts:[["RETURN",""],["chipGrid",""],["inputChip",""],[4,"ngIf"],[1,"row","mt-8"],[1,"col-12"],[4,"ngIf","ngIfElse"],[1,"alert","alert-warning","text-center","my-5","py-3"],[1,"fw-bold"],[1,"input-group","mb-3"],[1,"col"],["appearance","outline",1,"serial-chip",3,"keyup.enter"],[3,"removed",4,"ngFor","ngForOf"],["placeholder","E.g. Serial1 Serial2",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],[1,"col-auto"],["type","button",1,"btn","btn-outline-secondary","btn-sm","add-chip",3,"click"],["aria-hidden","true",1,"fa","fa-plus","me-1","fs-6"],[1,"headings-font-family","h6","font-weight-bold"],[3,"removed"],["matChipRemove",""],[1,"fa-solid","fa-circle-xmark"],["bindLabel","Number","appendTo","body","bindValue","Number","placeholder","Select Serial",3,"ngModelChange","remove","change","items","ngModel","multiple"],[1,"table-responsive"],[1,"table","table-bordered"],[1,"thead-light"],["class","border-end","style","width: 40px",4,"ngIf"],[1,"border-end"],[1,"border-end",2,"width","150px"],[1,"border-end","text-end",2,"width","60px"],[4,"ngFor","ngForOf"],[1,"border-end",2,"width","40px"],["class","text-center",4,"ngIf"],["appearance","fill","width","150px","name","orderDate",3,"dateChange","date","disabled"],["type","text","placeholder","Quantity","autoNum","",1,"form-control","text-end",3,"ngModelChange","change","ngModel","disabled","decimalPlaces"],[1,"text-center"],["aria-hidden","true","title","Remove serial",1,"fa","fa-xmark","text-danger","cursor-pointer","fa-2x",3,"click"]],template:function(e,i){if(e&1&&(_(0,ce,6,0,"ng-container",3),C(1),r(2,"div",4)(3,"div",5),_(4,ue,14,3,"ng-container",6)(5,_e,2,5,"ng-template",null,0,R),l()(),S(),_(7,Ce,16,2,"ng-container",3)),e&2){let a=b(6);m("ngIf",i.isEditBuyForm&&i.constants.IsNotEmpty(i.variant.ID)),d(4),m("ngIf",!i.isReturn)("ngIfElse",a),d(3),m("ngIf",(i.serialData==null?null:i.serialData.length)>0)}},dependencies:[W,k,B,A,G,H,K,j,J,X,z,se,Z,Y,ne,ie,ae,ee,te,q,U,oe],styles:[".serial-chip[_ngcontent-%COMP%]{width:100%}.serial-chip[_ngcontent-%COMP%] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.serial-chip[_ngcontent-%COMP%] .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input, .serial-chip[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:40px!important}.serial-chip[_ngcontent-%COMP%] .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__trailing, .serial-chip[_ngcontent-%COMP%] .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__notch, .serial-chip[_ngcontent-%COMP%] .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-notched-outline__leading{border-color:#ccc!important}.serial-chip[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.add-chip[_ngcontent-%COMP%]{height:calc(100% - 18.4px);margin-left:1px;border-top-left-radius:0;border-bottom-left-radius:0} .mat-mdc-form-field.datepicker{width:150px} .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input, .mat-mdc-text-field-wrapper[_ngcontent-%COMP%] .mat-mdc-form-field-input-control[_ngcontent-%COMP%]{height:20px!important}"]})};export{me as a};
@@ -1 +1 @@
1
- import{a as O}from"./chunk-XWKTCN2C.js";import{h as Q,i as z}from"./chunk-MQNAFL66.js";import"./chunk-WPORWVTJ.js";import{b as H}from"./chunk-EMFVMX3G.js";import"./chunk-R252C5HM.js";import"./chunk-AFTCPQ2Z.js";import"./chunk-P36Z2Q2X.js";import{ga as j,ha as q}from"./chunk-H34CGBCE.js";import"./chunk-23F7BAD4.js";import"./chunk-LS4HUMWF.js";import"./chunk-SDIK6O2Z.js";import{a as S}from"./chunk-2FWFPV5I.js";import"./chunk-4SXNNKVU.js";import{D as B,c as k,h as F,o as L}from"./chunk-K2RY2UAW.js";import"./chunk-BSC2JMIQ.js";import"./chunk-UFFPCUVM.js";import"./chunk-7JSHH4R2.js";import"./chunk-DWWTVIBG.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-4JRXN7L6.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-PBQ234TA.js";import{h as Q,i as z}from"./chunk-DNIBZXGV.js";import"./chunk-BP7CJNHN.js";import{b as H}from"./chunk-SQVMTAI2.js";import"./chunk-R252C5HM.js";import"./chunk-AFTCPQ2Z.js";import"./chunk-BSUUV75R.js";import{ga as j,ha as q}from"./chunk-H34CGBCE.js";import"./chunk-23F7BAD4.js";import"./chunk-LS4HUMWF.js";import"./chunk-SDIK6O2Z.js";import{a as S}from"./chunk-2FWFPV5I.js";import"./chunk-4SXNNKVU.js";import{D as B,c as k,h as F,o as L}from"./chunk-K2RY2UAW.js";import"./chunk-ZJADGYH2.js";import"./chunk-4C2QE4YI.js";import"./chunk-7JSHH4R2.js";import"./chunk-VATYB7D2.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-4JRXN7L6.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 +1 @@
1
- import{a as de}from"./chunk-XWKTCN2C.js";import{h as me,i as se}from"./chunk-MQNAFL66.js";import"./chunk-WPORWVTJ.js";import{b as le}from"./chunk-EMFVMX3G.js";import"./chunk-R252C5HM.js";import"./chunk-AFTCPQ2Z.js";import{C as ae,D as ne,E as re,u as te,v as ie,w as oe}from"./chunk-P36Z2Q2X.js";import"./chunk-H34CGBCE.js";import"./chunk-23F7BAD4.js";import"./chunk-LS4HUMWF.js";import"./chunk-SDIK6O2Z.js";import{a as ee}from"./chunk-2FWFPV5I.js";import"./chunk-4SXNNKVU.js";import{C as X,D as Z,c as G,h as z,o as J,y as Q}from"./chunk-K2RY2UAW.js";import"./chunk-BSC2JMIQ.js";import"./chunk-UFFPCUVM.js";import{a as W}from"./chunk-7JSHH4R2.js";import"./chunk-DWWTVIBG.js";import{$a as m,Ac as B,Db as F,E as A,Ib as o,Jb as a,Kb as w,Lb as T,Ma as Y,Mb as g,Ob as y,Od as H,Qb as _,Rb as u,Vd as q,Wc as U,Yc as j,Yd as $,Zc as v,db as f,dc as O,ec as r,fc as R,gc as x,gd as K,jc as E,jd as h,kb as b,kc as M,lc as P,ob as L,qb as S,rc as D,va as d,vb as c,wa as p,zc as k}from"./chunk-4JRXN7L6.js";import"./chunk-7DCB7DB2.js";var I=(s=>(s.TRANSACTIONS="TRANSACTIONS",s.PRODUCTS="PRODUCTS",s.CONTACTS="CONTACTS",s.LOYALTY_POINTS="LOYALTY_POINTS",s.RECYCLE_BIN="RECYCLE_BIN",s.INVENTORY="INVENTORY",s))(I||{});function _e(n,l){if(n&1&&(T(0),o(1,"div",4)(2,"div",5)(3,"div",16),w(4,"i",17),o(5,"span"),r(6),a()()()(),g()),n&2){let i=u();m(6),x(" ",i.selectedClearData.message," ")}}function Se(n,l){n&1&&(T(0),o(1,"small",18),r(2," *Subdomain is required "),a(),g())}function Te(n,l){n&1&&(T(0),o(1,"small",18),r(2," *Password is required "),a(),g())}function ge(n,l){n&1&&w(0,"i",14)}function be(n,l){n&1&&w(0,"i",15)}var N=class n{constructor(l,i,t){this.data=l;this.dialogRef=i;this.fb=t;this.modalConfig.title=this.modalTitle[this.data.type],this.subdomain="",this.subdomainPlaceholder=l.subDomain}clearData=[{type:"TRANSACTIONS",api:"Setup/Data/ClearTransaction",message:"Your Invoice, Bill, Adjustment, TransferOrder will be deleted"},{type:"PRODUCTS",api:"Setup/Data/ClearProduct",message:"Your Category, Product and Variant will be deleted"},{type:"LOYALTY_POINTS",api:"Setup/Data/ClearLoyaltyPoint"},{type:"RECYCLE_BIN",api:"Setup/Data/ClearRecycleBin"},{type:"INVENTORY",api:"Setup/Data/ClearInventory",message:"Your Product Inventory will be set to 0"},{type:"CONTACTS",api:"Setup/Data/ClearContact",message:"Your Customer, Supplier and Sales Person will be deleted"}];selectedClearData;modalConfig=new ae;modalTitle={TRANSACTIONS:"Clear Transactions",PRODUCTS:"Clear Products",LOYALTY_POINTS:"Clear Loyalty Points",RECYCLE_BIN:"Clear Recycle Bin",CONTACTS:"Clear Contacts",INVENTORY:"Clear Inventory"};subdomain;subdomainPlaceholder;password;form;passwordVisibility=Y(!1);ngOnInit(){this.initSelectedClearData(),this.form=this.fb.group({subdomain:[""],password:[""]})}initSelectedClearData(){this.selectedClearData=this.clearData.find(l=>l.type===this.data.type)}onSubmit(){let l={password:this.password,subdomain:this.subdomain,apiUrl:this.selectedClearData.api};this.dialogRef.close(l)}static \u0275fac=function(i){return new(i||n)(f(ie),f(te),f(X))};static \u0275cmp=b({type:n,selectors:[["app-confirmation-modal"]],decls:24,vars:10,consts:[["subdomainCtrl","ngModel"],["passwordCtrl","ngModel"],[3,"onOk","onClose","onCancel","config","dynamicValidated"],[4,"ngIf"],[1,"row"],[1,"col-12"],[1,"form-floating-outline","mt-5"],["type","text","id","subdomain","placeholder","Subdomain","name","subdomain","autofocus","","required","",1,"form-control",3,"ngModelChange","ngModel"],["for","subdomain"],[1,"form-floating-outline"],["id","pass","placeholder","Password","name","password","required","",1,"form-control",3,"ngModelChange","type","ngModel"],["for","pass"],[1,"password-visibility"],["type","button",1,"btn","btn-link",3,"click"],[1,"fa-solid","fa-eye"],[1,"fa-solid","fa-eye-slash"],[1,"alert","alert-warning","cursor","w-100"],[1,"fa-solid","fa-circle-exclamation","me-2"],[1,"control-label","text-danger"]],template:function(i,t){if(i&1){let e=y();o(0,"modal-material",2),_("onOk",function(){return d(e),p(t.onSubmit())})("onClose",function(){return d(e),p(t.dialogRef.close())})("onCancel",function(){return d(e),p(t.dialogRef.close())}),o(1,"content"),S(2,_e,7,1,"ng-container",3),o(3,"div",4)(4,"div",5)(5,"strong"),r(6),a(),o(7,"div",6)(8,"input",7,0),P("ngModelChange",function(s){return d(e),M(t.subdomain,s)||(t.subdomain=s),p(s)}),a(),o(10,"label",8),r(11,"Subdomain"),a(),S(12,Se,3,0,"ng-container",3),a()(),o(13,"div",5)(14,"div",9)(15,"input",10,1),P("ngModelChange",function(s){return d(e),M(t.password,s)||(t.password=s),p(s)}),a(),o(17,"label",11),r(18,"Password"),a(),S(19,Te,3,0,"ng-container",3),o(20,"div",12)(21,"button",13),_("click",function(){return d(e),p(t.passwordVisibility.set(!t.passwordVisibility()))}),S(22,ge,1,0,"i",14)(23,be,1,0,"i",15),a()()()()()()()}if(i&2){let e=O(9),C=O(16);c("config",t.modalConfig)("dynamicValidated",t.password&&t.subdomain),m(2),c("ngIf",t.selectedClearData.message),m(4),x("Enter the following subdomain to confirm: ",t.subdomainPlaceholder,""),m(2),E("ngModel",t.subdomain),m(4),c("ngIf",e.invalid&&(e.dirty||e.touched)),m(3),c("type",t.passwordVisibility()?"text":"password"),E("ngModel",t.password),m(4),c("ngIf",C.invalid&&(C.dirty||C.touched)),m(3),F(t.passwordVisibility()?22:23)}},dependencies:[h,v,re,ne,Z,G,z,Q,J],styles:[".password-visibility[_ngcontent-%COMP%]{position:absolute;right:0;top:50%;transform:translateY(-50%);cursor:pointer;font-size:1.5rem}"]})};var V=n=>({"border border-0":n});function we(n,l){if(n&1&&(T(0),o(1,"tr",23)(2,"td",23),r(3),a(),o(4,"td",24),r(5),k(6,"number"),a()(),g()),n&2){let i=l.$implicit,t=l.index,e=u(2);m(),c("ngClass",D(7,V,t==e.data.Data.length-1)),m(),c("ngClass",D(9,V,t==e.data.Data.length-1)),m(),R(i.Key),m(),c("ngClass",D(11,V,t==e.data.Data.length-1)),m(),R(B(6,5,i.Value))}}function ye(n,l){if(n&1){let i=y();o(0,"mainpanel-cmp",1)(1,"actions")(2,"div",2)(3,"div",3)(4,"button",4),r(5," Format Data "),a(),o(6,"ul",5)(7,"li")(8,"a",6),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.TRANSACTIONS))}),r(9," 1. Clear Transactions "),a()(),o(10,"li")(11,"a",7),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.INVENTORY))}),r(12," 2. Clear Inventory "),a()(),o(13,"li")(14,"a",8),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.PRODUCTS))}),r(15," 3. Clear Products "),a()(),o(16,"li")(17,"a",9),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.CONTACTS))}),r(18," 4. Clear Contacts "),a()(),o(19,"li")(20,"a",10),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.LOYALTY_POINTS))}),r(21," 5. Clear Loyalty Point "),a()(),o(22,"li")(23,"a",11),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.RECYCLE_BIN))}),r(24," 6. Clear Recycle Bin "),a()()()()()(),o(25,"content")(26,"div",12)(27,"div",13)(28,"div",14)(29,"h5"),r(30,"Database Records"),a(),o(31,"i"),r(32,"Current data count"),a()(),o(33,"div",15)(34,"div",16)(35,"div",17)(36,"table",18)(37,"thead",19)(38,"tr",20)(39,"th"),r(40,"Table"),a(),o(41,"th",21),r(42,"Rows"),a()()(),o(43,"tbody"),S(44,we,7,13,"ng-container",22),a()()()()()()()()()}if(n&2){let i=u();c("pageData",i.menuData)("hideSearchDropdown",!0)("hideSearchBox",!0),m(44),c("ngForOf",i.data.Data)}}var pe=class n extends de{constructor(i,t,e,C,s){super(i,t,"Setup/DataLoader/clearformatdata",e);this.httpService=t;this.activatedRoute=e;this.toaster=C;this.dialog=s}clearDataType=I;onClearRecord(i){this.dialog.open(N,{data:{type:i,subDomain:this.data.SubDomain}}).afterClosed().pipe(A(t=>W.IsNotEmpty(t))).subscribe(t=>{this.formData={Subdomain:t.subdomain,Password:t.password},this.onSubmit(t.apiUrl),i=="PRODUCTS"?this.data.Data.find(e=>e.Key=="Product").Value=0:i=="CONTACTS"?this.data.Data.find(e=>e.Key=="Customer").Value=0:i=="INVENTORY"?this.data.Data.find(e=>e.Key=="ItemTransfer").Value=0:i=="LOYALTY_POINTS"?this.data.Data.find(e=>e.Key=="JournalHeader").Value=0:i=="RECYCLE_BIN"?this.data.Data.find(e=>e.Key=="Recycle Bin").Value=0:i=="TRANSACTIONS"&&(this.data.Data.find(e=>e.Key=="SalesOrder").Value=0)})}onSubmitSuccess(i){this.toaster.success(i.Message,ee.Success)}static \u0275fac=function(t){return new(t||n)(f(le),f($),f(H),f(q),f(oe))};static \u0275cmp=b({type:n,selectors:[["POS-format-data"]],features:[L],decls:1,vars:1,consts:[[3,"pageData","hideSearchDropdown","hideSearchBox",4,"ngIf"],[3,"pageData","hideSearchDropdown","hideSearchBox"],[1,"d-flex"],[1,"dropdown"],["type","button","data-bs-toggle","dropdown","aria-expanded","false","confirm-message","Are you sure you want to clear the record?",1,"btn","btn-outline-secondary","dropdown-toggle"],[1,"dropdown-menu","dropdown-menu-end"],["role","button","matTooltipPosition","above","matTooltip","Clear Transaction",1,"dropdown-item",3,"click"],["role","button","matTooltipPosition","above","matTooltip","Clear Inventory",1,"dropdown-item",3,"click"],["role","button","matTooltipPosition","above","matTooltip","Clear Products",1,"dropdown-item",3,"click"],["role","button","matTooltipPosition","above","matTooltip","Clear Contacts",1,"dropdown-item",3,"click"],["role","button","matTooltipPosition","above","matTooltip","Clear Loyalty Point",1,"dropdown-item",3,"click"],["role","button","matTooltipPosition","above","matTooltip","Clear Recycle Bin",1,"dropdown-item",3,"click"],[1,"container","pt-3"],[1,"row","border-bottom","mt-10","ms-2"],[1,"col-sm-2"],[1,"col-sm-10"],[1,"row"],[1,"col-md-12"],["id","tableGrid",1,"table",2,"width","250px"],[1,"thead-light","sticky-top-thead"],[1,"header"],[1,"text-end"],[4,"ngFor","ngForOf"],[3,"ngClass"],[1,"text-end",3,"ngClass"]],template:function(t,e){t&1&&S(0,ye,45,4,"mainpanel-cmp",0),t&2&&c("ngIf",e.formData)},dependencies:[h,U,j,v,K,se,me],encapsulation:2})};export{pe as FormatDataComponent};
1
+ import{a as de}from"./chunk-PBQ234TA.js";import{h as me,i as se}from"./chunk-DNIBZXGV.js";import"./chunk-BP7CJNHN.js";import{b as le}from"./chunk-SQVMTAI2.js";import"./chunk-R252C5HM.js";import"./chunk-AFTCPQ2Z.js";import{C as ae,D as ne,E as re,u as te,v as ie,w as oe}from"./chunk-BSUUV75R.js";import"./chunk-H34CGBCE.js";import"./chunk-23F7BAD4.js";import"./chunk-LS4HUMWF.js";import"./chunk-SDIK6O2Z.js";import{a as ee}from"./chunk-2FWFPV5I.js";import"./chunk-4SXNNKVU.js";import{C as X,D as Z,c as G,h as z,o as J,y as Q}from"./chunk-K2RY2UAW.js";import"./chunk-ZJADGYH2.js";import"./chunk-4C2QE4YI.js";import{a as W}from"./chunk-7JSHH4R2.js";import"./chunk-VATYB7D2.js";import{$a as m,Ac as B,Db as F,E as A,Ib as o,Jb as a,Kb as w,Lb as T,Ma as Y,Mb as g,Ob as y,Od as H,Qb as _,Rb as u,Vd as q,Wc as U,Yc as j,Yd as $,Zc as v,db as f,dc as O,ec as r,fc as R,gc as x,gd as K,jc as E,jd as h,kb as b,kc as M,lc as P,ob as L,qb as S,rc as D,va as d,vb as c,wa as p,zc as k}from"./chunk-4JRXN7L6.js";import"./chunk-7DCB7DB2.js";var I=(s=>(s.TRANSACTIONS="TRANSACTIONS",s.PRODUCTS="PRODUCTS",s.CONTACTS="CONTACTS",s.LOYALTY_POINTS="LOYALTY_POINTS",s.RECYCLE_BIN="RECYCLE_BIN",s.INVENTORY="INVENTORY",s))(I||{});function _e(n,l){if(n&1&&(T(0),o(1,"div",4)(2,"div",5)(3,"div",16),w(4,"i",17),o(5,"span"),r(6),a()()()(),g()),n&2){let i=u();m(6),x(" ",i.selectedClearData.message," ")}}function Se(n,l){n&1&&(T(0),o(1,"small",18),r(2," *Subdomain is required "),a(),g())}function Te(n,l){n&1&&(T(0),o(1,"small",18),r(2," *Password is required "),a(),g())}function ge(n,l){n&1&&w(0,"i",14)}function be(n,l){n&1&&w(0,"i",15)}var N=class n{constructor(l,i,t){this.data=l;this.dialogRef=i;this.fb=t;this.modalConfig.title=this.modalTitle[this.data.type],this.subdomain="",this.subdomainPlaceholder=l.subDomain}clearData=[{type:"TRANSACTIONS",api:"Setup/Data/ClearTransaction",message:"Your Invoice, Bill, Adjustment, TransferOrder will be deleted"},{type:"PRODUCTS",api:"Setup/Data/ClearProduct",message:"Your Category, Product and Variant will be deleted"},{type:"LOYALTY_POINTS",api:"Setup/Data/ClearLoyaltyPoint"},{type:"RECYCLE_BIN",api:"Setup/Data/ClearRecycleBin"},{type:"INVENTORY",api:"Setup/Data/ClearInventory",message:"Your Product Inventory will be set to 0"},{type:"CONTACTS",api:"Setup/Data/ClearContact",message:"Your Customer, Supplier and Sales Person will be deleted"}];selectedClearData;modalConfig=new ae;modalTitle={TRANSACTIONS:"Clear Transactions",PRODUCTS:"Clear Products",LOYALTY_POINTS:"Clear Loyalty Points",RECYCLE_BIN:"Clear Recycle Bin",CONTACTS:"Clear Contacts",INVENTORY:"Clear Inventory"};subdomain;subdomainPlaceholder;password;form;passwordVisibility=Y(!1);ngOnInit(){this.initSelectedClearData(),this.form=this.fb.group({subdomain:[""],password:[""]})}initSelectedClearData(){this.selectedClearData=this.clearData.find(l=>l.type===this.data.type)}onSubmit(){let l={password:this.password,subdomain:this.subdomain,apiUrl:this.selectedClearData.api};this.dialogRef.close(l)}static \u0275fac=function(i){return new(i||n)(f(ie),f(te),f(X))};static \u0275cmp=b({type:n,selectors:[["app-confirmation-modal"]],decls:24,vars:10,consts:[["subdomainCtrl","ngModel"],["passwordCtrl","ngModel"],[3,"onOk","onClose","onCancel","config","dynamicValidated"],[4,"ngIf"],[1,"row"],[1,"col-12"],[1,"form-floating-outline","mt-5"],["type","text","id","subdomain","placeholder","Subdomain","name","subdomain","autofocus","","required","",1,"form-control",3,"ngModelChange","ngModel"],["for","subdomain"],[1,"form-floating-outline"],["id","pass","placeholder","Password","name","password","required","",1,"form-control",3,"ngModelChange","type","ngModel"],["for","pass"],[1,"password-visibility"],["type","button",1,"btn","btn-link",3,"click"],[1,"fa-solid","fa-eye"],[1,"fa-solid","fa-eye-slash"],[1,"alert","alert-warning","cursor","w-100"],[1,"fa-solid","fa-circle-exclamation","me-2"],[1,"control-label","text-danger"]],template:function(i,t){if(i&1){let e=y();o(0,"modal-material",2),_("onOk",function(){return d(e),p(t.onSubmit())})("onClose",function(){return d(e),p(t.dialogRef.close())})("onCancel",function(){return d(e),p(t.dialogRef.close())}),o(1,"content"),S(2,_e,7,1,"ng-container",3),o(3,"div",4)(4,"div",5)(5,"strong"),r(6),a(),o(7,"div",6)(8,"input",7,0),P("ngModelChange",function(s){return d(e),M(t.subdomain,s)||(t.subdomain=s),p(s)}),a(),o(10,"label",8),r(11,"Subdomain"),a(),S(12,Se,3,0,"ng-container",3),a()(),o(13,"div",5)(14,"div",9)(15,"input",10,1),P("ngModelChange",function(s){return d(e),M(t.password,s)||(t.password=s),p(s)}),a(),o(17,"label",11),r(18,"Password"),a(),S(19,Te,3,0,"ng-container",3),o(20,"div",12)(21,"button",13),_("click",function(){return d(e),p(t.passwordVisibility.set(!t.passwordVisibility()))}),S(22,ge,1,0,"i",14)(23,be,1,0,"i",15),a()()()()()()()}if(i&2){let e=O(9),C=O(16);c("config",t.modalConfig)("dynamicValidated",t.password&&t.subdomain),m(2),c("ngIf",t.selectedClearData.message),m(4),x("Enter the following subdomain to confirm: ",t.subdomainPlaceholder,""),m(2),E("ngModel",t.subdomain),m(4),c("ngIf",e.invalid&&(e.dirty||e.touched)),m(3),c("type",t.passwordVisibility()?"text":"password"),E("ngModel",t.password),m(4),c("ngIf",C.invalid&&(C.dirty||C.touched)),m(3),F(t.passwordVisibility()?22:23)}},dependencies:[h,v,re,ne,Z,G,z,Q,J],styles:[".password-visibility[_ngcontent-%COMP%]{position:absolute;right:0;top:50%;transform:translateY(-50%);cursor:pointer;font-size:1.5rem}"]})};var V=n=>({"border border-0":n});function we(n,l){if(n&1&&(T(0),o(1,"tr",23)(2,"td",23),r(3),a(),o(4,"td",24),r(5),k(6,"number"),a()(),g()),n&2){let i=l.$implicit,t=l.index,e=u(2);m(),c("ngClass",D(7,V,t==e.data.Data.length-1)),m(),c("ngClass",D(9,V,t==e.data.Data.length-1)),m(),R(i.Key),m(),c("ngClass",D(11,V,t==e.data.Data.length-1)),m(),R(B(6,5,i.Value))}}function ye(n,l){if(n&1){let i=y();o(0,"mainpanel-cmp",1)(1,"actions")(2,"div",2)(3,"div",3)(4,"button",4),r(5," Format Data "),a(),o(6,"ul",5)(7,"li")(8,"a",6),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.TRANSACTIONS))}),r(9," 1. Clear Transactions "),a()(),o(10,"li")(11,"a",7),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.INVENTORY))}),r(12," 2. Clear Inventory "),a()(),o(13,"li")(14,"a",8),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.PRODUCTS))}),r(15," 3. Clear Products "),a()(),o(16,"li")(17,"a",9),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.CONTACTS))}),r(18," 4. Clear Contacts "),a()(),o(19,"li")(20,"a",10),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.LOYALTY_POINTS))}),r(21," 5. Clear Loyalty Point "),a()(),o(22,"li")(23,"a",11),_("click",function(){d(i);let e=u();return p(e.onClearRecord(e.clearDataType.RECYCLE_BIN))}),r(24," 6. Clear Recycle Bin "),a()()()()()(),o(25,"content")(26,"div",12)(27,"div",13)(28,"div",14)(29,"h5"),r(30,"Database Records"),a(),o(31,"i"),r(32,"Current data count"),a()(),o(33,"div",15)(34,"div",16)(35,"div",17)(36,"table",18)(37,"thead",19)(38,"tr",20)(39,"th"),r(40,"Table"),a(),o(41,"th",21),r(42,"Rows"),a()()(),o(43,"tbody"),S(44,we,7,13,"ng-container",22),a()()()()()()()()()}if(n&2){let i=u();c("pageData",i.menuData)("hideSearchDropdown",!0)("hideSearchBox",!0),m(44),c("ngForOf",i.data.Data)}}var pe=class n extends de{constructor(i,t,e,C,s){super(i,t,"Setup/DataLoader/clearformatdata",e);this.httpService=t;this.activatedRoute=e;this.toaster=C;this.dialog=s}clearDataType=I;onClearRecord(i){this.dialog.open(N,{data:{type:i,subDomain:this.data.SubDomain}}).afterClosed().pipe(A(t=>W.IsNotEmpty(t))).subscribe(t=>{this.formData={Subdomain:t.subdomain,Password:t.password},this.onSubmit(t.apiUrl),i=="PRODUCTS"?this.data.Data.find(e=>e.Key=="Product").Value=0:i=="CONTACTS"?this.data.Data.find(e=>e.Key=="Customer").Value=0:i=="INVENTORY"?this.data.Data.find(e=>e.Key=="ItemTransfer").Value=0:i=="LOYALTY_POINTS"?this.data.Data.find(e=>e.Key=="JournalHeader").Value=0:i=="RECYCLE_BIN"?this.data.Data.find(e=>e.Key=="Recycle Bin").Value=0:i=="TRANSACTIONS"&&(this.data.Data.find(e=>e.Key=="SalesOrder").Value=0)})}onSubmitSuccess(i){this.toaster.success(i.Message,ee.Success)}static \u0275fac=function(t){return new(t||n)(f(le),f($),f(H),f(q),f(oe))};static \u0275cmp=b({type:n,selectors:[["POS-format-data"]],features:[L],decls:1,vars:1,consts:[[3,"pageData","hideSearchDropdown","hideSearchBox",4,"ngIf"],[3,"pageData","hideSearchDropdown","hideSearchBox"],[1,"d-flex"],[1,"dropdown"],["type","button","data-bs-toggle","dropdown","aria-expanded","false","confirm-message","Are you sure you want to clear the record?",1,"btn","btn-outline-secondary","dropdown-toggle"],[1,"dropdown-menu","dropdown-menu-end"],["role","button","matTooltipPosition","above","matTooltip","Clear Transaction",1,"dropdown-item",3,"click"],["role","button","matTooltipPosition","above","matTooltip","Clear Inventory",1,"dropdown-item",3,"click"],["role","button","matTooltipPosition","above","matTooltip","Clear Products",1,"dropdown-item",3,"click"],["role","button","matTooltipPosition","above","matTooltip","Clear Contacts",1,"dropdown-item",3,"click"],["role","button","matTooltipPosition","above","matTooltip","Clear Loyalty Point",1,"dropdown-item",3,"click"],["role","button","matTooltipPosition","above","matTooltip","Clear Recycle Bin",1,"dropdown-item",3,"click"],[1,"container","pt-3"],[1,"row","border-bottom","mt-10","ms-2"],[1,"col-sm-2"],[1,"col-sm-10"],[1,"row"],[1,"col-md-12"],["id","tableGrid",1,"table",2,"width","250px"],[1,"thead-light","sticky-top-thead"],[1,"header"],[1,"text-end"],[4,"ngFor","ngForOf"],[3,"ngClass"],[1,"text-end",3,"ngClass"]],template:function(t,e){t&1&&S(0,ye,45,4,"mainpanel-cmp",0),t&2&&c("ngIf",e.formData)},dependencies:[h,U,j,v,K,se,me],encapsulation:2})};export{pe as FormatDataComponent};
@@ -1 +1 @@
1
- import{b as c}from"./chunk-BSC2JMIQ.js";import{ja as r,na as s}from"./chunk-4JRXN7L6.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-ZJADGYH2.js";import{ja as r,na as s}from"./chunk-4JRXN7L6.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{C as B,D as G,E as W,u as A,v as N}from"./chunk-P36Z2Q2X.js";import{P as $}from"./chunk-23F7BAD4.js";import{$a as a,Bc as O,Fc as j,Ib as n,Jb as r,Lb as S,Mb as D,Ob as T,Qb as R,Rb as y,Yc as F,Yd as u,Zc as U,db as d,dc as w,ec as p,ed as L,fc as C,gc as P,hc as V,ja as M,jd as k,kb as b,ma as E,qb as g,t as _,va as m,vb as f,wa as c,xb as I,zc as H}from"./chunk-4JRXN7L6.js";import{a as h,b as v}from"./chunk-7DCB7DB2.js";var q=class i{constructor(t){this.httpService=t}verifyEmail(t){let e={Email:t,EmailVerified:!0};return this.httpService.put("/api/v3/Customer/VerifyEmail",e)}verifyMobile(t){let e={Mobile:t,MobileVerified:!0};return this.httpService.put("/api/v3/Customer/VerifyMobile",e)}createSupplierByCustomerID(t){let e={CustomerID:t};return this.httpService.post("/api/Contact/CreateSupplierFromCustomer",e)}deleteCustomer(t){return this.httpService.post("/api/Contact/DeleteContact",{ID:t})}updateImage(t,e){return this.httpService.post("/api/Contact/UpdateContactImageURL",{ID:t,ImageURL:e})}mergeCustomer(t,e){let o={mergeTarget:t,deleted:e};return this.httpService.put($.MergeCustomer,o)}static \u0275fac=function(e){return new(e||i)(E(u))};static \u0275prov=M({token:i,factory:i.\u0275fac})};function ee(i,t){if(i&1&&(n(0,"tr")(1,"td",7),p(2),H(3,"date"),r(),n(4,"td",7),p(5),r(),n(6,"td",7),p(7),r()()),i&2){let e=t.$implicit;a(2),C(O(3,5,e.ExpiryDate,"dd MMM yyyy")),a(3),C(e.Remaining),a(),I("text-danger",e.daysTo<=30),a(),P("",e.daysTo," days")}}function te(i,t){if(i&1&&(S(0),n(1,"div",4)(2,"table",5)(3,"thead",6)(4,"tr")(5,"th",7),p(6,"Date"),r(),n(7,"th",7),p(8,"Point"),r(),n(9,"th",7),p(10,"Days To"),r()()(),n(11,"tbody"),g(12,ee,8,8,"tr",8),r()()(),D()),i&2){let e=y();a(12),f("ngForOf",e.points)}}function ie(i,t){if(i&1&&(n(0,"h5"),p(1),r()),i&2){let e=y();a(),V("",e.data.name," ",e.doesHavePoint?"has no upcoming point that will expire.":"does not have a point!"," ")}}var z=class i{constructor(t,e,o){this.dialogRef=t;this.data=e;this.config.title="Upcoming Point Expiry",this.config.customWidth="500px",this.config.cancelText="Close",this.config.hideOk=!0;let l=e.customerID;e.name&&(this.config.title=e.name+" "+this.config.title),this.doesHavePoint=e.doesHavePoint,o.post("/API/Loyalty/UpcomingPointExpiry",{CustomerID:l}).pipe(_(s=>[...s].map(x=>{let J=new Date,K=new Date(x.ExpiryDate),Q=Math.abs(K-J),X=Math.ceil(Q/(1e3*60*60*24));return v(h({},x),{daysTo:X})}))).subscribe(s=>this.points=s)}config=new B;points;doesHavePoint;static \u0275fac=function(e){return new(e||i)(d(A),d(N),d(u))};static \u0275cmp=b({type:i,selectors:[["POS-modal-expiry"]],decls:6,vars:3,consts:[["nohistory",""],[3,"onOk","onCancel","onClose","config"],[1,"container-fluid"],[4,"ngIf","ngIfElse"],[1,"table-responsive",2,"max-height","300px"],["id","tableGrid",1,"table","border-bottom"],[1,"thead-light"],[1,"text-start"],[4,"ngFor","ngForOf"]],template:function(e,o){if(e&1){let l=T();n(0,"modal-material",1),R("onOk",function(){return m(l),c(o.dialogRef.close())})("onCancel",function(){return m(l),c(o.dialogRef.close())})("onClose",function(){return m(l),c(o.dialogRef.close())}),n(1,"content")(2,"div",2),g(3,te,13,1,"ng-container",3)(4,ie,2,2,"ng-template",null,0,j),r()()()}if(e&2){let l=w(5);f("config",o.config),a(3),f("ngIf",o.points==null?null:o.points.length)("ngIfElse",l)}},dependencies:[k,F,U,L,W,G],encapsulation:2})};export{q as a,z as b};
1
+ import{C as B,D as G,E as W,u as A,v as N}from"./chunk-BSUUV75R.js";import{P as $}from"./chunk-23F7BAD4.js";import{$a as a,Bc as O,Fc as j,Ib as n,Jb as r,Lb as S,Mb as D,Ob as T,Qb as R,Rb as y,Yc as F,Yd as u,Zc as U,db as d,dc as w,ec as p,ed as L,fc as C,gc as P,hc as V,ja as M,jd as k,kb as b,ma as E,qb as g,t as _,va as m,vb as f,wa as c,xb as I,zc as H}from"./chunk-4JRXN7L6.js";import{a as h,b as v}from"./chunk-7DCB7DB2.js";var q=class i{constructor(t){this.httpService=t}verifyEmail(t){let e={Email:t,EmailVerified:!0};return this.httpService.put("/api/v3/Customer/VerifyEmail",e)}verifyMobile(t){let e={Mobile:t,MobileVerified:!0};return this.httpService.put("/api/v3/Customer/VerifyMobile",e)}createSupplierByCustomerID(t){let e={CustomerID:t};return this.httpService.post("/api/Contact/CreateSupplierFromCustomer",e)}deleteCustomer(t){return this.httpService.post("/api/Contact/DeleteContact",{ID:t})}updateImage(t,e){return this.httpService.post("/api/Contact/UpdateContactImageURL",{ID:t,ImageURL:e})}mergeCustomer(t,e){let o={mergeTarget:t,deleted:e};return this.httpService.put($.MergeCustomer,o)}static \u0275fac=function(e){return new(e||i)(E(u))};static \u0275prov=M({token:i,factory:i.\u0275fac})};function ee(i,t){if(i&1&&(n(0,"tr")(1,"td",7),p(2),H(3,"date"),r(),n(4,"td",7),p(5),r(),n(6,"td",7),p(7),r()()),i&2){let e=t.$implicit;a(2),C(O(3,5,e.ExpiryDate,"dd MMM yyyy")),a(3),C(e.Remaining),a(),I("text-danger",e.daysTo<=30),a(),P("",e.daysTo," days")}}function te(i,t){if(i&1&&(S(0),n(1,"div",4)(2,"table",5)(3,"thead",6)(4,"tr")(5,"th",7),p(6,"Date"),r(),n(7,"th",7),p(8,"Point"),r(),n(9,"th",7),p(10,"Days To"),r()()(),n(11,"tbody"),g(12,ee,8,8,"tr",8),r()()(),D()),i&2){let e=y();a(12),f("ngForOf",e.points)}}function ie(i,t){if(i&1&&(n(0,"h5"),p(1),r()),i&2){let e=y();a(),V("",e.data.name," ",e.doesHavePoint?"has no upcoming point that will expire.":"does not have a point!"," ")}}var z=class i{constructor(t,e,o){this.dialogRef=t;this.data=e;this.config.title="Upcoming Point Expiry",this.config.customWidth="500px",this.config.cancelText="Close",this.config.hideOk=!0;let l=e.customerID;e.name&&(this.config.title=e.name+" "+this.config.title),this.doesHavePoint=e.doesHavePoint,o.post("/API/Loyalty/UpcomingPointExpiry",{CustomerID:l}).pipe(_(s=>[...s].map(x=>{let J=new Date,K=new Date(x.ExpiryDate),Q=Math.abs(K-J),X=Math.ceil(Q/(1e3*60*60*24));return v(h({},x),{daysTo:X})}))).subscribe(s=>this.points=s)}config=new B;points;doesHavePoint;static \u0275fac=function(e){return new(e||i)(d(A),d(N),d(u))};static \u0275cmp=b({type:i,selectors:[["POS-modal-expiry"]],decls:6,vars:3,consts:[["nohistory",""],[3,"onOk","onCancel","onClose","config"],[1,"container-fluid"],[4,"ngIf","ngIfElse"],[1,"table-responsive",2,"max-height","300px"],["id","tableGrid",1,"table","border-bottom"],[1,"thead-light"],[1,"text-start"],[4,"ngFor","ngForOf"]],template:function(e,o){if(e&1){let l=T();n(0,"modal-material",1),R("onOk",function(){return m(l),c(o.dialogRef.close())})("onCancel",function(){return m(l),c(o.dialogRef.close())})("onClose",function(){return m(l),c(o.dialogRef.close())}),n(1,"content")(2,"div",2),g(3,te,13,1,"ng-container",3)(4,ie,2,2,"ng-template",null,0,j),r()()()}if(e&2){let l=w(5);f("config",o.config),a(3),f("ngIf",o.points==null?null:o.points.length)("ngIfElse",l)}},dependencies:[k,F,U,L,W,G],encapsulation:2})};export{q as a,z as b};