dealpos 26.15.2 → 26.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/{chunk-XHT2W245.js → chunk-23VGGHHO.js} +1 -1
- package/browser/{chunk-ER2H6JP4.js → chunk-2EVANTSR.js} +1 -1
- package/browser/{chunk-FMIDDJEB.js → chunk-2FMKNQBQ.js} +1 -1
- package/browser/{chunk-WMLNK3GE.js → chunk-2IAN4UBI.js} +1 -1
- package/browser/{chunk-POKDP5NZ.js → chunk-3QACCA5F.js} +1 -1
- package/browser/{chunk-YEPTS7L5.js → chunk-43KULG27.js} +2 -2
- package/browser/{chunk-KHNHYTCN.js → chunk-4CPHRCTE.js} +1 -1
- package/browser/{chunk-62MO2GX6.js → chunk-4FY2AAM3.js} +1 -1
- package/browser/{chunk-4VMU55T7.js → chunk-6TW4HZT2.js} +1 -1
- package/browser/{chunk-UEHABJKQ.js → chunk-7BNF6LIP.js} +2 -2
- package/browser/{chunk-RDM4KOYX.js → chunk-7FF2AQQP.js} +1 -1
- package/browser/{chunk-RNXAYLRD.js → chunk-7GUYCZOS.js} +1 -1
- package/browser/{chunk-YDJWQ54G.js → chunk-7JXDQ7RE.js} +1 -1
- package/browser/{chunk-WF6XUMP5.js → chunk-AB6PJAVE.js} +1 -1
- package/browser/{chunk-XZIVW6HK.js → chunk-C2WE4LEH.js} +2 -2
- package/browser/{chunk-GEPG5FBO.js → chunk-CTNINPFU.js} +1 -1
- package/browser/{chunk-WN7MDIY5.js → chunk-D5VBZYZV.js} +1 -1
- package/browser/{chunk-UE3WR3V6.js → chunk-D6F5U3Z2.js} +1 -1
- package/browser/{chunk-TD5B6VOV.js → chunk-DJKZYIGW.js} +1 -1
- package/browser/{chunk-7XGN7LT7.js → chunk-DSZ3NHAG.js} +1 -1
- package/browser/{chunk-IEA6ZSNA.js → chunk-E6Y3TG6P.js} +1 -1
- package/browser/{chunk-I6GR43TO.js → chunk-EDHBWV63.js} +1 -1
- package/browser/{chunk-4NEI2FZX.js → chunk-EPA5LJQV.js} +2 -2
- package/browser/{chunk-S7VNVTHV.js → chunk-GEMKMJSD.js} +1 -1
- package/browser/{chunk-XLGELJO6.js → chunk-GQ2WKLMN.js} +1 -1
- package/browser/{chunk-ZQLSIM4I.js → chunk-HEZIMXPA.js} +1 -1
- package/browser/{chunk-RGJATBLC.js → chunk-HY6FARM7.js} +1 -1
- package/browser/{chunk-5WGMF33Z.js → chunk-IBMPM5XC.js} +2 -2
- package/browser/{chunk-43SPCYEG.js → chunk-IGS4INB6.js} +1 -1
- package/browser/{chunk-TU5H7ER7.js → chunk-IX773DXP.js} +1 -1
- package/browser/{chunk-BK5AF6O6.js → chunk-JFNJWXYB.js} +1 -1
- package/browser/{chunk-HHOIEFMH.js → chunk-KCLEZIJ6.js} +1 -1
- package/browser/{chunk-DVZXFQAN.js → chunk-KHSK2XRR.js} +1 -1
- package/browser/{chunk-RKGORDWJ.js → chunk-KKNQNV2Y.js} +1 -1
- package/browser/{chunk-VKKKBAHJ.js → chunk-LB4KTKOT.js} +1 -1
- package/browser/{chunk-RVMJNYX6.js → chunk-LDAUCHBL.js} +1 -1
- package/browser/{chunk-LJ3EUBVC.js → chunk-LF5IDY4O.js} +1 -1
- package/browser/{chunk-AC4PQGX6.js → chunk-LGD6M7MZ.js} +2 -2
- package/browser/{chunk-47OAJURU.js → chunk-LQ7BDGRM.js} +3 -3
- package/browser/{chunk-CEBF2EVJ.js → chunk-LSISPT3Y.js} +1 -1
- package/browser/{chunk-3CQB5DRP.js → chunk-LVP6JNUV.js} +1 -1
- package/browser/{chunk-U5KDHVSC.js → chunk-M4YTMZCS.js} +1 -1
- package/browser/{chunk-MMTN65TG.js → chunk-MDOEBTV2.js} +1 -1
- package/browser/{chunk-ZY6O2TC4.js → chunk-MK57EDQP.js} +1 -1
- package/browser/{chunk-4UV5NWOQ.js → chunk-MOS67ORF.js} +1 -1
- package/browser/{chunk-NWWCVGSJ.js → chunk-MTGQ5DSG.js} +2 -2
- package/browser/{chunk-WVVNXJT6.js → chunk-N44T4W25.js} +1 -1
- package/browser/{chunk-C6FGVEWJ.js → chunk-NOTLJKL6.js} +1 -1
- package/browser/{chunk-HKHQYAOV.js → chunk-NVBPT67L.js} +1 -1
- package/browser/{chunk-5GVDVGC7.js → chunk-OH6AFNKO.js} +1 -1
- package/browser/{chunk-XYWKHD3C.js → chunk-OWF2FM5D.js} +1 -1
- package/browser/{chunk-DDNJLCTS.js → chunk-PACM4QR7.js} +1 -1
- package/browser/{chunk-KYDTFNOL.js → chunk-PKUJBXJ6.js} +1 -1
- package/browser/{chunk-QAIZR3KP.js → chunk-PTHCGPYL.js} +1 -1
- package/browser/{chunk-ILNHKEOD.js → chunk-QPIA22QE.js} +1 -1
- package/browser/{chunk-6G3WAFHE.js → chunk-QTF4TOMO.js} +1 -1
- package/browser/{chunk-EEQW44XJ.js → chunk-QZYKXQGG.js} +1 -1
- package/browser/{chunk-HNYDMUND.js → chunk-R7MXEVXE.js} +1 -1
- package/browser/{chunk-4JC3MRWV.js → chunk-RM5XRYXS.js} +1 -1
- package/browser/{chunk-E6NANKMG.js → chunk-SSXVFRWR.js} +1 -1
- package/browser/{chunk-VBZ4FC4V.js → chunk-TIBU4UOZ.js} +1 -1
- package/browser/{chunk-3S2P3E3X.js → chunk-TOES5PP6.js} +1 -1
- package/browser/{chunk-ORUXOS6G.js → chunk-U6HQU6MN.js} +1 -1
- package/browser/{chunk-J5MCFPA6.js → chunk-UHK77CJQ.js} +1 -1
- package/browser/{chunk-GFGZIUMR.js → chunk-UROOT5Q3.js} +1 -1
- package/browser/{chunk-7PGL3EMQ.js → chunk-UV7GX3EH.js} +1 -1
- package/browser/{chunk-LFDVMJ23.js → chunk-VKFOZBYT.js} +1 -1
- package/browser/{chunk-XYGVXFMF.js → chunk-VX3Y6JNK.js} +1 -1
- package/browser/{chunk-KS3S56I5.js → chunk-W3KPS5Q2.js} +1 -1
- package/browser/{chunk-I4ZZLEOC.js → chunk-WW32TK7S.js} +1 -1
- package/browser/{chunk-7KGUSEZE.js → chunk-XUADYV3E.js} +1 -1
- package/browser/{chunk-XTQKYUQZ.js → chunk-XWUEFGPC.js} +1 -1
- package/browser/{chunk-N5C34BHA.js → chunk-YFI3XK6K.js} +1 -1
- package/browser/{chunk-TEEERQZU.js → chunk-YSYKHYFL.js} +1 -1
- package/browser/{chunk-K6RLLSRA.js → chunk-YZO4MKJI.js} +1 -1
- package/browser/{chunk-NZPQWSQD.js → chunk-ZOYBEI6Y.js} +1 -1
- package/browser/{chunk-Y4J2OX7Z.js → chunk-ZQHJR6VT.js} +1 -1
- package/browser/{chunk-UDWJOZLR.js → chunk-ZRALF4GH.js} +1 -1
- package/browser/index.html +2 -2
- package/browser/{main-E7RLPCVS.js → main-32XO34UF.js} +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as g}from"./chunk-
|
|
1
|
+
import{a as g}from"./chunk-LSISPT3Y.js";import{Fa as p,Ha as h,e as l}from"./chunk-2ERDZXCS.js";var u=class extends g{constructor(t,e,s,i,n,a,r,o,c="post",D="post"){super(t,e,s,i,n,a,r,c,D);this.httpService=e;this.toastrService=n;this.route=a;this.cdr=o;this.dataMethod=c;this.loaderMethod=D;o&&h(()=>{this.infiniteListSignal(),this.cdr.markForCheck()})}toastrCount=0;nextPageDisabled=!1;extendData=!1;goToLast=!1;listTotal=0;_infiniteList$=new l([]);infiniteListSignal=p([]);get infiniteList(){return this._infiniteList$.value}set infiniteList(t){this._infiniteList$.next(t),this.infiniteListSignal.set(t)}originalData=[];StoreRowsCountAPIResult(t,e=!1){this.httpService.post("/api/"+t,this.pageData.Filter).subscribe(s=>{this.listTotal=s.Count,this.pageData.HideStoreApiCount=!0,e&&(this.pageData.Filter.RowCount=this.listTotal,this.goToLast=!0,this.pageData.Filter.PageNumber=1,this.getListData()),this.cdr&&this.cdr.markForCheck()})}NextPage(t){this.pageData.Filter.PageNumber=this.pageData.Filter.PageNumber||1,this.pageData.Filter.PageNumber+=1,this.extendData=t,this.getListData()}postInit(t){t?.Data?.length>0&&(this.toastrCount=0),t?.Data?.length===0&&this.toastrCount===0&&(this.toastrService?.info("No more data to load","Info"),this.toastrCount=1);let e=Array.isArray(t.Data?.hits),s=Array.isArray(t.Data?.[0]?.Variants),i=[...this.infiniteList];if(this.extendData){let a=i.at(-1),r=t.Data.find(o=>o.ID===a?.ID);if(s&&a)if(r){let o=t.Data.filter(c=>c.ID!==a?.ID);a.Variants=a.Variants.concat(r.Variants||[]),i=i.concat(o)}else i=i.concat(t.Data);else i=i.concat(e?t.Data.hits:t.Data);this.postExtendData(t),this.extendData=!1}else i=e?t.Data.hits:t.Data,this.assignAggregate(t);this.infiniteList=i,this.originalData=[...i];let n=e?t.Data.hits.length:t.Data.length;this.nextPageDisabled=n<this.pageData.Filter.RowCount,this.menuData.H=this.data.PageTitle||this.menuData.H,this.afterPostInit(t),this.cdr?.markForCheck?.()}afterPostInit(t){}preSearchFromPageOne(){this.goToLast=!1}postExtendData(t){}assignAggregate(t){}onSelectAllData(t){super.onSelectAllData(t),this.infiniteList=this.infiniteList.map(e=>(e.selected=t,e))}};export{u as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as M,g as y}from"./chunk-
|
|
1
|
+
import{f as M,g as y}from"./chunk-WW32TK7S.js";import"./chunk-OWF2FM5D.js";import"./chunk-3GZUX2TV.js";import"./chunk-LWCDPG6P.js";import"./chunk-ANISRDEI.js";import"./chunk-4TOQ7EGN.js";import"./chunk-3TFWTYY2.js";import"./chunk-52KMSRYQ.js";import"./chunk-STIMAG44.js";import"./chunk-EKGQU5OA.js";import"./chunk-IOBYB6AV.js";import"./chunk-JFS6EFNT.js";import"./chunk-YNQPX5G6.js";import"./chunk-FAZ7G5H6.js";import"./chunk-VBXYBASD.js";import"./chunk-CPHICIOL.js";import"./chunk-GCPQTFRO.js";import"./chunk-NFVNHSX5.js";import"./chunk-N4STXFCX.js";import"./chunk-ZLJTB3SO.js";import"./chunk-OG6UIE5Q.js";import"./chunk-LYYPWLC4.js";import"./chunk-4CLMG36L.js";import"./chunk-DHBFOXIN.js";import"./chunk-ZRALF4GH.js";import"./chunk-LVP6JNUV.js";import"./chunk-VFWU5XQ6.js";import"./chunk-HQQZZQUW.js";import"./chunk-3DEA4WWC.js";import"./chunk-VX3Y6JNK.js";import"./chunk-2WBWJI4D.js";import{Ib as h,Jb as i,Kb as r,Lb as g,Td as z,Wd as c,Za as d,eb as l,ib as f,jb as m,mc as n,nc as v,oa as s,zd as x}from"./chunk-2ERDZXCS.js";import"./chunk-WFMAM73Y.js";import"./chunk-SNAKHGZS.js";var u=class t{constructor(a){this.router=a;let e=this.router.currentNavigation();e?.extras?.state&&(this.role=e.extras.state.role);let o=this.router.lastSuccessfulNavigation();o&&(this.previousPage=o.extractedUrl.toString())}previousPage="";role="";menuData={H:"Unauthorized"};goBack(){this.previousPage?this.router.navigateByUrl(this.previousPage):this.router.navigate(["/dashboard"])}static \u0275fac=function(e){return new(e||t)(l(z))};static \u0275cmp=f({type:t,selectors:[["POS-unauthorized"]],standalone:!1,decls:13,vars:4,consts:[[3,"pageData","hideSearchDropdown","hideSearchBox"],[1,"d-flex","align-items-center","justify-content-center","mt-8",2,"height","350px"],[1,"text-center"],["src","https://cdn.dealpos.xyz/web-image/locked.svg",2,"width","200px"],[1,"mt-2","mb-6"],[1,"fw-bold"]],template:function(e,o){e&1&&(i(0,"mainpanel-cmp",0)(1,"content")(2,"div",1)(3,"div",2)(4,"div"),g(5,"img",3),r(),i(6,"h1",4),n(7,"You are not authorized"),r(),i(8,"p"),n(9," This page require "),i(10,"span",5),n(11),r(),n(12," role. Please contact your Administrator to gain access! "),r()()()()()),e&2&&(h("pageData",o.menuData)("hideSearchDropdown",!0)("hideSearchBox",!0),d(11),v(o.role))},dependencies:[M],encapsulation:2})};var U=[{path:"Main/Unauthorized",component:u},{path:"",redirectTo:"Main/Unauthorized",pathMatch:"full"}],p=class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=m({type:t});static \u0275inj=s({imports:[c.forChild(U),c]})};var S=class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=m({type:t});static \u0275inj=s({imports:[x,p,y]})};export{S as UnauthorizedModule};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as u}from"./chunk-
|
|
1
|
+
import{c as u}from"./chunk-ZRALF4GH.js";import{b as s}from"./chunk-HQQZZQUW.js";import{Td as a,ra as e}from"./chunk-2ERDZXCS.js";var g=(t,c)=>{let r=e(a),i=e(u);if(i.isTokenExpired())return i.returnUrl=c.url,r.navigate(["/"]),!1;let d=e(s),o=t.data?.roles;if(o){let n=t.data?.unauthorizedRedirect;if(!o.some(l=>d.isUserHasRole(l)))return n?r.navigate([n]):r.navigate(["menu/Unauthorized/Main/Unauthorized"]),!1}return!0};export{g as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Mt,b as St}from"./chunk-TD5B6VOV.js";import{a as vt}from"./chunk-CV4M5DGN.js";import"./chunk-FMIDDJEB.js";import"./chunk-MNYQ3BPZ.js";import"./chunk-L5SMMPRJ.js";import"./chunk-RKSBQOKT.js";import"./chunk-UYYEFUGW.js";import"./chunk-VRMQNPJV.js";import{a as ye}from"./chunk-RMFFHQFW.js";import"./chunk-7XGN7LT7.js";import"./chunk-KEP2ZHHL.js";import{a as _e}from"./chunk-4O2LGQII.js";import{a as ht}from"./chunk-RRNDKXH4.js";import{a as bt}from"./chunk-OM5ISZ62.js";import"./chunk-RM6PV7SW.js";import{a as gt}from"./chunk-NRCV4GQO.js";import{a as _t}from"./chunk-LHAFSZF7.js";import"./chunk-3NFVXRWB.js";import"./chunk-37PZPWZY.js";import"./chunk-TTZUIFLN.js";import"./chunk-4GR4KXCR.js";import{a as ge}from"./chunk-ANBDI5MB.js";import"./chunk-O3Z4ONTM.js";import"./chunk-P3KIIKY4.js";import"./chunk-O55DD6CT.js";import"./chunk-JCFGTTRU.js";import{a as yt}from"./chunk-WKRSM6FL.js";import"./chunk-VLSANGOZ.js";import"./chunk-BYXBJQAS.js";import"./chunk-7GRHNPNY.js";import"./chunk-UOCGL3EW.js";import"./chunk-DIAV4K3S.js";import"./chunk-2JPZMGCJ.js";import"./chunk-5GHN24QS.js";import{a as tt,b as it,c as ot,d as nt}from"./chunk-EMLV5DDD.js";import"./chunk-JEJGTRFJ.js";import{d as Ct}from"./chunk-6C7NKVRP.js";import"./chunk-6TWTQLKB.js";import"./chunk-SASYAFMF.js";import"./chunk-QP7B4347.js";import"./chunk-STYLBZL4.js";import"./chunk-XLS7AM5H.js";import"./chunk-U7XVI26F.js";import"./chunk-ALUJK3AI.js";import"./chunk-B3U3BHLU.js";import"./chunk-C5SH4ACM.js";import"./chunk-ZIWP67C5.js";import"./chunk-JX7TU3SH.js";import"./chunk-JDZPL3KU.js";import"./chunk-FZGFUOJQ.js";import"./chunk-UJPQDPFC.js";import"./chunk-CEBF2EVJ.js";import"./chunk-NZPQWSQD.js";import"./chunk-RHZ4SE3E.js";import"./chunk-E6MKUJD5.js";import{f as ct,g as pt}from"./chunk-I4ZZLEOC.js";import"./chunk-Z3I6U6KT.js";import{b as ut,c as ft}from"./chunk-6R334P6I.js";import"./chunk-LSV7QXYU.js";import"./chunk-HB5JT7XV.js";import"./chunk-35ECO23I.js";import"./chunk-G2UNSH3R.js";import"./chunk-3GIDLGOV.js";import"./chunk-JJFV542H.js";import"./chunk-QGI3QC76.js";import"./chunk-JBO3R4W5.js";import{a as at}from"./chunk-VIKIXIX5.js";import"./chunk-SFKCZ7DL.js";import"./chunk-PPNXP25T.js";import"./chunk-MHPH7T32.js";import"./chunk-UNAPWUZC.js";import"./chunk-IFLLAVLK.js";import"./chunk-XYWKHD3C.js";import"./chunk-A3HVDWQA.js";import{a as rt}from"./chunk-4VMU55T7.js";import"./chunk-3GZUX2TV.js";import"./chunk-LWCDPG6P.js";import"./chunk-ANISRDEI.js";import{b as Ce,d as st,e as dt}from"./chunk-4TOQ7EGN.js";import"./chunk-3TFWTYY2.js";import"./chunk-52KMSRYQ.js";import"./chunk-STIMAG44.js";import"./chunk-EKGQU5OA.js";import"./chunk-IOBYB6AV.js";import{a as N}from"./chunk-JFS6EFNT.js";import"./chunk-YNQPX5G6.js";import{G as lt,O as mt}from"./chunk-FAZ7G5H6.js";import"./chunk-QU45SEX2.js";import"./chunk-QYSFCWV7.js";import{d as W}from"./chunk-ZRBKLF75.js";import"./chunk-VBXYBASD.js";import{a as ue,b as fe,c as K}from"./chunk-CPHICIOL.js";import"./chunk-GCPQTFRO.js";import"./chunk-NFVNHSX5.js";import{b as et}from"./chunk-Z6KYVNJQ.js";import"./chunk-4NWLXS6M.js";import"./chunk-OEFF3O4P.js";import{a as A,b as ce,c as pe}from"./chunk-N4STXFCX.js";import"./chunk-ZLJTB3SO.js";import"./chunk-OG6UIE5Q.js";import"./chunk-LYYPWLC4.js";import"./chunk-4CLMG36L.js";import{E as Xe,F as $e,c as V,h as E,i as Ye,k as Ke,o as I,p as Je,z as Y}from"./chunk-DHBFOXIN.js";import"./chunk-UDWJOZLR.js";import"./chunk-3CQB5DRP.js";import"./chunk-VFWU5XQ6.js";import{b as R}from"./chunk-HQQZZQUW.js";import{a as x}from"./chunk-3DEA4WWC.js";import"./chunk-XYGVXFMF.js";import{n as L,q as de}from"./chunk-2WBWJI4D.js";import{Bb as v,Ca as Ae,Db as M,Dc as h,Ec as Fe,F as H,Fa as Z,Fb as Oe,Gb as Le,Hb as Re,Ib as d,Jb as o,Kb as n,Kc as qe,Lb as S,Mc as Ue,Pb as Ee,Qb as Ie,Rd as He,Td as Ze,Ua as Pe,Ub as D,Ud as Qe,Xb as b,Xc as se,Yc as Q,Za as m,Zb as p,ba as ae,bc as re,cc as le,d as ke,dc as me,eb as w,hc as P,ib as T,jc as Be,mc as s,md as F,nb as We,nc as $,ob as U,oc as ee,qd as ze,ra as k,rc as u,sc as f,tc as C,u as G,ud as je,va as _,wa as y,zd as Ge}from"./chunk-2ERDZXCS.js";import"./chunk-WFMAM73Y.js";import{a as oe,b as ne}from"./chunk-SNAKHGZS.js";var It=r=>({selected:r}),J=class r{constructor(l,e,t){this.dialogRef=l;this.data=e;this.toastr=t;this.configModal=new ce,this.configModal.title="Add New City",this.countries=e.countries}city="";configModal;countryID=null;countries;isNotEmpty(l){return x.IsNotEmpty(l)}onOk(){if(x.IsEmpty(this.city)){this.toastr.info("City is required",A.Info);return}if(x.IsEmpty(this.countryID)){this.toastr.info("Country is required",A.Info);return}else this.dialogRef.close({Name:this.city,CountryID:this.countryID})}static \u0275fac=function(e){return new(e||r)(w(ue),w(fe),w(L))};static \u0275cmp=T({type:r,selectors:[["POS-modal-add-city"]],standalone:!1,decls:14,vars:8,consts:[[3,"onOk","onCancel","onClose","config"],[1,"container-fluid"],[1,"row",2,"width","500px"],[1,"col-sm-12"],[1,"form-floating-outline"],["type","text","id","labelName","placeholder","City name",1,"form-control",3,"ngModelChange","ngModel"],["for","labelName"],[1,"form-floating-outline","flexRow",3,"ngClass"],["id","labelCity","bindLabel","Name","bindValue","ID","appendTo","body",1,"currency-select",3,"ngModelChange","ngModel","items","clearable"],["for","labelCity",1,"ng-select"]],template:function(e,t){e&1&&(o(0,"modal-material",0),b("onOk",function(){return t.onOk()})("onCancel",function(){return t.dialogRef.close()})("onClose",function(){return t.dialogRef.close()}),o(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"input",5),C("ngModelChange",function(a){return f(t.city,a)||(t.city=a),a}),n(),o(7,"label",6),s(8,"City"),n()()(),o(9,"div",3)(10,"div",7)(11,"ng-select",8),C("ngModelChange",function(a){return f(t.countryID,a)||(t.countryID=a),a}),n(),o(12,"label",9),s(13,"Country"),n()()()()()()()),e&2&&(d("config",t.configModal),m(6),u("ngModel",t.city),m(4),d("ngClass",h(6,It,t.isNotEmpty(t.countryID))),m(),u("ngModel",t.countryID),d("items",t.countries)("clearable",!1))},dependencies:[F,V,E,I,pe,W],encapsulation:2})};var Ft=["fileInput"],wt=(r,l)=>({width:r,height:l}),Vt=r=>({fontSize:r});function Nt(r,l){if(r&1&&S(0,"i",4),r&2){let e=p();d("ngStyle",h(1,Vt,e.customSize()))}}function kt(r,l){if(r&1){let e=D();S(0,"img",8),o(1,"div",9)(2,"div",10)(3,"button",11),b("click",function(i){_(e);let a=p();return y(a.onZoomImage(i))}),S(4,"i",12),n(),o(5,"button",13),b("click",function(i){_(e);let a=p();return y(a.onRemoveImage(i))}),S(6,"i",14),n()()()}if(r&2){let e=p();d("src",e.currentImage(),Pe)("ngStyle",Fe(2,wt,e.customSize(),e.customSize()))}}function At(r,l){if(r&1){let e=D();o(0,"div",15),b("click",function(){_(e);let i=p();return y(i.onUploadClick())}),S(1,"i",16),n()}}function Wt(r,l){if(r&1){let e=D();o(0,"div",17),b("click",function(){_(e);let i=p();return y(i.closeZoomModal())}),o(1,"div",18),b("click",function(i){return i.stopPropagation()}),o(2,"button",19),b("click",function(){_(e);let i=p();return y(i.closeZoomModal())}),S(3,"i",20),n(),S(4,"img",21),n()()}if(r&2){let e=p();m(4),d("src",e.currentImage(),Pe)}}var be=class r{fileInput;processUppy=k(_e);disabled=Q(!1);acceptedFileTypes=Q("image/*");maxFileSize=Q(5*1024*1024);currentImage=Q(null);customSize=Q("100px");fileSelected=se();onError=se();imageRemoved=se();showZoomModal=Z(!1);roleService=k(R);onUploadClick(){this.disabled()||this.fileInput.nativeElement.click()}onFileSelected(l){let e=l.target?.files?.[0];if(console.log("Selected file:",e),!!e){if(!e.type.startsWith("image/")){this.onError.emit("Please select a valid image file");return}if(e.size>this.maxFileSize()){let t=this.maxFileSize()/1048576;this.onError.emit(`File size must be less than ${t}MB`);return}this.fileSelected.emit(e),this.fileInput.nativeElement.value=""}}onZoomImage(l){l.preventDefault(),l.stopPropagation(),this.showZoomModal.set(!0)}onRemoveImage(l){l.preventDefault(),l.stopPropagation(),this.imageRemoved.emit()}closeZoomModal(){this.showZoomModal.set(!1)}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=T({type:r,selectors:[["POS-avatar-image-uploader"]],viewQuery:function(e,t){if(e&1&&re(Ft,5),e&2){let i;le(i=me())&&(t.fileInput=i.first)}},inputs:{disabled:[1,"disabled"],acceptedFileTypes:[1,"acceptedFileTypes"],maxFileSize:[1,"maxFileSize"],currentImage:[1,"currentImage"],customSize:[1,"customSize"]},outputs:{fileSelected:"fileSelected",onError:"onError",imageRemoved:"imageRemoved"},decls:9,vars:7,consts:[["fileInput",""],[1,"avatar-wrapper"],[1,"avatar-container","position-relative","d-inline-block",3,"ngStyle"],[1,"avatar-bg"],[1,"fa-solid","fa-circle-user","avatar-icon",3,"ngStyle"],[1,"upload-btn","position-absolute"],["type","file","accept","image/*",1,"d-none",3,"change"],[1,"zoom-modal-backdrop"],["alt","Avatar",1,"avatar-image",3,"src","ngStyle"],[1,"image-overlay"],[1,"overlay-actions"],["title","View Image",1,"action-btn","view-btn",3,"click"],[1,"fas","fa-eye"],["title","Remove Image",1,"action-btn","remove-btn",3,"click"],[1,"fas","fa-trash"],[1,"upload-btn","position-absolute",3,"click"],[1,"fas","fa-edit"],[1,"zoom-modal-backdrop",3,"click"],[1,"zoom-modal-content",3,"click"],[1,"close-btn",3,"click"],[1,"fas","fa-times"],["alt","Avatar Preview",1,"zoom-image",3,"src"]],template:function(e,t){e&1&&(o(0,"div",1)(1,"div",2)(2,"div",3),v(3,Nt,1,3,"i",4)(4,kt,7,5),n(),v(5,At,2,0,"div",5),o(6,"input",6,0),b("change",function(a){return t.onFileSelected(a)}),n()()(),v(8,Wt,5,1,"div",7)),e&2&&(m(),d("ngStyle",Fe(4,wt,t.customSize(),t.customSize())),m(2),M(t.currentImage()?4:3),m(2),M(!(t.roleService==null||t.roleService.contact==null)&&t.roleService.contact.ContactImageEditor?5:-1),m(3),M(t.showZoomModal()?8:-1))},dependencies:[Ge,ze],styles:[".avatar-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.avatar-container[_ngcontent-%COMP%]{cursor:pointer;transition:transform .2s ease}.avatar-container[_ngcontent-%COMP%]:hover{transform:scale(1.05)}.avatar-bg[_ngcontent-%COMP%]{border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative}.avatar-icon[_ngcontent-%COMP%]{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.upload-btn[_ngcontent-%COMP%]{bottom:0;right:0;width:24px;height:24px;background:#2196f3;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 8px #2196f366;transition:all .2s ease;border:1px solid white}.upload-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#fff;font-size:10px}.upload-btn[_ngcontent-%COMP%]:hover{background:#1976d2;transform:scale(1.1)}.upload-btn[_ngcontent-%COMP%]:active{transform:scale(.95)}@media(max-width:768px){.avatar-icon[_ngcontent-%COMP%]{font-size:65px}.upload-btn[_ngcontent-%COMP%]{width:30px;height:30px;border-width:2px}.upload-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px}.overlay-actions[_ngcontent-%COMP%]{gap:8px}.action-btn[_ngcontent-%COMP%]{width:28px;height:28px;font-size:12px}.zoom-modal-content[_ngcontent-%COMP%]{max-width:95vw;max-height:85vh}.close-btn[_ngcontent-%COMP%]{top:-35px;right:-5px;width:28px;height:28px}}.avatar-image[_ngcontent-%COMP%]{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center;box-shadow:0 2px 8px #00000026;transition:filter .3s ease}.image-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;border-radius:50%;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none}.avatar-bg[_ngcontent-%COMP%]:hover .image-overlay[_ngcontent-%COMP%]{opacity:1;pointer-events:all}.overlay-actions[_ngcontent-%COMP%]{display:flex;gap:12px}.action-btn[_ngcontent-%COMP%]{width:24px;height:24px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:14px}.action-btn[_ngcontent-%COMP%]:hover{transform:scale(1.1)}.action-btn[_ngcontent-%COMP%]:active{transform:scale(.95)}.view-btn[_ngcontent-%COMP%]{background:#646464;color:#fff}.view-btn[_ngcontent-%COMP%]:hover{background:#535353}.remove-btn[_ngcontent-%COMP%]{background:#646464;color:#fff}.remove-btn[_ngcontent-%COMP%]:hover{background:#535353}.zoom-modal-backdrop[_ngcontent-%COMP%]{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100000;cursor:pointer;animation:_ngcontent-%COMP%_fadeIn .3s ease}.zoom-modal-content[_ngcontent-%COMP%]{position:relative;max-width:90vw;max-height:90vh;cursor:default;animation:_ngcontent-%COMP%_zoomIn .3s ease;display:flex}.close-btn[_ngcontent-%COMP%]{position:absolute;top:-40px;right:-10px;width:32px;height:32px;border-radius:50%;background:#fff3;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.close-btn[_ngcontent-%COMP%]:hover{background:#ffffff4d}.zoom-image[_ngcontent-%COMP%]{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 4px 20px #0000004d}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _ngcontent-%COMP%_zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}"]})};var Ne=r=>({selected:r});function Lt(r,l){r&1&&(o(0,"label",13),s(1,"Sales"),n())}var ve=class r{constructor(l){this.role=l}form={};options={};maskingFields;isStateEdit;maskingFieldMsg=Ce.maskingField;isNotEmpty(l){return x.IsNotEmpty(l)}static \u0275fac=function(e){return new(e||r)(w(R))};static \u0275cmp=T({type:r,selectors:[["POS-customer-sales-price"]],inputs:{form:"form",options:"options",maskingFields:"maskingFields",isStateEdit:"isStateEdit"},standalone:!1,decls:60,vars:23,consts:[[1,"row","g-4"],[1,"col-sm-12"],[1,"fw-normal"],[1,"col-sm-6"],[1,"form-floating-outline","flexRow",3,"ngClass"],["appendTo","body","id","inputDefaultTax","bindLabel","Label","bindValue","ID","matTooltipPosition","above","matTooltip","Select Customer Default Tax",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputDefaultTax",1,"ng-select"],[1,"form-floating-outline"],["type","text","id","inputNPWP","placeholder","TaxID","matTooltipPosition","above","matTooltip","Input Tax ID/Number",1,"form-control",3,"ngModelChange","ngModel"],["for","inputNPWP"],["appendTo","body","id","inputPricebook","bindLabel","Value","bindValue","Key","matTooltipPosition","above","matTooltip","Assign Pricebook for the customer",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputPricebook",1,"ng-select"],["id","inputSales","matTooltipPosition","above","matTooltip","Assign Sales Person for the Customer",1,"productform",3,"ngModelChange","ngModel"],["for","inputSales",1,"ng-select"],["type","text","id","inputPersonInCharge","placeholder","Person in Charge","matTooltipPosition","above","matTooltip","Input Person in Charge for the Customer",1,"form-control",3,"ngModelChange","ngModel"],["for","inputPersonInCharge"],["type","text","id","inputDebtLimit","placeholder","Debt Limit","autoNum","","matTooltipPosition","above","matTooltip","Input Debt Limit for this Customer",1,"form-control",3,"ngModelChange","ngModel"],["for","inputDebtLimit"],[1,"form-floating-outline","d-flex","align-items-center"],["type","text","autoNum","","id","inputMaximumOverdue","placeholder","Maximum Overdue","matTooltipPosition","above","matTooltip","Input maximum overdue days for the customer",1,"form-control","me-2",3,"ngModelChange","ngModel"],[1,"text-nowrap"],["for","inputMaximumOverdue"],["type","text","autoNum","","matTooltipPosition","above","matTooltip","Input Credit Due Days for the Customer",1,"form-control","me-2",3,"ngModelChange","ngModel"],["type","text","autoNum","","matTooltipPosition","above","matTooltip","Input Credit Due Months for the Customer",1,"form-control","me-2",3,"ngModelChange","ngModel"]],template:function(e,t){e&1&&(o(0,"div",0)(1,"div",1)(2,"h4",2),s(3," Tax "),n()(),o(4,"div",3)(5,"div",4)(6,"ng-select",5),C("ngModelChange",function(a){return f(t.form.Contact.TaxTypeId,a)||(t.form.Contact.TaxTypeId=a),a}),n(),o(7,"label",6),s(8,"Default Tax"),n()()(),o(9,"div",3)(10,"div",7)(11,"input",8),C("ngModelChange",function(a){return f(t.form.Contact.TaxIDNumber,a)||(t.form.Contact.TaxIDNumber=a),a}),n(),o(12,"label",9),s(13,"Tax ID"),n()()(),o(14,"div",1)(15,"h4",2),s(16," Sales Information "),n()(),o(17,"div",3)(18,"div",4)(19,"ng-select",10),C("ngModelChange",function(a){return f(t.form.Contact.PricebookID,a)||(t.form.Contact.PricebookID=a),a}),n(),o(20,"label",11),s(21,"Pricebook"),n()()(),o(22,"div",3)(23,"div",4)(24,"sales-person-selector",12),C("ngModelChange",function(a){return f(t.form.Contact.SalesID,a)||(t.form.Contact.SalesID=a),a}),n(),v(25,Lt,2,0,"label",13),n()(),o(26,"div",3)(27,"div",7)(28,"input",14),C("ngModelChange",function(a){return f(t.form.Contact.ContactPerson,a)||(t.form.Contact.ContactPerson=a),a}),n(),o(29,"label",15),s(30,"Person in Charge"),n()()(),o(31,"div",1)(32,"h4",2),s(33," Debt "),n()(),o(34,"div",3)(35,"div",7)(36,"input",16),C("ngModelChange",function(a){return f(t.form.Contact.DebtLimit,a)||(t.form.Contact.DebtLimit=a),a}),n(),o(37,"label",17),s(38,"Debt Limit"),n()()(),o(39,"div",3)(40,"div",18)(41,"input",19),C("ngModelChange",function(a){return f(t.form.Contact.MaximumOverdueDays,a)||(t.form.Contact.MaximumOverdueDays=a),a}),n(),o(42,"span",20),s(43,"Day(s)"),n(),o(44,"label",21),s(45,"Maximum Overdue"),n()()(),o(46,"div",1)(47,"h4",2),s(48," Credit Due "),n()(),o(49,"div",3)(50,"div",18)(51,"input",22),C("ngModelChange",function(a){return f(t.form.DefaultDue.Days,a)||(t.form.DefaultDue.Days=a),a}),n(),o(52,"span",20),s(53,"Day(s) (Credit)"),n()()(),o(54,"div",3)(55,"div",18)(56,"input",23),C("ngModelChange",function(a){return f(t.form.DefaultDue.Months,a)||(t.form.DefaultDue.Months=a),a}),n(),o(57,"span",20),s(58,"Month(s)"),n()()(),S(59,"div",3),n()),e&2&&(m(5),d("ngClass",h(17,Ne,t.isNotEmpty(t.form.Contact.TaxTypeId))),m(),u("ngModel",t.form.Contact.TaxTypeId),d("items",t.options.Taxes)("clearable",t.isNotEmpty(t.form.Contact.TaxTypeId)),m(5),u("ngModel",t.form.Contact.TaxIDNumber),m(7),d("ngClass",h(19,Ne,t.isNotEmpty(t.form.Contact.PricebookID))),m(),u("ngModel",t.form.Contact.PricebookID),d("items",t.options.Pricebooks)("clearable",!0),m(4),d("ngClass",h(21,Ne,t.isNotEmpty(t.form.Contact.SalesID))),m(),u("ngModel",t.form.Contact.SalesID),m(),M(t.form.Contact.SalesID?25:-1),m(3),u("ngModel",t.form.Contact.ContactPerson),m(8),u("ngModel",t.form.Contact.DebtLimit),m(5),u("ngModel",t.form.Contact.MaximumOverdueDays),m(10),u("ngModel",t.form.DefaultDue.Days),m(5),u("ngModel",t.form.DefaultDue.Months))},dependencies:[N,F,V,E,I,W,at,gt],styles:["input[_ngcontent-%COMP%]{height:58px}"],changeDetection:0})};var Bt=r=>({selected:r}),Me=class r{constructor(l,e,t){this.dialogRef=l;this.data=e;this.toastr=t;this.Model=e,this.configModal=new ce,this.configModal.title="Add New address?",this.configModal.headerType=A.Success}Model;configModal;isNotEmpty(l){return x.IsNotEmpty(l)}changeSelect(l){this.Model.form.CityName=l.Name}onOk(){x.IsEmpty(this.Model.form.Label)?this.toastr.error("Label is required",A.Error):x.IsEmpty(this.Model.form.Address)?this.toastr.error("Address is required",A.Error):this.dialogRef.close(this.Model.form)}static \u0275fac=function(e){return new(e||r)(w(ue),w(fe),w(L))};static \u0275cmp=T({type:r,selectors:[["POS-modal-add-address"]],standalone:!1,decls:24,vars:10,consts:[[3,"onOk","onCancel","onClose","config"],[1,"container-fluid"],[1,"row",2,"width","500px"],[1,"col-sm-12"],[1,"form-floating-outline"],["type","text","id","labelName","placeholder","Label","matTooltipPosition","above","matTooltip","Input Label for the address",1,"form-control",3,"ngModelChange","ngModel"],["for","labelName"],["type","text","id","labelPhone","placeholder","Phone","matTooltipPosition","above","matTooltip","Input phone for the address",1,"form-control",3,"ngModelChange","ngModel"],["for","labelPhone"],["id","labelAddress","placeholder","Address","matTooltipPosition","above","matTooltip","Input detail for the address",1,"form-control",3,"ngModelChange","ngModel"],["for","labelAddress"],[1,"form-floating-outline","flexRow",3,"ngClass"],["id","labelCity","bindLabel","Name","bindValue","ID","appendTo","body","matTooltipPosition","above","matTooltip","Select City for the address",1,"currency-select",3,"ngModelChange","change","ngModel","items","clearable"],["for","labelCity",1,"ng-select"]],template:function(e,t){e&1&&(o(0,"modal-material",0),b("onOk",function(){return t.onOk()})("onCancel",function(){return t.dialogRef.close()})("onClose",function(){return t.dialogRef.close()}),o(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"input",5),C("ngModelChange",function(a){return f(t.Model.form.Label,a)||(t.Model.form.Label=a),a}),n(),o(7,"label",6),s(8,"Label"),n()()(),o(9,"div",3)(10,"div",4)(11,"input",7),C("ngModelChange",function(a){return f(t.Model.form.Phone,a)||(t.Model.form.Phone=a),a}),n(),o(12,"label",8),s(13,"Phone"),n()()(),o(14,"div",3)(15,"div",4)(16,"textarea",9),C("ngModelChange",function(a){return f(t.Model.form.Address,a)||(t.Model.form.Address=a),a}),n(),o(17,"label",10),s(18,"Address"),n()()(),o(19,"div",3)(20,"div",11)(21,"ng-select",12),C("ngModelChange",function(a){return f(t.Model.form.City,a)||(t.Model.form.City=a),a}),b("change",function(a){return t.changeSelect(a)}),n(),o(22,"label",13),s(23,"City"),n()()()()()()()),e&2&&(d("config",t.configModal),m(6),u("ngModel",t.Model.form.Label),m(5),u("ngModel",t.Model.form.Phone),m(5),u("ngModel",t.Model.form.Address),m(4),d("ngClass",h(8,Bt,t.isNotEmpty(t.Model.form.City))),m(),u("ngModel",t.Model.form.City),d("items",t.Model.options.Cities)("clearable",!1))},dependencies:[N,F,V,E,I,pe,W],encapsulation:2})};var qt=r=>({"is-invalid":r});function Ut(r,l){r&1&&(o(0,"div",5),s(1,"Address is mandatory."),n())}function zt(r,l){r&1&&(o(0,"tr")(1,"td",16),s(2," No alternative addresses available. "),n()())}function jt(r,l){if(r&1){let e=D();o(0,"tr",18),b("click",function(){let i=_(e),a=i.$implicit,g=i.$index,O=p(2);return y(O.openModalAddress(a,g))}),o(1,"td",19)(2,"i",20),b("click",function(i){let a=_(e).$index;return p(2).deleteRow(a),y(i.stopPropagation())}),n()(),o(3,"td"),s(4),n(),o(5,"td"),s(6),n(),o(7,"td"),s(8),n(),o(9,"td"),s(10),n()()}if(r&2){let e=l.$implicit;m(4),$(e.Label),m(2),$(e.Phone),m(2),$(e.Address),m(2),$(e.CityName)}}function Gt(r,l){if(r&1&&Le(0,jt,11,4,"tr",17,Oe),r&2){let e=p();Re(e.form.Addresses)}}var Se=class r{constructor(l){this.matDialog=l}form={};options={};config={};newAddressEvent=new Ae;openModalAddress(l,e){let t={Address:null,City:null,CityName:null,Label:null,Phone:null,index:null};l&&(l.index=e,t=l),this.matDialog.open(Me,{data:{form:t,options:this.options}}).afterClosed().pipe(H(i=>x.IsNotEmpty(i))).subscribe(i=>{this.newAddressEvent.emit({address:i,index:i.index})})}deleteRow(l){this.form.Addresses.splice(l,1),this.form.Addresses.map((e,t)=>{e.index=t})}static \u0275fac=function(e){return new(e||r)(w(K))};static \u0275cmp=T({type:r,selectors:[["POS-customer-address"]],inputs:{form:"form",options:"options",config:"config"},outputs:{newAddressEvent:"newAddressEvent"},standalone:!1,decls:27,vars:8,consts:[["address","ngModel"],[1,"fw-normal","mb-4"],["label","Address",1,"form-floating-outline",3,"value"],["name","address","id","inputAddress","placeholder","Input Customer Address","matTooltipPosition","above","matTooltip","Address",1,"form-control",3,"ngModelChange","ngModel","required","ngClass"],["for","inputAddress"],[1,"invalid-feedback","fst-italic"],[1,"table","table-bordered","mb-4"],[1,"thead-light","sticky-top-thead"],[1,"header"],["width","15px",1,"border-end"],["type","button","matTooltipPosition","above","matTooltip","Add an Address?",1,"btn","btn-outline-dark","btn-sm","bg-white","text-black",3,"click"],["aria-hidden","true",1,"fa","fa-plus"],["matTooltipPosition","above","matTooltip","Label for this address",1,"border-end",2,"width","120px"],["matTooltipPosition","above","matTooltip","Phone for this address",1,"border-end",2,"width","120px"],["matTooltipPosition","above","matTooltip","Detail for this address",1,"border-end"],["matTooltipPosition","above","matTooltip","City for this Address",1,"border-end",2,"width","120px"],["colspan","5",1,"text-center"],[1,"clickable"],[1,"clickable",3,"click"],[1,"text-center"],[1,"fa","fa-xmark","text-danger",2,"cursor","pointer",3,"click"]],template:function(e,t){if(e&1){let i=D();o(0,"h4",1),s(1,"Main Address"),n(),o(2,"div",2)(3,"textarea",3,0),C("ngModelChange",function(g){return _(i),f(t.form.Contact.Address,g)||(t.form.Contact.Address=g),y(g)}),n(),o(5,"label",4),s(6,"Address"),n(),v(7,Ut,2,0,"div",5),n(),o(8,"h4",1),s(9,"Alternative Address"),n(),o(10,"table",6)(11,"thead",7)(12,"tr",8)(13,"th",9)(14,"button",10),b("click",function(){return t.openModalAddress(null)}),S(15,"i",11),n()(),o(16,"th",12),s(17," Label "),n(),o(18,"th",13),s(19," Phone "),n(),o(20,"th",14),s(21," Address "),n(),o(22,"th",15),s(23," City "),n()()(),o(24,"tbody"),v(25,zt,3,0,"tr")(26,Gt,2,0),n()()}if(e&2){let i=P(4);m(2),d("value",t.form.Contact.Address),m(),u("ngModel",t.form.Contact.Address),d("required",t.config.RequireContactAddress)("ngClass",h(6,qt,i.invalid&&(i.dirty||i.touched))),m(4),M(i.invalid&&(i.dirty||i.touched)?7:-1),m(18),M(t.form.Addresses.length===0?25:26)}},dependencies:[N,F,V,E,Y,I],encapsulation:2,changeDetection:0})};var ie=r=>({selected:r}),Dt=r=>({"is-invalid":r});function Zt(r,l){r&1&&(o(0,"label",11),s(1,"City"),n())}function Qt(r,l){if(r&1&&(o(0,"div",21),s(1),n()),r&2){p();let e=P(28);m(),ee(" ",e==null||e.errors==null||e.errors.minLength==null?null:e.errors.minLength.message," ")}}function Yt(r,l){if(r&1&&(S(0,"lib-info-page-input",23),qe(1,"IsMinDate")),r&2){let e=p();d("tooltip",e.maskingFieldMsg)("inputValue",Ue(1,3,e.form==null||e.form.Contact==null?null:e.form.Contact.Birthdate,"dd MMM yyyy"))("disabled",!0)}}function Kt(r,l){r&1&&(o(0,"div",21),s(1,"Birthdate is mandatory."),n())}function Jt(r,l){if(r&1){let e=D();o(0,"div",24)(1,"datepicker",31,1),C("ngModelChange",function(i){_(e);let a=p();return f(a.form.Contact.Birthdate,i)||(a.form.Contact.Birthdate=i),y(i)}),n(),v(3,Kt,2,0,"div",21),n()}if(r&2){let e=P(2),t=p();m(),u("ngModel",t.form.Contact.Birthdate),d("required",t.config.RequireContactBirthdate)("ngClass",h(4,Dt,e.invalid&&(e.dirty||e.touched))),m(2),M(e.invalid&&(e.dirty||e.touched)?3:-1)}}var xe=class r{form={};options={};maskingFields;isStateEdit;maskingFieldMsg;config;countries;matDialog=k(K);httpService=k(de);roleService=k(R);ngOnInit(){this.httpService.post("/api/ContactSetup/Country").pipe(G(l=>l.List)).subscribe(l=>this.countries=l)}isNotEmpty(l){return x.IsNotEmpty(l)}checkedIsNotEmpty(l){return x.IsNotEmpty(l)}openAddCityDialog(){this.matDialog.open(J,{data:{countries:this.countries}}).afterClosed().pipe(H(l=>l.CountryID&&l.Name),ae(l=>this.httpService.post("/api/ContactSetup/SubmitCity",l).pipe(G(e=>ne(oe({},l),{ID:e.ID}))))).subscribe(l=>{this.options.Cities=[...this.options.Cities,l],this.form.Contact.City=l.ID})}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=T({type:r,selectors:[["POS-customer-information"]],inputs:{form:"form",options:"options",maskingFields:"maskingFields",isStateEdit:"isStateEdit",maskingFieldMsg:"maskingFieldMsg",config:"config"},standalone:!1,decls:52,vars:42,consts:[["nationalId","ngModel"],["birthdateCtrl","ngModel"],[1,"fw-normal","mb-8"],[1,"row","g-4"],[1,"col-sm-6"],[1,"form-floating-outline","flexRow",3,"ngClass"],["appendTo","body","id","inputGender","name","gender","bindLabel","Value","bindValue","Key","placeholder","Choose an Options","matTooltipPosition","above","matTooltip","Select Customer Gender",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputGender",1,"ng-select"],[1,"d-flex"],[1,"form-floating-outline","w-100",3,"ngClass"],["appendTo","body","id","inputSelectCity","bindLabel","Name","bindValue","ID","placeholder","Choose an Options","matTooltipPosition","above","matTooltip","Select Customer City","name","city",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputSelectCity",1,"ng-select"],[1,"bg-dark","pointer","mt-7",2,"display","inline-block","margin-left","9px","border-radius","65px","padding","5px","width","30px","height","30px","text-align","center","font-size","14px",3,"click"],["aria-hidden","true",1,"fa","fa-plus","text-white"],[1,"form-floating-outline",3,"ngClass"],["appendTo","body","id","inputNationality","bindLabel","Name","bindValue","ID","matTooltipPosition","above","matTooltip","Input Customer Nationality ID/Number",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputNationality",1,"ng-select"],["appendTo","body","id","inputRace","bindLabel","Name","bindValue","ID","matTooltipPosition","above","matTooltip","Select Customer Race",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputRace",1,"ng-select"],["pOSFormOrFloatingOnMasked","","label","Identification",1,"form-floating-outline",3,"value","isMasked"],["type","text","id","inputIdentification","matTooltipPosition","above","matTooltip","Input National ID Number","placeholder","NationalID","numericInputOnly","nationalId","name","nationalId",1,"form-control",3,"ngModelChange","ngModel","ngClass"],[1,"invalid-feedback","fst-italic"],["for","inputIdentification"],["labelValue","Birthdate","inputType","input",3,"tooltip","inputValue","disabled"],[1,"form-floating-outline"],["id","inputSelectCity","bindLabel","Name","bindValue","ID","matTooltipPosition","above","matTooltip","Select Customer Group","name","customerGroup",1,"productform",3,"ngModelChange","ngModel","items","multiple","clearable"],[1,"fw-normal"],["type","text","id","inputFax","placeholder","Fax","matTooltipPosition","above","matTooltip","Input Customer Fax Number",1,"form-control",3,"ngModelChange","ngModel"],["for","inputFax"],["type","text","id","inputDocument","placeholder","Document - Resource URL","matTooltipPosition","above","matTooltip","Input Customer Document-Resource URL",1,"form-control",3,"ngModelChange","ngModel"],["for","inputDocument"],["placeholder","Birthdate","appearance","outline","matTooltipPosition","above","name","birthdate","matTooltip","Input Customer Birthdate",1,"customer-birthday",3,"ngModelChange","ngModel","required","ngClass"]],template:function(e,t){if(e&1){let i=D();o(0,"h4",2),s(1,"Personal Information"),n(),o(2,"div",3)(3,"div",4)(4,"div",5)(5,"ng-select",6),C("ngModelChange",function(g){return _(i),f(t.form.Contact.Gender,g)||(t.form.Contact.Gender=g),y(g)}),n(),o(6,"label",7),s(7,"Gender"),n()()(),o(8,"div",4)(9,"div",8)(10,"div",9)(11,"ng-select",10),C("ngModelChange",function(g){return _(i),f(t.form.Contact.City,g)||(t.form.Contact.City=g),y(g)}),n(),v(12,Zt,2,0,"label",11),n(),o(13,"div",12),b("click",function(){return t.openAddCityDialog()}),S(14,"i",13),n()()(),o(15,"div",4)(16,"div",14)(17,"ng-select",15),C("ngModelChange",function(g){return _(i),f(t.form.Contact.NationalityID,g)||(t.form.Contact.NationalityID=g),y(g)}),n(),o(18,"label",16),s(19,"Nationality"),n()()(),o(20,"div",4)(21,"div",14)(22,"ng-select",17),C("ngModelChange",function(g){return _(i),f(t.form.Contact.RaceID,g)||(t.form.Contact.RaceID=g),y(g)}),n(),o(23,"label",18),s(24,"Race"),n()()(),o(25,"div",4)(26,"div",19)(27,"input",20,0),C("ngModelChange",function(g){return _(i),f(t.form.Contact.NationalIDNumber,g)||(t.form.Contact.NationalIDNumber=g),y(g)}),n(),v(29,Qt,2,1,"div",21),o(30,"label",22),s(31,"National ID"),n()()(),o(32,"div",4),v(33,Yt,2,6,"lib-info-page-input",23)(34,Jt,4,6,"div",24),n(),o(35,"div",4)(36,"div",5)(37,"ng-select",25),C("ngModelChange",function(g){return _(i),f(t.form.Groups,g)||(t.form.Groups=g),y(g)}),n(),o(38,"label",11),s(39,"Groups"),n()()(),o(40,"h4",26),s(41,"Document"),n(),o(42,"div",4)(43,"div",24)(44,"input",27),C("ngModelChange",function(g){return _(i),f(t.form.Contact.Fax,g)||(t.form.Contact.Fax=g),y(g)}),n(),o(45,"label",28),s(46,"Fax"),n()()(),o(47,"div",4)(48,"div",24)(49,"input",29),C("ngModelChange",function(g){return _(i),f(t.form.Contact.ResourceUrl,g)||(t.form.Contact.ResourceUrl=g),y(g)}),n(),o(50,"label",30),s(51,"Document - Resource URL"),n()()()()}if(e&2){let i=P(28);m(4),d("ngClass",h(30,ie,t.form.Contact.Gender==0?!0:t.form.Contact.Gender)),m(),u("ngModel",t.form.Contact.Gender),d("items",t.options.Genders)("clearable",!1),m(5),d("ngClass",h(32,ie,t.form.Contact.City==0?!0:t.form.Contact.City)),m(),u("ngModel",t.form.Contact.City),d("items",t.options.Cities)("clearable",t.checkedIsNotEmpty(t.form.Contact.City)),m(),M(t.form.Contact.City?12:-1),m(4),d("ngClass",h(34,ie,t.isNotEmpty(t.form.Contact.NationalityID))),m(),u("ngModel",t.form.Contact.NationalityID),d("items",t.options.Nationalities)("clearable",!0),m(4),d("ngClass",h(36,ie,t.isNotEmpty(t.form.Contact.RaceID))),m(),u("ngModel",t.form.Contact.RaceID),d("items",t.options.Races)("clearable",!0),m(4),d("value",t.form.Contact.NationalIDNumber)("isMasked",t.maskingFields.NationalIDNumber&&!t.roleService.global.SensitiveField&&t.isStateEdit),m(),u("ngModel",t.form.Contact.NationalIDNumber),d("ngClass",h(38,Dt,i.invalid&&(i.dirty||i.touched))),m(2),M(i.invalid&&(i.dirty||i.touched)?29:-1),m(4),M(t.maskingFields.Birthdate&&!t.roleService.global.SensitiveField&&t.isStateEdit?33:34),m(3),d("ngClass",h(40,ie,t.checkedIsNotEmpty(t.form.Groups))),m(),u("ngModel",t.form.Groups),d("items",t.options.Groups)("multiple",!0)("clearable",!1),m(7),u("ngModel",t.form.Contact.Fax),m(5),u("ngModel",t.form.Contact.ResourceUrl)}},dependencies:[N,F,V,E,Y,I,W,Ct,bt,ye,ge,lt],encapsulation:2,changeDetection:0})};var we=class r{form={};editorApiKey="zc58cdrrftek5r5igtmjiar7ed4n3wr00hzd4w4mvtx8mpxa";static \u0275fac=function(e){return new(e||r)};static \u0275cmp=T({type:r,selectors:[["POS-customer-description"]],inputs:{form:"form"},standalone:!1,decls:14,vars:2,consts:[[1,"row","g-4"],[1,"fw-normal","mb-5"],[1,"col-sm-12"],["matTooltipPosition","above","matTooltip","Input Description for the customer",2,"height","240px"],["height","220px",3,"ngModelChange","ngModel"],[1,"form-floating-outline"],["id","inputDescriptionExtra","placeholder","Description Extra","matTooltipPosition","above","matTooltip","Input extra description for the customer",1,"form-control",2,"height","100px",3,"ngModelChange","ngModel"],["for","inputDescriptionExtra"]],template:function(e,t){e&1&&(o(0,"div",0)(1,"h4",1),s(2,"Main Description"),n(),o(3,"div",2)(4,"div",3)(5,"POS-tinymce-editor",4),C("ngModelChange",function(a){return f(t.form.Contact.Description,a)||(t.form.Contact.Description=a),a}),n()()(),o(6,"h4",1),s(7,"Extra Description"),n(),o(8,"div",2)(9,"div",5)(10,"textarea",6),C("ngModelChange",function(a){return f(t.form.Contact.Description2,a)||(t.form.Contact.Description2=a),a}),s(11," "),n(),o(12,"label",7),s(13,"Description Extra"),n()()()()),e&2&&(m(5),u("ngModel",t.form.Contact.Description),m(5),u("ngModel",t.form.Contact.Description2))},dependencies:[N,V,E,I,yt],encapsulation:2,changeDetection:0})};var ei=r=>({selected:r}),De=class r{form={};options={};toastr=k(L);ac=k(st);isNotEmpty(l){return x.IsNotEmpty(l)}onAssignCustomer(l){l!=this.form.Contact.ID?this.form.Contact.ReferredBy=l:(this.toastr.warning("You cannot assign referred by field whose is the same as the referred customer",A.Warning),this.ac.form.setValue(""))}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=T({type:r,selectors:[["POS-customer-acquisition"]],inputs:{form:"form",options:"options"},standalone:!1,decls:9,vars:9,consts:[[1,"row","g-4"],[1,"col-sm-6"],[1,"form-floating-outline"],["customLabel","Referred By","name","Key","requestUrl","/API/AC/GetCustomerSuggestion",1,"w-100",3,"ngModelChange","customStyle","ngModel","inputTextValue"],[1,"form-floating-outline","flexRow",3,"ngClass"],["appendTo","body","id","media","bindLabel","Name","bindValue","ID","matTooltipPosition","above","matTooltip","Assign Acquisition Media for the Customer",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","media",1,"ng-select"]],template:function(e,t){e&1&&(o(0,"div",0)(1,"div",1)(2,"div",2)(3,"autocompleteV2",3),C("ngModelChange",function(a){return f(t.form.Contact.ReferredBy,a)||(t.form.Contact.ReferredBy=a),a}),b("ngModelChange",function(a){return t.onAssignCustomer(a)}),n()()(),o(4,"div",1)(5,"div",4)(6,"ng-select",5),C("ngModelChange",function(a){return f(t.form.Contact.AcquisitionMediaID,a)||(t.form.Contact.AcquisitionMediaID=a),a}),n(),o(7,"label",6),s(8,"Acquisition Media"),n()()()()),e&2&&(m(3),d("customStyle",!0),u("ngModel",t.form.Contact.ReferredBy),d("inputTextValue",t.form.Contact.ReferredByName),m(2),d("ngClass",h(7,ei,t.isNotEmpty(t.form.Contact.AcquisitionMediaID))),m(),u("ngModel",t.form.Contact.AcquisitionMediaID),d("items",t.options.MediaList)("clearable",!1))},dependencies:[N,F,E,I,W,dt],encapsulation:2})};var ii=["mySelect"],oi=r=>[r],ni=r=>({ID:r}),X=r=>({"is-invalid":r}),Tt=r=>({"me-3":r}),ai=r=>({selected:r});function ri(r,l){r&1&&(o(0,"div",27),s(1," Display Name is mandatory "),n())}function li(r,l){r&1&&(o(0,"div",27),s(1," First name is mandatory "),n())}function mi(r,l){if(r&1&&(o(0,"div",27),s(1),n()),r&2){p(2);let e=P(53);m(),ee(" ",e==null||e.errors==null||e.errors.minLength==null?null:e.errors.minLength.message," ")}}function si(r,l){r&1&&(o(0,"div",27),s(1," Mobile Phone is mandatory. "),n())}function di(r,l){if(r&1&&v(0,mi,2,1,"div",27)(1,si,2,0,"div",27),r&2){p();let e=P(53);M(e.getError("minLength")?0:e.getError("required")?1:-1)}}function ci(r,l){if(r&1){let e=D();o(0,"i",64),b("click",function(){_(e);let i=p(3);return y(i.mobileVerified=!i.mobileVerified)}),n()}}function pi(r,l){if(r&1){let e=D();o(0,"i",65),b("click",function(){_(e);let i=p(3);return y(i.mobileVerified=!i.mobileVerified)}),n()}}function ui(r,l){if(r&1&&(o(0,"span",42),v(1,ci,1,0,"i",62)(2,pi,1,0,"i",63),n()),r&2){let e=p(2);m(),M(e.mobileVerified?2:1)}}function fi(r,l){if(r&1&&(o(0,"div",27),s(1),n()),r&2){p();let e=P(61);m(),ee(" ",e==null||e.errors==null||e.errors.minLength==null?null:e.errors.minLength.message," ")}}function Ci(r,l){r&1&&(o(0,"div",27),s(1," Email is mandatory. "),n())}function gi(r,l){if(r&1){let e=D();o(0,"i",64),b("click",function(){_(e);let i=p(3);return y(i.emailVerified=!i.emailVerified)}),n()}}function _i(r,l){if(r&1){let e=D();o(0,"i",67),b("click",function(){_(e);let i=p(3);return y(i.emailVerified=!i.emailVerified)}),n()}}function yi(r,l){if(r&1&&(o(0,"span",42),v(1,gi,1,0,"i",62)(2,_i,1,0,"i",66),n()),r&2){let e=p(2);m(),M(e.emailVerified?2:1)}}function hi(r,l){r&1&&(o(0,"div",27),s(1," Code is mandatory. "),n())}function bi(r,l){r&1&&(o(0,"div",68),S(1,"i",69),o(2,"span"),s(3,"Personal"),n()())}function vi(r,l){if(r&1){let e=D();o(0,"div",70),S(1,"div",71),o(2,"div",71),S(3,"div",72),n()(),o(4,"POS-customer-information",73),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()}if(r&2){let e=p(2);m(4),u("form",e.data.Form),d("options",e.data.Options)("maskingFields",e.maskingFields)("isStateEdit",e.isStateEdit)("maskingFieldMsg",e.maskingFieldMsg)("config",e.data.Config)}}function Mi(r,l){r&1&&(o(0,"div",68),S(1,"i",74),o(2,"span"),s(3,"Sales & Pricing"),n()())}function Si(r,l){if(r&1){let e=D();o(0,"div",75)(1,"POS-customer-sales-price",76),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()()}if(r&2){let e=p(2);m(),d("maskingFields",e.maskingFields)("options",e.data.Options),u("form",e.data.Form),d("isStateEdit",e.isStateEdit)}}function xi(r,l){r&1&&(o(0,"div",68),S(1,"i",77),o(2,"span"),s(3,"Address"),n()())}function wi(r,l){if(r&1){let e=D();o(0,"div",75)(1,"POS-customer-address",78),b("newAddressEvent",function(i){_(e);let a=p(2);return y(a.onNewAddress(i))}),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()()}if(r&2){let e=p(2);m(),u("form",e.data.Form),d("options",e.data.Options)("config",e.data.Config)}}function Di(r,l){r&1&&(o(0,"div",68),S(1,"i",79),o(2,"span"),s(3,"Membership"),n()())}function Ti(r,l){if(r&1){let e=D();o(0,"div",75)(1,"POS-customer-membersip",80),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()()}if(r&2){let e=p(2);m(),d("maskingFields",e.maskingFields),u("form",e.data.Form),d("options",e.data.Options)("data",e.data)("isStateEdit",e.isStateEdit)("onSubmitted",e.isSubmitted())("requiredFields",e.data.Config)}}function Pi(r,l){r&1&&(o(0,"div",68),S(1,"i",81),o(2,"span"),s(3,"Description"),n()())}function Ei(r,l){if(r&1){let e=D();o(0,"div",75)(1,"POS-customer-description",82),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()()}if(r&2){let e=p(2);m(),u("form",e.data.Form)}}function Ii(r,l){r&1&&(o(0,"div",68),S(1,"i",83),o(2,"span"),s(3,"Acquisition"),n()())}function Fi(r,l){if(r&1){let e=D();o(0,"div",75)(1,"POS-customer-acquisition",84),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()()}if(r&2){let e=p(2);m(),u("form",e.data.Form),d("options",e.data.Options)}}function Vi(r,l){if(r&1){let e=D();o(0,"mainpanel-cmp",7),Ee(1,8),o(2,"a",9),s(3,"Cancel"),n(),o(4,"button",10),b("click",function(){_(e);let i=P(9),a=p();return y(a.onValidateForm(i))}),s(5," Save "),n(),Ie(),Ee(6,11),o(7,"div",12)(8,"form",13,0)(10,"div",14)(11,"div",15)(12,"div",16)(13,"div",17)(14,"div",18)(15,"div",19)(16,"POS-avatar-image-uploader",20),b("fileSelected",function(i){_(e);let a=p();return y(a.onUploadFile(i))})("imageRemoved",function(){_(e);let i=p();return y(i.removeImage())}),n()(),o(17,"div",21)(18,"div",22)(19,"div",23)(20,"h4",24),s(21,"General"),n(),o(22,"div")(23,"label",25),s(24," Display Name "),n(),o(25,"input",26,1),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Name,i)||(a.formData.Contact.Name=i),y(i)}),n(),v(27,ri,2,0,"div",27),n()()()()(),o(28,"div",28)(29,"div",29)(30,"div")(31,"label",30),s(32,"Title"),n(),o(33,"input",31),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Title,i)||(a.formData.Contact.Title=i),y(i)}),n()()(),o(34,"div",32)(35,"div")(36,"label",33),s(37," First Name "),n(),o(38,"input",34,2),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.FirstName,i)||(a.formData.Contact.FirstName=i),y(i)}),b("ngModelChange",function(){_(e);let i=p();return y(i.UpdateName())}),n(),v(40,li,2,0,"div",27),n()(),o(41,"div",32)(42,"div")(43,"label",35),s(44," Last Name "),n(),o(45,"input",36),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.LastName,i)||(a.formData.Contact.LastName=i),y(i)}),b("ngModelChange",function(){_(e);let i=p();return y(i.UpdateName())}),n()()()(),o(46,"div",28)(47,"div",37)(48,"label",38),s(49," Mobile Phone "),n(),o(50,"div",39)(51,"div",40)(52,"input",41,3),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Mobile,i)||(a.formData.Contact.Mobile=i),y(i)}),n(),v(54,di,2,1),v(55,ui,3,1,"span",42),n()()(),o(56,"div",37)(57,"label",43),s(58,"Work Phone"),n(),o(59,"div",44)(60,"input",45,4),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Phone,i)||(a.formData.Contact.Phone=i),y(i)}),n(),v(62,fi,2,1,"div",27),n()()()()()(),o(63,"div",46)(64,"div",16)(65,"div",17)(66,"h4",24),s(67,"Additional"),n(),o(68,"div",47)(69,"div",48)(70,"div",49)(71,"label",50),s(72," Status "),n(),o(73,"p-select",51),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.StateID,i)||(a.formData.Contact.StateID=i),y(i)}),n()()(),o(74,"div",48)(75,"label",52),s(76,"Email"),n(),o(77,"div",53)(78,"div",54)(79,"input",55,5),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Email,i)||(a.formData.Contact.Email=i),y(i)}),n(),v(81,Ci,2,0,"div",27),v(82,yi,3,1,"span",42),n()()(),o(83,"div",48)(84,"label",56),s(85,"Customer Code"),n(),o(86,"div",57)(87,"input",58,6),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Code,i)||(a.formData.Contact.Code=i),y(i)}),n(),v(89,hi,2,0,"div",27),n()()()()()(),o(90,"div",48)(91,"div",16)(92,"div",17)(93,"mat-tab-group",59)(94,"mat-tab"),U(95,bi,4,0,"ng-template",60)(96,vi,5,6,"ng-template",61),n(),o(97,"mat-tab"),U(98,Mi,4,0,"ng-template",60)(99,Si,2,4,"ng-template",61),n(),o(100,"mat-tab"),U(101,xi,4,0,"ng-template",60)(102,wi,2,3,"ng-template",61),n(),o(103,"mat-tab"),U(104,Di,4,0,"ng-template",60)(105,Ti,2,7,"ng-template",61),n(),o(106,"mat-tab"),U(107,Pi,4,0,"ng-template",60)(108,Ei,2,1,"ng-template",61),n(),o(109,"mat-tab"),U(110,Ii,4,0,"ng-template",60)(111,Fi,2,2,"ng-template",61),n()()()()()()()(),Ie(),n()}if(r&2){let e=P(26),t=P(39),i=P(53),a=P(61),g=P(80),O=P(88),c=p();d("pageData",c.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),m(2),d("routerLink",h(50,oi,c.formData.Contact.ID==c.emptyGuid?"/menu/Contacts/Contact/Customers":"/menu/Contacts/Contact/Customers/Info"))("queryParams",h(52,ni,c.formData.Contact.ID==c.emptyGuid?null:c.formData.Contact.ID)),m(14),d("currentImage",(c.formData==null||c.formData.Contact==null?null:c.formData.Contact.Thumbnail)||(c.formData==null||c.formData.Contact==null?null:c.formData.Contact.ImageURLClient))("customSize","88px"),m(9),d("ngClass",h(54,X,e.touched&&e.invalid)),u("ngModel",c.formData.Contact.Name),m(2),M(e.invalid&&(e.dirty||e.touched)?27:-1),m(6),u("ngModel",c.formData.Contact.Title),m(5),u("ngModel",c.formData.Contact.FirstName),d("required",!0)("ngClass",h(56,X,t.invalid&&(t.dirty||t.touched))),m(2),M(t.invalid&&(t.dirty||t.touched)?40:-1),m(5),u("ngModel",c.formData.Contact.LastName),m(6),d("ngClass",h(58,Tt,c.formData.Contact.Mobile))("value",c.formData.Contact.Mobile)("isMasked",c.maskingFields.Mobile&&!c.roleService.global.SensitiveField&&c.isStateEdit),m(),u("ngModel",c.formData.Contact.Mobile),d("required",c.data.Config.RequireContactMobile)("ngClass",h(60,X,i.invalid&&(i.dirty||i.touched))),m(2),M(i.invalid&&(i.dirty||i.touched)?54:-1),m(),M(c.formData.Contact.Mobile&&(!c.maskingFields.Mobile&&c.roleService.global.SensitiveField||!c.isStateEdit)&&!i.invalid?55:-1),m(4),d("value",c.formData.Contact.Phone)("isMasked",c.maskingFields.Phone&&!c.roleService.global.SensitiveField&&c.isStateEdit),m(),u("ngModel",c.formData.Contact.Phone),d("ngClass",h(62,X,a.invalid&&(a.dirty||a.touched))),m(2),M(a.invalid&&(a.dirty||a.touched)?62:-1),m(8),d("ngClass",h(64,ai,c.checkedIsNotEmpty(c.formData.Contact.StateID))),m(3),d("options",c.options.States),u("ngModel",c.formData.Contact.StateID),d("disabled",c.data.Config.RequireEmailActivation),m(5),d("ngClass",h(66,Tt,c.formData.Contact.Email))("value",c.formData.Contact.Email)("isMasked",c.maskingFields.Email&&!c.roleService.global.SensitiveField&&c.isStateEdit),m(),Be("has-suffix",c.formData.Contact.Email&&(!c.maskingFields.Email&&!!c.roleService.global.SensitiveField||!c.isStateEdit)&&!g.invalid),u("ngModel",c.formData.Contact.Email),d("required",c.data.Config.RequireContactEmail)("ngClass",h(68,X,g.invalid&&(g.dirty||g.touched))),m(2),M(g.invalid&&(g.dirty||g.touched)?81:-1),m(),M(c.formData.Contact.Email&&(!c.maskingFields.Email&&c.roleService.global.SensitiveField||!c.isStateEdit)&&!g.invalid?82:-1),m(4),d("value",c.formData.Contact.Code)("isMasked",c.maskingFields.Code&&!c.roleService.global.SensitiveField&&c.isStateEdit),m(),u("ngModel",c.formData.Contact.Code),d("required",c.data.Config.RequireContactCode)("ngClass",h(70,X,O.invalid&&(O.dirty||O.touched))),m(2),M(O.invalid&&(O.dirty||O.touched)?89:-1),m(4),d("dynamicHeight",!0)}}var Pt=class r extends ht{constructor(e,t,i,a,g,O,c,Ni,ki){super(e,t,"ContactLoader/ContactForm",i);this.httpService=t;this.activatedRoute=i;this.router=a;this.toaster=g;this.datePipe=O;this.roleService=c;this.matDialog=Ni;this.customerService=ki;this.destroy$=new ke,this.httpService.post("/api/ContactSetup/Country").pipe(G(Te=>Te.List)).subscribe(Te=>this.countries=Te)}emptyGuid=x.GuidEmpty;bigPicture=k(_t);removeImg=!1;countries;emailVerified;mobileVerified;maskingFields;isStateEdit=!1;maskingFieldMsg=Ce.maskingField;isSubmitted=Z(!1);uppyCoreConfiguration={restrictions:{allowedFileTypes:["image/*",".jpg",".jpeg",".png"]}};dashboardPropsConfiguration={height:80};destroy$;processUppy=k(_e);uploadThumbnail=Z(null);uploadImageUrlClient=Z(null);selectComponent;onOpen(){setTimeout(()=>{let e=document.querySelector(".ng-dropdown-panel");if(e){let t=e.clientHeight;console.log("Panel Height:",t,"px")}},0)}postBindForm(e){this.menuData.H=e.PageTitle,this.maskingFields=x.generateMaskingField(this.data?.Options?.MaskFields),this.checkIsStateEdit(),e.Form.DefaultDue||(e.Form.DefaultDue.Days=0),e.Form.DefaultDue||(e.Form.DefaultDue.Months=0),e.Form.LoyaltyPoint.Point||(e.Form.LoyaltyPoint.Point=0);let t=e.Form.Contact.CreatorEntityID;x.IsEmpty(t)&&(e.Form.Contact.CreatorEntityID=null),this.initVerifiedContact(),x.IsEmpty(e.Form.Contact.Birthdate)&&(e.Form.Contact.Birthday=null),e.Config.RequireEmailActivation&&(e.Form.Contact.StateID=2)}checkedIsNotEmpty(e){return x.IsNotEmpty(e)}dateChange(e){this.formData.Contact.Birthdate=this.datePipe.transform(e,"dd MMM YYYY")}UpdateName(){this.formData.Contact.Name=(this.formData.Contact.FirstName==null?"":this.formData.Contact.FirstName)+(this.formData.Contact.LastName==null?"":" "+this.formData.Contact.LastName)}preSubmitForm(){this.data.Form={CloudinaryID:this.data.CloudinaryID,Form:this.formData,RemoveImage:this.removeImg}}onSubmitSuccess(){this.toaster.success("Contact successfully updated",A.Success),this.router.navigate(["/menu/Contacts/Contact/Customers"])}onSubmitError(){this.data.Form=this.formData.Form}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}onValidateForm(e){if(this.assignVerifiedContact(),e.control.markAllAsTouched(),this.isSubmitted.set(!0),e.control.invalid){this.toaster.warning("Please fill in all required fields before creating the customer data","Incomplete Information");return}let t=this.data.Form.Contact.Description;if(t&&t.length>500){this.toaster.warning("The description cannot exceed 500 characters. Please shorten your input","Character Limit Exceeded");return}this.onSubmit("Contact/ContactForm")}onNewAddress(e){e.index==null?this.formData.Addresses.push(e.address):this.formData.Addresses[e.index]=e.address}openAddCityDialog(){this.matDialog.open(J,{data:{countries:this.countries}}).afterClosed().pipe(H(e=>e.CountryID&&e.Name),ae(e=>this.httpService.post("/api/ContactSetup/SubmitCity",e).pipe(G(t=>ne(oe({},e),{ID:t.ID}))))).subscribe(e=>{this.options.Cities=[...this.options.Cities,e],this.formData.Contact.City=e.ID})}onUploadFile(e){e instanceof File&&this.processUppy.uploadFileThroughPreSignedUrl(e,this.data.CloudinaryFolder,"medium").subscribe(t=>{this.formData.Contact.ImageURLClient=t.url,this.formData.Contact.Thumbnail=t.thumbnail,this.formData.Contact.ImageURL=e.name})}removeImage(){this.formData.Contact.ImageURLClient=null,this.formData.Contact.ImageURL=null,this.formData.Contact.Thumbnail=null,this.removeImg=!0}openBigPicture(e,t){this.bigPicture.openBiggerPicture(t,e)}checkIsStateEdit(){let e=this.activatedRoute.snapshot.queryParams;this.isStateEdit=Object.values(e).length>0}initVerifiedContact(){this.emailVerified=this.formData.Contact.EmailVerified,this.mobileVerified=this.formData.Contact.MobileVerified}assignVerifiedContact(){this.formData.Contact.EmailVerified=this.emailVerified,this.formData.Contact.MobileVerified=this.mobileVerified}static \u0275fac=function(t){return new(t||r)(w(rt),w(de),w(He),w(Ze),w(L),w(je),w(R),w(K),w(vt))};static \u0275cmp=T({type:r,selectors:[["POS-customer-form-v2"]],viewQuery:function(t,i){if(t&1&&re(ii,5),t&2){let a;le(a=me())&&(i.selectComponent=a.first)}},features:[We],decls:1,vars:1,consts:[["customerForm","ngForm"],["displayName","ngModel"],["firstName","ngModel"],["mobilePhone","ngModel"],["phoneNumber","ngModel"],["emailCtrl","ngModel"],["code","ngModel"],[3,"pageData","hideSearchBox","hideSearchDropdown"],["ngProjectAs","actions",5,["actions"]],["role","button","matTooltipPosition","above","matTooltip","Cancel",1,"btn","btn-outline-secondary","me-4",3,"routerLink","queryParams"],["type","button","role","button",1,"btn","btn-success",3,"click"],["ngProjectAs","content",5,["content"]],[1,"container-fluid","py-6"],["name","form"],[1,"row"],[1,"col-12","col-lg-8"],[1,"card"],[1,"card-body"],[1,"row","border-bottom","pb-6"],[1,"col-12","col-md-4","col-lg-2","d-flex","align-items-center","justify-content-center","p-2"],[3,"fileSelected","imageRemoved","currentImage","customSize"],[1,"col","d-flex","align-items-center"],[1,"row","row-gap-4","flex-grow-1"],[1,"col-12","col-md-6","col-lg-12"],[1,"fw-normal","mb-4"],["for","inputDisplayName",1,"text-muted","required"],["type","text","id","inputDisplayName","name","displayName","placeholder","First Name + Last Name","required","","matTooltipPosition","above","matTooltip","Customer Displayed Name",1,"form-control","custom",3,"ngModelChange","ngClass","ngModel"],[1,"invalid-feedback","fst-italic"],[1,"row","mt-4"],[1,"col-12","col-md-6","col-lg-3","col-xl-2"],["for","inputTitle"],["type","text","id","inputTitle","name","title","placeholder","Title",1,"form-control","custom",3,"ngModelChange","ngModel"],[1,"col-12","col-md-6","col-lg-5"],["for","inputFirstName",1,"text-muted","required"],["type","text","matTooltipPosition","above","matTooltip","Input Customer First Name","id","inputFirstName","name","firstName","autofocus","","placeholder","First Name",1,"form-control","custom",3,"ngModelChange","ngModel","required","ngClass"],["for","inputLastName",1,"text-muted"],["type","text","matTooltipPosition","above","matTooltip","Input Customer Last Name","id","inputLastName","name","lastName","placeholder","Last Name",1,"form-control","custom",3,"ngModelChange","ngModel"],[1,"col-12","col-md-6","col-lg-6"],["for","inputMobilePhone",1,"text-muted","required"],[1,"d-flex","align-items-center"],["pOSFormOrFloatingOnMasked","","label","Mobile Phone",1,"position-relative","w-100",3,"ngClass","value","isMasked"],["type","text","id","inputMobilePhone","placeholder","Mobile Phone","numericInputOnly","phone","matTooltipPosition","above","matTooltip","Input Mobile Phone Number","name","mobilePhone",1,"form-control","custom",3,"ngModelChange","ngModel","required","ngClass"],[1,"fs-2","input-suffix",2,"position","absolute","right","10px","top","55%","transform","translateY(-50%)","z-index","2"],["for","inputPhone",1,"text-muted"],["pOSFormOrFloatingOnMasked","","label","Work Phone",3,"value","isMasked"],["type","text","id","inputPhone","name","phoneNumber","matTooltipPosition","above","matTooltip","Input Customer Phone Number","placeholder","Phone","numericInputOnly","phone",1,"form-control","custom",3,"ngModelChange","ngModel","ngClass"],[1,"col"],[1,"row","row-gap-9"],[1,"col-12"],[1,"flexRow",3,"ngClass"],["for","inputSelectCity",1,"ng-select","text-muted"],["placeholder","Select a City","optionLabel","Value","optionValue","Key","placeholder","Choose an Options","matTooltipPosition","above","matTooltip","Select Customer Status","id","inputSelectCity","name","customerStatus",1,"w-full","md:w-56","mt-4",3,"ngModelChange","options","ngModel","disabled"],["for","inputEmail",1,"text-muted"],[1,"d-flex","align-items-center","flex-grow-1"],["pOSFormOrFloatingOnMasked","","label","Email",1,"position-relative","w-100",3,"ngClass","value","isMasked"],["type","text","id","inputEmail","name","email","placeholder","Email","matTooltipPosition","above","matTooltip","Input Customer Email",1,"form-control","custom",3,"ngModelChange","ngModel","required","ngClass"],["for","inputCode",1,"text-muted"],["id","inputCode","pOSFormOrFloatingOnMasked","","label","Customer Code",3,"value","isMasked"],["type","text","matTooltipPosition","above","matTooltip","Input Customer Code","name","code","placeholder","Customer Code",1,"form-control","custom",3,"ngModelChange","ngModel","required","ngClass"],[3,"dynamicHeight"],["mat-tab-label",""],["matTabContent",""],["matTooltip","Click to Verified",1,"cursor-pointer","fa-solid","fa-badge"],["matTooltipPosition","above","matTooltip","Mobile Phone is Verified",1,"fa-solid","fa-badge-check","text-primary","cursor-pointer"],["matTooltip","Click to Verified",1,"cursor-pointer","fa-solid","fa-badge",3,"click"],["matTooltipPosition","above","matTooltip","Mobile Phone is Verified",1,"fa-solid","fa-badge-check","text-primary","cursor-pointer",3,"click"],["matTooltipPosition","above","matTooltip","Email is Verified",1,"fa-solid","fa-badge-check","text-primary","cursor-pointer"],["matTooltipPosition","above","matTooltip","Email is Verified",1,"fa-solid","fa-badge-check","text-primary","cursor-pointer",3,"click"],[1,"d-flex","align-items-center","gap-3"],[1,"fa-regular","fa-user"],[1,"row","py-8"],[1,"col-3"],[1,"d-flex"],[3,"formChange","form","options","maskingFields","isStateEdit","maskingFieldMsg","config"],[1,"fa-regular","fa-tag"],[1,"py-8"],[3,"formChange","maskingFields","options","form","isStateEdit"],[1,"fa-regular","fa-address-book"],[3,"newAddressEvent","formChange","form","options","config"],[1,"fa-address-book","fas"],[3,"formChange","maskingFields","form","options","data","isStateEdit","onSubmitted","requiredFields"],[1,"fa-regular","fa-file-lines"],[3,"formChange","form"],[1,"fa-regular","fa-building"],[3,"formChange","form","options"]],template:function(t,i){t&1&&v(0,Vi,112,72,"mainpanel-cmp",7),t&2&&M(i.formData!=null&&i.formData.Contact&&i.data?0:-1)},dependencies:[Xe,Je,V,E,Ye,Y,I,Ke,pt,ct,N,mt,$e,Qe,F,ye,ge,nt,ot,tt,it,St,ve,Se,xe,we,De,Mt,et,ft,ut,be],styles:['.container-fluid[_ngcontent-%COMP%]{background:#f7f7f8} .mat-mdc-tab-body-content{overflow:visible!important} .mat-mdc-tab-body-wrapper{overflow:visible!important}.ng-dropdown-panel[_ngcontent-%COMP%]{z-index:1100!important}[_nghost-%COMP%] .uppy-Dashboard-inner{width:100%!important;min-height:100px} mat-tab-group mat-tab-header{border-bottom:1px solid #e0e0e0}.form-control.custom[_ngcontent-%COMP%]{border-radius:10px;padding:10px 12px;margin-top:6px}.form-control.custom.has-suffix[_ngcontent-%COMP%]{padding-right:44px}.position-relative[_ngcontent-%COMP%] .invalid-feedback[_ngcontent-%COMP%]{margin-top:6px;position:relative;z-index:0}.required[_ngcontent-%COMP%]:after{content:"*";color:red}']})};export{Pt as CustomerFormV2Component};
|
|
1
|
+
import{a as Mt,b as St}from"./chunk-DJKZYIGW.js";import{a as vt}from"./chunk-CV4M5DGN.js";import"./chunk-2FMKNQBQ.js";import"./chunk-MNYQ3BPZ.js";import"./chunk-L5SMMPRJ.js";import"./chunk-RKSBQOKT.js";import"./chunk-UYYEFUGW.js";import"./chunk-VRMQNPJV.js";import{a as ye}from"./chunk-RMFFHQFW.js";import"./chunk-DSZ3NHAG.js";import"./chunk-KEP2ZHHL.js";import{a as _e}from"./chunk-4O2LGQII.js";import{a as ht}from"./chunk-RRNDKXH4.js";import{a as bt}from"./chunk-OM5ISZ62.js";import"./chunk-RM6PV7SW.js";import{a as gt}from"./chunk-NRCV4GQO.js";import{a as _t}from"./chunk-LHAFSZF7.js";import"./chunk-3NFVXRWB.js";import"./chunk-37PZPWZY.js";import"./chunk-TTZUIFLN.js";import"./chunk-4GR4KXCR.js";import{a as ge}from"./chunk-ANBDI5MB.js";import"./chunk-O3Z4ONTM.js";import"./chunk-P3KIIKY4.js";import"./chunk-O55DD6CT.js";import"./chunk-JCFGTTRU.js";import{a as yt}from"./chunk-WKRSM6FL.js";import"./chunk-VLSANGOZ.js";import"./chunk-BYXBJQAS.js";import"./chunk-7GRHNPNY.js";import"./chunk-UOCGL3EW.js";import"./chunk-DIAV4K3S.js";import"./chunk-2JPZMGCJ.js";import"./chunk-5GHN24QS.js";import{a as tt,b as it,c as ot,d as nt}from"./chunk-EMLV5DDD.js";import"./chunk-JEJGTRFJ.js";import{d as Ct}from"./chunk-6C7NKVRP.js";import"./chunk-6TWTQLKB.js";import"./chunk-SASYAFMF.js";import"./chunk-QP7B4347.js";import"./chunk-STYLBZL4.js";import"./chunk-XLS7AM5H.js";import"./chunk-U7XVI26F.js";import"./chunk-ALUJK3AI.js";import"./chunk-B3U3BHLU.js";import"./chunk-C5SH4ACM.js";import"./chunk-ZIWP67C5.js";import"./chunk-JX7TU3SH.js";import"./chunk-JDZPL3KU.js";import"./chunk-FZGFUOJQ.js";import"./chunk-UJPQDPFC.js";import"./chunk-LSISPT3Y.js";import"./chunk-ZOYBEI6Y.js";import"./chunk-RHZ4SE3E.js";import"./chunk-E6MKUJD5.js";import{f as ct,g as pt}from"./chunk-WW32TK7S.js";import"./chunk-Z3I6U6KT.js";import{b as ut,c as ft}from"./chunk-6R334P6I.js";import"./chunk-LSV7QXYU.js";import"./chunk-HB5JT7XV.js";import"./chunk-35ECO23I.js";import"./chunk-G2UNSH3R.js";import"./chunk-3GIDLGOV.js";import"./chunk-JJFV542H.js";import"./chunk-QGI3QC76.js";import"./chunk-JBO3R4W5.js";import{a as at}from"./chunk-VIKIXIX5.js";import"./chunk-SFKCZ7DL.js";import"./chunk-PPNXP25T.js";import"./chunk-MHPH7T32.js";import"./chunk-UNAPWUZC.js";import"./chunk-IFLLAVLK.js";import"./chunk-OWF2FM5D.js";import"./chunk-A3HVDWQA.js";import{a as rt}from"./chunk-6TW4HZT2.js";import"./chunk-3GZUX2TV.js";import"./chunk-LWCDPG6P.js";import"./chunk-ANISRDEI.js";import{b as Ce,d as st,e as dt}from"./chunk-4TOQ7EGN.js";import"./chunk-3TFWTYY2.js";import"./chunk-52KMSRYQ.js";import"./chunk-STIMAG44.js";import"./chunk-EKGQU5OA.js";import"./chunk-IOBYB6AV.js";import{a as N}from"./chunk-JFS6EFNT.js";import"./chunk-YNQPX5G6.js";import{G as lt,O as mt}from"./chunk-FAZ7G5H6.js";import"./chunk-QU45SEX2.js";import"./chunk-QYSFCWV7.js";import{d as W}from"./chunk-ZRBKLF75.js";import"./chunk-VBXYBASD.js";import{a as ue,b as fe,c as K}from"./chunk-CPHICIOL.js";import"./chunk-GCPQTFRO.js";import"./chunk-NFVNHSX5.js";import{b as et}from"./chunk-Z6KYVNJQ.js";import"./chunk-4NWLXS6M.js";import"./chunk-OEFF3O4P.js";import{a as A,b as ce,c as pe}from"./chunk-N4STXFCX.js";import"./chunk-ZLJTB3SO.js";import"./chunk-OG6UIE5Q.js";import"./chunk-LYYPWLC4.js";import"./chunk-4CLMG36L.js";import{E as Xe,F as $e,c as V,h as E,i as Ye,k as Ke,o as I,p as Je,z as Y}from"./chunk-DHBFOXIN.js";import"./chunk-ZRALF4GH.js";import"./chunk-LVP6JNUV.js";import"./chunk-VFWU5XQ6.js";import{b as R}from"./chunk-HQQZZQUW.js";import{a as x}from"./chunk-3DEA4WWC.js";import"./chunk-VX3Y6JNK.js";import{n as L,q as de}from"./chunk-2WBWJI4D.js";import{Bb as v,Ca as Ae,Db as M,Dc as h,Ec as Fe,F as H,Fa as Z,Fb as Oe,Gb as Le,Hb as Re,Ib as d,Jb as o,Kb as n,Kc as qe,Lb as S,Mc as Ue,Pb as Ee,Qb as Ie,Rd as He,Td as Ze,Ua as Pe,Ub as D,Ud as Qe,Xb as b,Xc as se,Yc as Q,Za as m,Zb as p,ba as ae,bc as re,cc as le,d as ke,dc as me,eb as w,hc as P,ib as T,jc as Be,mc as s,md as F,nb as We,nc as $,ob as U,oc as ee,qd as ze,ra as k,rc as u,sc as f,tc as C,u as G,ud as je,va as _,wa as y,zd as Ge}from"./chunk-2ERDZXCS.js";import"./chunk-WFMAM73Y.js";import{a as oe,b as ne}from"./chunk-SNAKHGZS.js";var It=r=>({selected:r}),J=class r{constructor(l,e,t){this.dialogRef=l;this.data=e;this.toastr=t;this.configModal=new ce,this.configModal.title="Add New City",this.countries=e.countries}city="";configModal;countryID=null;countries;isNotEmpty(l){return x.IsNotEmpty(l)}onOk(){if(x.IsEmpty(this.city)){this.toastr.info("City is required",A.Info);return}if(x.IsEmpty(this.countryID)){this.toastr.info("Country is required",A.Info);return}else this.dialogRef.close({Name:this.city,CountryID:this.countryID})}static \u0275fac=function(e){return new(e||r)(w(ue),w(fe),w(L))};static \u0275cmp=T({type:r,selectors:[["POS-modal-add-city"]],standalone:!1,decls:14,vars:8,consts:[[3,"onOk","onCancel","onClose","config"],[1,"container-fluid"],[1,"row",2,"width","500px"],[1,"col-sm-12"],[1,"form-floating-outline"],["type","text","id","labelName","placeholder","City name",1,"form-control",3,"ngModelChange","ngModel"],["for","labelName"],[1,"form-floating-outline","flexRow",3,"ngClass"],["id","labelCity","bindLabel","Name","bindValue","ID","appendTo","body",1,"currency-select",3,"ngModelChange","ngModel","items","clearable"],["for","labelCity",1,"ng-select"]],template:function(e,t){e&1&&(o(0,"modal-material",0),b("onOk",function(){return t.onOk()})("onCancel",function(){return t.dialogRef.close()})("onClose",function(){return t.dialogRef.close()}),o(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"input",5),C("ngModelChange",function(a){return f(t.city,a)||(t.city=a),a}),n(),o(7,"label",6),s(8,"City"),n()()(),o(9,"div",3)(10,"div",7)(11,"ng-select",8),C("ngModelChange",function(a){return f(t.countryID,a)||(t.countryID=a),a}),n(),o(12,"label",9),s(13,"Country"),n()()()()()()()),e&2&&(d("config",t.configModal),m(6),u("ngModel",t.city),m(4),d("ngClass",h(6,It,t.isNotEmpty(t.countryID))),m(),u("ngModel",t.countryID),d("items",t.countries)("clearable",!1))},dependencies:[F,V,E,I,pe,W],encapsulation:2})};var Ft=["fileInput"],wt=(r,l)=>({width:r,height:l}),Vt=r=>({fontSize:r});function Nt(r,l){if(r&1&&S(0,"i",4),r&2){let e=p();d("ngStyle",h(1,Vt,e.customSize()))}}function kt(r,l){if(r&1){let e=D();S(0,"img",8),o(1,"div",9)(2,"div",10)(3,"button",11),b("click",function(i){_(e);let a=p();return y(a.onZoomImage(i))}),S(4,"i",12),n(),o(5,"button",13),b("click",function(i){_(e);let a=p();return y(a.onRemoveImage(i))}),S(6,"i",14),n()()()}if(r&2){let e=p();d("src",e.currentImage(),Pe)("ngStyle",Fe(2,wt,e.customSize(),e.customSize()))}}function At(r,l){if(r&1){let e=D();o(0,"div",15),b("click",function(){_(e);let i=p();return y(i.onUploadClick())}),S(1,"i",16),n()}}function Wt(r,l){if(r&1){let e=D();o(0,"div",17),b("click",function(){_(e);let i=p();return y(i.closeZoomModal())}),o(1,"div",18),b("click",function(i){return i.stopPropagation()}),o(2,"button",19),b("click",function(){_(e);let i=p();return y(i.closeZoomModal())}),S(3,"i",20),n(),S(4,"img",21),n()()}if(r&2){let e=p();m(4),d("src",e.currentImage(),Pe)}}var be=class r{fileInput;processUppy=k(_e);disabled=Q(!1);acceptedFileTypes=Q("image/*");maxFileSize=Q(5*1024*1024);currentImage=Q(null);customSize=Q("100px");fileSelected=se();onError=se();imageRemoved=se();showZoomModal=Z(!1);roleService=k(R);onUploadClick(){this.disabled()||this.fileInput.nativeElement.click()}onFileSelected(l){let e=l.target?.files?.[0];if(console.log("Selected file:",e),!!e){if(!e.type.startsWith("image/")){this.onError.emit("Please select a valid image file");return}if(e.size>this.maxFileSize()){let t=this.maxFileSize()/1048576;this.onError.emit(`File size must be less than ${t}MB`);return}this.fileSelected.emit(e),this.fileInput.nativeElement.value=""}}onZoomImage(l){l.preventDefault(),l.stopPropagation(),this.showZoomModal.set(!0)}onRemoveImage(l){l.preventDefault(),l.stopPropagation(),this.imageRemoved.emit()}closeZoomModal(){this.showZoomModal.set(!1)}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=T({type:r,selectors:[["POS-avatar-image-uploader"]],viewQuery:function(e,t){if(e&1&&re(Ft,5),e&2){let i;le(i=me())&&(t.fileInput=i.first)}},inputs:{disabled:[1,"disabled"],acceptedFileTypes:[1,"acceptedFileTypes"],maxFileSize:[1,"maxFileSize"],currentImage:[1,"currentImage"],customSize:[1,"customSize"]},outputs:{fileSelected:"fileSelected",onError:"onError",imageRemoved:"imageRemoved"},decls:9,vars:7,consts:[["fileInput",""],[1,"avatar-wrapper"],[1,"avatar-container","position-relative","d-inline-block",3,"ngStyle"],[1,"avatar-bg"],[1,"fa-solid","fa-circle-user","avatar-icon",3,"ngStyle"],[1,"upload-btn","position-absolute"],["type","file","accept","image/*",1,"d-none",3,"change"],[1,"zoom-modal-backdrop"],["alt","Avatar",1,"avatar-image",3,"src","ngStyle"],[1,"image-overlay"],[1,"overlay-actions"],["title","View Image",1,"action-btn","view-btn",3,"click"],[1,"fas","fa-eye"],["title","Remove Image",1,"action-btn","remove-btn",3,"click"],[1,"fas","fa-trash"],[1,"upload-btn","position-absolute",3,"click"],[1,"fas","fa-edit"],[1,"zoom-modal-backdrop",3,"click"],[1,"zoom-modal-content",3,"click"],[1,"close-btn",3,"click"],[1,"fas","fa-times"],["alt","Avatar Preview",1,"zoom-image",3,"src"]],template:function(e,t){e&1&&(o(0,"div",1)(1,"div",2)(2,"div",3),v(3,Nt,1,3,"i",4)(4,kt,7,5),n(),v(5,At,2,0,"div",5),o(6,"input",6,0),b("change",function(a){return t.onFileSelected(a)}),n()()(),v(8,Wt,5,1,"div",7)),e&2&&(m(),d("ngStyle",Fe(4,wt,t.customSize(),t.customSize())),m(2),M(t.currentImage()?4:3),m(2),M(!(t.roleService==null||t.roleService.contact==null)&&t.roleService.contact.ContactImageEditor?5:-1),m(3),M(t.showZoomModal()?8:-1))},dependencies:[Ge,ze],styles:[".avatar-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.avatar-container[_ngcontent-%COMP%]{cursor:pointer;transition:transform .2s ease}.avatar-container[_ngcontent-%COMP%]:hover{transform:scale(1.05)}.avatar-bg[_ngcontent-%COMP%]{border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative}.avatar-icon[_ngcontent-%COMP%]{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.upload-btn[_ngcontent-%COMP%]{bottom:0;right:0;width:24px;height:24px;background:#2196f3;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 8px #2196f366;transition:all .2s ease;border:1px solid white}.upload-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#fff;font-size:10px}.upload-btn[_ngcontent-%COMP%]:hover{background:#1976d2;transform:scale(1.1)}.upload-btn[_ngcontent-%COMP%]:active{transform:scale(.95)}@media(max-width:768px){.avatar-icon[_ngcontent-%COMP%]{font-size:65px}.upload-btn[_ngcontent-%COMP%]{width:30px;height:30px;border-width:2px}.upload-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:12px}.overlay-actions[_ngcontent-%COMP%]{gap:8px}.action-btn[_ngcontent-%COMP%]{width:28px;height:28px;font-size:12px}.zoom-modal-content[_ngcontent-%COMP%]{max-width:95vw;max-height:85vh}.close-btn[_ngcontent-%COMP%]{top:-35px;right:-5px;width:28px;height:28px}}.avatar-image[_ngcontent-%COMP%]{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center;box-shadow:0 2px 8px #00000026;transition:filter .3s ease}.image-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;border-radius:50%;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none}.avatar-bg[_ngcontent-%COMP%]:hover .image-overlay[_ngcontent-%COMP%]{opacity:1;pointer-events:all}.overlay-actions[_ngcontent-%COMP%]{display:flex;gap:12px}.action-btn[_ngcontent-%COMP%]{width:24px;height:24px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:14px}.action-btn[_ngcontent-%COMP%]:hover{transform:scale(1.1)}.action-btn[_ngcontent-%COMP%]:active{transform:scale(.95)}.view-btn[_ngcontent-%COMP%]{background:#646464;color:#fff}.view-btn[_ngcontent-%COMP%]:hover{background:#535353}.remove-btn[_ngcontent-%COMP%]{background:#646464;color:#fff}.remove-btn[_ngcontent-%COMP%]:hover{background:#535353}.zoom-modal-backdrop[_ngcontent-%COMP%]{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100000;cursor:pointer;animation:_ngcontent-%COMP%_fadeIn .3s ease}.zoom-modal-content[_ngcontent-%COMP%]{position:relative;max-width:90vw;max-height:90vh;cursor:default;animation:_ngcontent-%COMP%_zoomIn .3s ease;display:flex}.close-btn[_ngcontent-%COMP%]{position:absolute;top:-40px;right:-10px;width:32px;height:32px;border-radius:50%;background:#fff3;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.close-btn[_ngcontent-%COMP%]:hover{background:#ffffff4d}.zoom-image[_ngcontent-%COMP%]{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 4px 20px #0000004d}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _ngcontent-%COMP%_zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}"]})};var Ne=r=>({selected:r});function Lt(r,l){r&1&&(o(0,"label",13),s(1,"Sales"),n())}var ve=class r{constructor(l){this.role=l}form={};options={};maskingFields;isStateEdit;maskingFieldMsg=Ce.maskingField;isNotEmpty(l){return x.IsNotEmpty(l)}static \u0275fac=function(e){return new(e||r)(w(R))};static \u0275cmp=T({type:r,selectors:[["POS-customer-sales-price"]],inputs:{form:"form",options:"options",maskingFields:"maskingFields",isStateEdit:"isStateEdit"},standalone:!1,decls:60,vars:23,consts:[[1,"row","g-4"],[1,"col-sm-12"],[1,"fw-normal"],[1,"col-sm-6"],[1,"form-floating-outline","flexRow",3,"ngClass"],["appendTo","body","id","inputDefaultTax","bindLabel","Label","bindValue","ID","matTooltipPosition","above","matTooltip","Select Customer Default Tax",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputDefaultTax",1,"ng-select"],[1,"form-floating-outline"],["type","text","id","inputNPWP","placeholder","TaxID","matTooltipPosition","above","matTooltip","Input Tax ID/Number",1,"form-control",3,"ngModelChange","ngModel"],["for","inputNPWP"],["appendTo","body","id","inputPricebook","bindLabel","Value","bindValue","Key","matTooltipPosition","above","matTooltip","Assign Pricebook for the customer",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputPricebook",1,"ng-select"],["id","inputSales","matTooltipPosition","above","matTooltip","Assign Sales Person for the Customer",1,"productform",3,"ngModelChange","ngModel"],["for","inputSales",1,"ng-select"],["type","text","id","inputPersonInCharge","placeholder","Person in Charge","matTooltipPosition","above","matTooltip","Input Person in Charge for the Customer",1,"form-control",3,"ngModelChange","ngModel"],["for","inputPersonInCharge"],["type","text","id","inputDebtLimit","placeholder","Debt Limit","autoNum","","matTooltipPosition","above","matTooltip","Input Debt Limit for this Customer",1,"form-control",3,"ngModelChange","ngModel"],["for","inputDebtLimit"],[1,"form-floating-outline","d-flex","align-items-center"],["type","text","autoNum","","id","inputMaximumOverdue","placeholder","Maximum Overdue","matTooltipPosition","above","matTooltip","Input maximum overdue days for the customer",1,"form-control","me-2",3,"ngModelChange","ngModel"],[1,"text-nowrap"],["for","inputMaximumOverdue"],["type","text","autoNum","","matTooltipPosition","above","matTooltip","Input Credit Due Days for the Customer",1,"form-control","me-2",3,"ngModelChange","ngModel"],["type","text","autoNum","","matTooltipPosition","above","matTooltip","Input Credit Due Months for the Customer",1,"form-control","me-2",3,"ngModelChange","ngModel"]],template:function(e,t){e&1&&(o(0,"div",0)(1,"div",1)(2,"h4",2),s(3," Tax "),n()(),o(4,"div",3)(5,"div",4)(6,"ng-select",5),C("ngModelChange",function(a){return f(t.form.Contact.TaxTypeId,a)||(t.form.Contact.TaxTypeId=a),a}),n(),o(7,"label",6),s(8,"Default Tax"),n()()(),o(9,"div",3)(10,"div",7)(11,"input",8),C("ngModelChange",function(a){return f(t.form.Contact.TaxIDNumber,a)||(t.form.Contact.TaxIDNumber=a),a}),n(),o(12,"label",9),s(13,"Tax ID"),n()()(),o(14,"div",1)(15,"h4",2),s(16," Sales Information "),n()(),o(17,"div",3)(18,"div",4)(19,"ng-select",10),C("ngModelChange",function(a){return f(t.form.Contact.PricebookID,a)||(t.form.Contact.PricebookID=a),a}),n(),o(20,"label",11),s(21,"Pricebook"),n()()(),o(22,"div",3)(23,"div",4)(24,"sales-person-selector",12),C("ngModelChange",function(a){return f(t.form.Contact.SalesID,a)||(t.form.Contact.SalesID=a),a}),n(),v(25,Lt,2,0,"label",13),n()(),o(26,"div",3)(27,"div",7)(28,"input",14),C("ngModelChange",function(a){return f(t.form.Contact.ContactPerson,a)||(t.form.Contact.ContactPerson=a),a}),n(),o(29,"label",15),s(30,"Person in Charge"),n()()(),o(31,"div",1)(32,"h4",2),s(33," Debt "),n()(),o(34,"div",3)(35,"div",7)(36,"input",16),C("ngModelChange",function(a){return f(t.form.Contact.DebtLimit,a)||(t.form.Contact.DebtLimit=a),a}),n(),o(37,"label",17),s(38,"Debt Limit"),n()()(),o(39,"div",3)(40,"div",18)(41,"input",19),C("ngModelChange",function(a){return f(t.form.Contact.MaximumOverdueDays,a)||(t.form.Contact.MaximumOverdueDays=a),a}),n(),o(42,"span",20),s(43,"Day(s)"),n(),o(44,"label",21),s(45,"Maximum Overdue"),n()()(),o(46,"div",1)(47,"h4",2),s(48," Credit Due "),n()(),o(49,"div",3)(50,"div",18)(51,"input",22),C("ngModelChange",function(a){return f(t.form.DefaultDue.Days,a)||(t.form.DefaultDue.Days=a),a}),n(),o(52,"span",20),s(53,"Day(s) (Credit)"),n()()(),o(54,"div",3)(55,"div",18)(56,"input",23),C("ngModelChange",function(a){return f(t.form.DefaultDue.Months,a)||(t.form.DefaultDue.Months=a),a}),n(),o(57,"span",20),s(58,"Month(s)"),n()()(),S(59,"div",3),n()),e&2&&(m(5),d("ngClass",h(17,Ne,t.isNotEmpty(t.form.Contact.TaxTypeId))),m(),u("ngModel",t.form.Contact.TaxTypeId),d("items",t.options.Taxes)("clearable",t.isNotEmpty(t.form.Contact.TaxTypeId)),m(5),u("ngModel",t.form.Contact.TaxIDNumber),m(7),d("ngClass",h(19,Ne,t.isNotEmpty(t.form.Contact.PricebookID))),m(),u("ngModel",t.form.Contact.PricebookID),d("items",t.options.Pricebooks)("clearable",!0),m(4),d("ngClass",h(21,Ne,t.isNotEmpty(t.form.Contact.SalesID))),m(),u("ngModel",t.form.Contact.SalesID),m(),M(t.form.Contact.SalesID?25:-1),m(3),u("ngModel",t.form.Contact.ContactPerson),m(8),u("ngModel",t.form.Contact.DebtLimit),m(5),u("ngModel",t.form.Contact.MaximumOverdueDays),m(10),u("ngModel",t.form.DefaultDue.Days),m(5),u("ngModel",t.form.DefaultDue.Months))},dependencies:[N,F,V,E,I,W,at,gt],styles:["input[_ngcontent-%COMP%]{height:58px}"],changeDetection:0})};var Bt=r=>({selected:r}),Me=class r{constructor(l,e,t){this.dialogRef=l;this.data=e;this.toastr=t;this.Model=e,this.configModal=new ce,this.configModal.title="Add New address?",this.configModal.headerType=A.Success}Model;configModal;isNotEmpty(l){return x.IsNotEmpty(l)}changeSelect(l){this.Model.form.CityName=l.Name}onOk(){x.IsEmpty(this.Model.form.Label)?this.toastr.error("Label is required",A.Error):x.IsEmpty(this.Model.form.Address)?this.toastr.error("Address is required",A.Error):this.dialogRef.close(this.Model.form)}static \u0275fac=function(e){return new(e||r)(w(ue),w(fe),w(L))};static \u0275cmp=T({type:r,selectors:[["POS-modal-add-address"]],standalone:!1,decls:24,vars:10,consts:[[3,"onOk","onCancel","onClose","config"],[1,"container-fluid"],[1,"row",2,"width","500px"],[1,"col-sm-12"],[1,"form-floating-outline"],["type","text","id","labelName","placeholder","Label","matTooltipPosition","above","matTooltip","Input Label for the address",1,"form-control",3,"ngModelChange","ngModel"],["for","labelName"],["type","text","id","labelPhone","placeholder","Phone","matTooltipPosition","above","matTooltip","Input phone for the address",1,"form-control",3,"ngModelChange","ngModel"],["for","labelPhone"],["id","labelAddress","placeholder","Address","matTooltipPosition","above","matTooltip","Input detail for the address",1,"form-control",3,"ngModelChange","ngModel"],["for","labelAddress"],[1,"form-floating-outline","flexRow",3,"ngClass"],["id","labelCity","bindLabel","Name","bindValue","ID","appendTo","body","matTooltipPosition","above","matTooltip","Select City for the address",1,"currency-select",3,"ngModelChange","change","ngModel","items","clearable"],["for","labelCity",1,"ng-select"]],template:function(e,t){e&1&&(o(0,"modal-material",0),b("onOk",function(){return t.onOk()})("onCancel",function(){return t.dialogRef.close()})("onClose",function(){return t.dialogRef.close()}),o(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"input",5),C("ngModelChange",function(a){return f(t.Model.form.Label,a)||(t.Model.form.Label=a),a}),n(),o(7,"label",6),s(8,"Label"),n()()(),o(9,"div",3)(10,"div",4)(11,"input",7),C("ngModelChange",function(a){return f(t.Model.form.Phone,a)||(t.Model.form.Phone=a),a}),n(),o(12,"label",8),s(13,"Phone"),n()()(),o(14,"div",3)(15,"div",4)(16,"textarea",9),C("ngModelChange",function(a){return f(t.Model.form.Address,a)||(t.Model.form.Address=a),a}),n(),o(17,"label",10),s(18,"Address"),n()()(),o(19,"div",3)(20,"div",11)(21,"ng-select",12),C("ngModelChange",function(a){return f(t.Model.form.City,a)||(t.Model.form.City=a),a}),b("change",function(a){return t.changeSelect(a)}),n(),o(22,"label",13),s(23,"City"),n()()()()()()()),e&2&&(d("config",t.configModal),m(6),u("ngModel",t.Model.form.Label),m(5),u("ngModel",t.Model.form.Phone),m(5),u("ngModel",t.Model.form.Address),m(4),d("ngClass",h(8,Bt,t.isNotEmpty(t.Model.form.City))),m(),u("ngModel",t.Model.form.City),d("items",t.Model.options.Cities)("clearable",!1))},dependencies:[N,F,V,E,I,pe,W],encapsulation:2})};var qt=r=>({"is-invalid":r});function Ut(r,l){r&1&&(o(0,"div",5),s(1,"Address is mandatory."),n())}function zt(r,l){r&1&&(o(0,"tr")(1,"td",16),s(2," No alternative addresses available. "),n()())}function jt(r,l){if(r&1){let e=D();o(0,"tr",18),b("click",function(){let i=_(e),a=i.$implicit,g=i.$index,O=p(2);return y(O.openModalAddress(a,g))}),o(1,"td",19)(2,"i",20),b("click",function(i){let a=_(e).$index;return p(2).deleteRow(a),y(i.stopPropagation())}),n()(),o(3,"td"),s(4),n(),o(5,"td"),s(6),n(),o(7,"td"),s(8),n(),o(9,"td"),s(10),n()()}if(r&2){let e=l.$implicit;m(4),$(e.Label),m(2),$(e.Phone),m(2),$(e.Address),m(2),$(e.CityName)}}function Gt(r,l){if(r&1&&Le(0,jt,11,4,"tr",17,Oe),r&2){let e=p();Re(e.form.Addresses)}}var Se=class r{constructor(l){this.matDialog=l}form={};options={};config={};newAddressEvent=new Ae;openModalAddress(l,e){let t={Address:null,City:null,CityName:null,Label:null,Phone:null,index:null};l&&(l.index=e,t=l),this.matDialog.open(Me,{data:{form:t,options:this.options}}).afterClosed().pipe(H(i=>x.IsNotEmpty(i))).subscribe(i=>{this.newAddressEvent.emit({address:i,index:i.index})})}deleteRow(l){this.form.Addresses.splice(l,1),this.form.Addresses.map((e,t)=>{e.index=t})}static \u0275fac=function(e){return new(e||r)(w(K))};static \u0275cmp=T({type:r,selectors:[["POS-customer-address"]],inputs:{form:"form",options:"options",config:"config"},outputs:{newAddressEvent:"newAddressEvent"},standalone:!1,decls:27,vars:8,consts:[["address","ngModel"],[1,"fw-normal","mb-4"],["label","Address",1,"form-floating-outline",3,"value"],["name","address","id","inputAddress","placeholder","Input Customer Address","matTooltipPosition","above","matTooltip","Address",1,"form-control",3,"ngModelChange","ngModel","required","ngClass"],["for","inputAddress"],[1,"invalid-feedback","fst-italic"],[1,"table","table-bordered","mb-4"],[1,"thead-light","sticky-top-thead"],[1,"header"],["width","15px",1,"border-end"],["type","button","matTooltipPosition","above","matTooltip","Add an Address?",1,"btn","btn-outline-dark","btn-sm","bg-white","text-black",3,"click"],["aria-hidden","true",1,"fa","fa-plus"],["matTooltipPosition","above","matTooltip","Label for this address",1,"border-end",2,"width","120px"],["matTooltipPosition","above","matTooltip","Phone for this address",1,"border-end",2,"width","120px"],["matTooltipPosition","above","matTooltip","Detail for this address",1,"border-end"],["matTooltipPosition","above","matTooltip","City for this Address",1,"border-end",2,"width","120px"],["colspan","5",1,"text-center"],[1,"clickable"],[1,"clickable",3,"click"],[1,"text-center"],[1,"fa","fa-xmark","text-danger",2,"cursor","pointer",3,"click"]],template:function(e,t){if(e&1){let i=D();o(0,"h4",1),s(1,"Main Address"),n(),o(2,"div",2)(3,"textarea",3,0),C("ngModelChange",function(g){return _(i),f(t.form.Contact.Address,g)||(t.form.Contact.Address=g),y(g)}),n(),o(5,"label",4),s(6,"Address"),n(),v(7,Ut,2,0,"div",5),n(),o(8,"h4",1),s(9,"Alternative Address"),n(),o(10,"table",6)(11,"thead",7)(12,"tr",8)(13,"th",9)(14,"button",10),b("click",function(){return t.openModalAddress(null)}),S(15,"i",11),n()(),o(16,"th",12),s(17," Label "),n(),o(18,"th",13),s(19," Phone "),n(),o(20,"th",14),s(21," Address "),n(),o(22,"th",15),s(23," City "),n()()(),o(24,"tbody"),v(25,zt,3,0,"tr")(26,Gt,2,0),n()()}if(e&2){let i=P(4);m(2),d("value",t.form.Contact.Address),m(),u("ngModel",t.form.Contact.Address),d("required",t.config.RequireContactAddress)("ngClass",h(6,qt,i.invalid&&(i.dirty||i.touched))),m(4),M(i.invalid&&(i.dirty||i.touched)?7:-1),m(18),M(t.form.Addresses.length===0?25:26)}},dependencies:[N,F,V,E,Y,I],encapsulation:2,changeDetection:0})};var ie=r=>({selected:r}),Dt=r=>({"is-invalid":r});function Zt(r,l){r&1&&(o(0,"label",11),s(1,"City"),n())}function Qt(r,l){if(r&1&&(o(0,"div",21),s(1),n()),r&2){p();let e=P(28);m(),ee(" ",e==null||e.errors==null||e.errors.minLength==null?null:e.errors.minLength.message," ")}}function Yt(r,l){if(r&1&&(S(0,"lib-info-page-input",23),qe(1,"IsMinDate")),r&2){let e=p();d("tooltip",e.maskingFieldMsg)("inputValue",Ue(1,3,e.form==null||e.form.Contact==null?null:e.form.Contact.Birthdate,"dd MMM yyyy"))("disabled",!0)}}function Kt(r,l){r&1&&(o(0,"div",21),s(1,"Birthdate is mandatory."),n())}function Jt(r,l){if(r&1){let e=D();o(0,"div",24)(1,"datepicker",31,1),C("ngModelChange",function(i){_(e);let a=p();return f(a.form.Contact.Birthdate,i)||(a.form.Contact.Birthdate=i),y(i)}),n(),v(3,Kt,2,0,"div",21),n()}if(r&2){let e=P(2),t=p();m(),u("ngModel",t.form.Contact.Birthdate),d("required",t.config.RequireContactBirthdate)("ngClass",h(4,Dt,e.invalid&&(e.dirty||e.touched))),m(2),M(e.invalid&&(e.dirty||e.touched)?3:-1)}}var xe=class r{form={};options={};maskingFields;isStateEdit;maskingFieldMsg;config;countries;matDialog=k(K);httpService=k(de);roleService=k(R);ngOnInit(){this.httpService.post("/api/ContactSetup/Country").pipe(G(l=>l.List)).subscribe(l=>this.countries=l)}isNotEmpty(l){return x.IsNotEmpty(l)}checkedIsNotEmpty(l){return x.IsNotEmpty(l)}openAddCityDialog(){this.matDialog.open(J,{data:{countries:this.countries}}).afterClosed().pipe(H(l=>l.CountryID&&l.Name),ae(l=>this.httpService.post("/api/ContactSetup/SubmitCity",l).pipe(G(e=>ne(oe({},l),{ID:e.ID}))))).subscribe(l=>{this.options.Cities=[...this.options.Cities,l],this.form.Contact.City=l.ID})}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=T({type:r,selectors:[["POS-customer-information"]],inputs:{form:"form",options:"options",maskingFields:"maskingFields",isStateEdit:"isStateEdit",maskingFieldMsg:"maskingFieldMsg",config:"config"},standalone:!1,decls:52,vars:42,consts:[["nationalId","ngModel"],["birthdateCtrl","ngModel"],[1,"fw-normal","mb-8"],[1,"row","g-4"],[1,"col-sm-6"],[1,"form-floating-outline","flexRow",3,"ngClass"],["appendTo","body","id","inputGender","name","gender","bindLabel","Value","bindValue","Key","placeholder","Choose an Options","matTooltipPosition","above","matTooltip","Select Customer Gender",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputGender",1,"ng-select"],[1,"d-flex"],[1,"form-floating-outline","w-100",3,"ngClass"],["appendTo","body","id","inputSelectCity","bindLabel","Name","bindValue","ID","placeholder","Choose an Options","matTooltipPosition","above","matTooltip","Select Customer City","name","city",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputSelectCity",1,"ng-select"],[1,"bg-dark","pointer","mt-7",2,"display","inline-block","margin-left","9px","border-radius","65px","padding","5px","width","30px","height","30px","text-align","center","font-size","14px",3,"click"],["aria-hidden","true",1,"fa","fa-plus","text-white"],[1,"form-floating-outline",3,"ngClass"],["appendTo","body","id","inputNationality","bindLabel","Name","bindValue","ID","matTooltipPosition","above","matTooltip","Input Customer Nationality ID/Number",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputNationality",1,"ng-select"],["appendTo","body","id","inputRace","bindLabel","Name","bindValue","ID","matTooltipPosition","above","matTooltip","Select Customer Race",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","inputRace",1,"ng-select"],["pOSFormOrFloatingOnMasked","","label","Identification",1,"form-floating-outline",3,"value","isMasked"],["type","text","id","inputIdentification","matTooltipPosition","above","matTooltip","Input National ID Number","placeholder","NationalID","numericInputOnly","nationalId","name","nationalId",1,"form-control",3,"ngModelChange","ngModel","ngClass"],[1,"invalid-feedback","fst-italic"],["for","inputIdentification"],["labelValue","Birthdate","inputType","input",3,"tooltip","inputValue","disabled"],[1,"form-floating-outline"],["id","inputSelectCity","bindLabel","Name","bindValue","ID","matTooltipPosition","above","matTooltip","Select Customer Group","name","customerGroup",1,"productform",3,"ngModelChange","ngModel","items","multiple","clearable"],[1,"fw-normal"],["type","text","id","inputFax","placeholder","Fax","matTooltipPosition","above","matTooltip","Input Customer Fax Number",1,"form-control",3,"ngModelChange","ngModel"],["for","inputFax"],["type","text","id","inputDocument","placeholder","Document - Resource URL","matTooltipPosition","above","matTooltip","Input Customer Document-Resource URL",1,"form-control",3,"ngModelChange","ngModel"],["for","inputDocument"],["placeholder","Birthdate","appearance","outline","matTooltipPosition","above","name","birthdate","matTooltip","Input Customer Birthdate",1,"customer-birthday",3,"ngModelChange","ngModel","required","ngClass"]],template:function(e,t){if(e&1){let i=D();o(0,"h4",2),s(1,"Personal Information"),n(),o(2,"div",3)(3,"div",4)(4,"div",5)(5,"ng-select",6),C("ngModelChange",function(g){return _(i),f(t.form.Contact.Gender,g)||(t.form.Contact.Gender=g),y(g)}),n(),o(6,"label",7),s(7,"Gender"),n()()(),o(8,"div",4)(9,"div",8)(10,"div",9)(11,"ng-select",10),C("ngModelChange",function(g){return _(i),f(t.form.Contact.City,g)||(t.form.Contact.City=g),y(g)}),n(),v(12,Zt,2,0,"label",11),n(),o(13,"div",12),b("click",function(){return t.openAddCityDialog()}),S(14,"i",13),n()()(),o(15,"div",4)(16,"div",14)(17,"ng-select",15),C("ngModelChange",function(g){return _(i),f(t.form.Contact.NationalityID,g)||(t.form.Contact.NationalityID=g),y(g)}),n(),o(18,"label",16),s(19,"Nationality"),n()()(),o(20,"div",4)(21,"div",14)(22,"ng-select",17),C("ngModelChange",function(g){return _(i),f(t.form.Contact.RaceID,g)||(t.form.Contact.RaceID=g),y(g)}),n(),o(23,"label",18),s(24,"Race"),n()()(),o(25,"div",4)(26,"div",19)(27,"input",20,0),C("ngModelChange",function(g){return _(i),f(t.form.Contact.NationalIDNumber,g)||(t.form.Contact.NationalIDNumber=g),y(g)}),n(),v(29,Qt,2,1,"div",21),o(30,"label",22),s(31,"National ID"),n()()(),o(32,"div",4),v(33,Yt,2,6,"lib-info-page-input",23)(34,Jt,4,6,"div",24),n(),o(35,"div",4)(36,"div",5)(37,"ng-select",25),C("ngModelChange",function(g){return _(i),f(t.form.Groups,g)||(t.form.Groups=g),y(g)}),n(),o(38,"label",11),s(39,"Groups"),n()()(),o(40,"h4",26),s(41,"Document"),n(),o(42,"div",4)(43,"div",24)(44,"input",27),C("ngModelChange",function(g){return _(i),f(t.form.Contact.Fax,g)||(t.form.Contact.Fax=g),y(g)}),n(),o(45,"label",28),s(46,"Fax"),n()()(),o(47,"div",4)(48,"div",24)(49,"input",29),C("ngModelChange",function(g){return _(i),f(t.form.Contact.ResourceUrl,g)||(t.form.Contact.ResourceUrl=g),y(g)}),n(),o(50,"label",30),s(51,"Document - Resource URL"),n()()()()}if(e&2){let i=P(28);m(4),d("ngClass",h(30,ie,t.form.Contact.Gender==0?!0:t.form.Contact.Gender)),m(),u("ngModel",t.form.Contact.Gender),d("items",t.options.Genders)("clearable",!1),m(5),d("ngClass",h(32,ie,t.form.Contact.City==0?!0:t.form.Contact.City)),m(),u("ngModel",t.form.Contact.City),d("items",t.options.Cities)("clearable",t.checkedIsNotEmpty(t.form.Contact.City)),m(),M(t.form.Contact.City?12:-1),m(4),d("ngClass",h(34,ie,t.isNotEmpty(t.form.Contact.NationalityID))),m(),u("ngModel",t.form.Contact.NationalityID),d("items",t.options.Nationalities)("clearable",!0),m(4),d("ngClass",h(36,ie,t.isNotEmpty(t.form.Contact.RaceID))),m(),u("ngModel",t.form.Contact.RaceID),d("items",t.options.Races)("clearable",!0),m(4),d("value",t.form.Contact.NationalIDNumber)("isMasked",t.maskingFields.NationalIDNumber&&!t.roleService.global.SensitiveField&&t.isStateEdit),m(),u("ngModel",t.form.Contact.NationalIDNumber),d("ngClass",h(38,Dt,i.invalid&&(i.dirty||i.touched))),m(2),M(i.invalid&&(i.dirty||i.touched)?29:-1),m(4),M(t.maskingFields.Birthdate&&!t.roleService.global.SensitiveField&&t.isStateEdit?33:34),m(3),d("ngClass",h(40,ie,t.checkedIsNotEmpty(t.form.Groups))),m(),u("ngModel",t.form.Groups),d("items",t.options.Groups)("multiple",!0)("clearable",!1),m(7),u("ngModel",t.form.Contact.Fax),m(5),u("ngModel",t.form.Contact.ResourceUrl)}},dependencies:[N,F,V,E,Y,I,W,Ct,bt,ye,ge,lt],encapsulation:2,changeDetection:0})};var we=class r{form={};editorApiKey="zc58cdrrftek5r5igtmjiar7ed4n3wr00hzd4w4mvtx8mpxa";static \u0275fac=function(e){return new(e||r)};static \u0275cmp=T({type:r,selectors:[["POS-customer-description"]],inputs:{form:"form"},standalone:!1,decls:14,vars:2,consts:[[1,"row","g-4"],[1,"fw-normal","mb-5"],[1,"col-sm-12"],["matTooltipPosition","above","matTooltip","Input Description for the customer",2,"height","240px"],["height","220px",3,"ngModelChange","ngModel"],[1,"form-floating-outline"],["id","inputDescriptionExtra","placeholder","Description Extra","matTooltipPosition","above","matTooltip","Input extra description for the customer",1,"form-control",2,"height","100px",3,"ngModelChange","ngModel"],["for","inputDescriptionExtra"]],template:function(e,t){e&1&&(o(0,"div",0)(1,"h4",1),s(2,"Main Description"),n(),o(3,"div",2)(4,"div",3)(5,"POS-tinymce-editor",4),C("ngModelChange",function(a){return f(t.form.Contact.Description,a)||(t.form.Contact.Description=a),a}),n()()(),o(6,"h4",1),s(7,"Extra Description"),n(),o(8,"div",2)(9,"div",5)(10,"textarea",6),C("ngModelChange",function(a){return f(t.form.Contact.Description2,a)||(t.form.Contact.Description2=a),a}),s(11," "),n(),o(12,"label",7),s(13,"Description Extra"),n()()()()),e&2&&(m(5),u("ngModel",t.form.Contact.Description),m(5),u("ngModel",t.form.Contact.Description2))},dependencies:[N,V,E,I,yt],encapsulation:2,changeDetection:0})};var ei=r=>({selected:r}),De=class r{form={};options={};toastr=k(L);ac=k(st);isNotEmpty(l){return x.IsNotEmpty(l)}onAssignCustomer(l){l!=this.form.Contact.ID?this.form.Contact.ReferredBy=l:(this.toastr.warning("You cannot assign referred by field whose is the same as the referred customer",A.Warning),this.ac.form.setValue(""))}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=T({type:r,selectors:[["POS-customer-acquisition"]],inputs:{form:"form",options:"options"},standalone:!1,decls:9,vars:9,consts:[[1,"row","g-4"],[1,"col-sm-6"],[1,"form-floating-outline"],["customLabel","Referred By","name","Key","requestUrl","/API/AC/GetCustomerSuggestion",1,"w-100",3,"ngModelChange","customStyle","ngModel","inputTextValue"],[1,"form-floating-outline","flexRow",3,"ngClass"],["appendTo","body","id","media","bindLabel","Name","bindValue","ID","matTooltipPosition","above","matTooltip","Assign Acquisition Media for the Customer",1,"productform",3,"ngModelChange","ngModel","items","clearable"],["for","media",1,"ng-select"]],template:function(e,t){e&1&&(o(0,"div",0)(1,"div",1)(2,"div",2)(3,"autocompleteV2",3),C("ngModelChange",function(a){return f(t.form.Contact.ReferredBy,a)||(t.form.Contact.ReferredBy=a),a}),b("ngModelChange",function(a){return t.onAssignCustomer(a)}),n()()(),o(4,"div",1)(5,"div",4)(6,"ng-select",5),C("ngModelChange",function(a){return f(t.form.Contact.AcquisitionMediaID,a)||(t.form.Contact.AcquisitionMediaID=a),a}),n(),o(7,"label",6),s(8,"Acquisition Media"),n()()()()),e&2&&(m(3),d("customStyle",!0),u("ngModel",t.form.Contact.ReferredBy),d("inputTextValue",t.form.Contact.ReferredByName),m(2),d("ngClass",h(7,ei,t.isNotEmpty(t.form.Contact.AcquisitionMediaID))),m(),u("ngModel",t.form.Contact.AcquisitionMediaID),d("items",t.options.MediaList)("clearable",!1))},dependencies:[N,F,E,I,W,dt],encapsulation:2})};var ii=["mySelect"],oi=r=>[r],ni=r=>({ID:r}),X=r=>({"is-invalid":r}),Tt=r=>({"me-3":r}),ai=r=>({selected:r});function ri(r,l){r&1&&(o(0,"div",27),s(1," Display Name is mandatory "),n())}function li(r,l){r&1&&(o(0,"div",27),s(1," First name is mandatory "),n())}function mi(r,l){if(r&1&&(o(0,"div",27),s(1),n()),r&2){p(2);let e=P(53);m(),ee(" ",e==null||e.errors==null||e.errors.minLength==null?null:e.errors.minLength.message," ")}}function si(r,l){r&1&&(o(0,"div",27),s(1," Mobile Phone is mandatory. "),n())}function di(r,l){if(r&1&&v(0,mi,2,1,"div",27)(1,si,2,0,"div",27),r&2){p();let e=P(53);M(e.getError("minLength")?0:e.getError("required")?1:-1)}}function ci(r,l){if(r&1){let e=D();o(0,"i",64),b("click",function(){_(e);let i=p(3);return y(i.mobileVerified=!i.mobileVerified)}),n()}}function pi(r,l){if(r&1){let e=D();o(0,"i",65),b("click",function(){_(e);let i=p(3);return y(i.mobileVerified=!i.mobileVerified)}),n()}}function ui(r,l){if(r&1&&(o(0,"span",42),v(1,ci,1,0,"i",62)(2,pi,1,0,"i",63),n()),r&2){let e=p(2);m(),M(e.mobileVerified?2:1)}}function fi(r,l){if(r&1&&(o(0,"div",27),s(1),n()),r&2){p();let e=P(61);m(),ee(" ",e==null||e.errors==null||e.errors.minLength==null?null:e.errors.minLength.message," ")}}function Ci(r,l){r&1&&(o(0,"div",27),s(1," Email is mandatory. "),n())}function gi(r,l){if(r&1){let e=D();o(0,"i",64),b("click",function(){_(e);let i=p(3);return y(i.emailVerified=!i.emailVerified)}),n()}}function _i(r,l){if(r&1){let e=D();o(0,"i",67),b("click",function(){_(e);let i=p(3);return y(i.emailVerified=!i.emailVerified)}),n()}}function yi(r,l){if(r&1&&(o(0,"span",42),v(1,gi,1,0,"i",62)(2,_i,1,0,"i",66),n()),r&2){let e=p(2);m(),M(e.emailVerified?2:1)}}function hi(r,l){r&1&&(o(0,"div",27),s(1," Code is mandatory. "),n())}function bi(r,l){r&1&&(o(0,"div",68),S(1,"i",69),o(2,"span"),s(3,"Personal"),n()())}function vi(r,l){if(r&1){let e=D();o(0,"div",70),S(1,"div",71),o(2,"div",71),S(3,"div",72),n()(),o(4,"POS-customer-information",73),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()}if(r&2){let e=p(2);m(4),u("form",e.data.Form),d("options",e.data.Options)("maskingFields",e.maskingFields)("isStateEdit",e.isStateEdit)("maskingFieldMsg",e.maskingFieldMsg)("config",e.data.Config)}}function Mi(r,l){r&1&&(o(0,"div",68),S(1,"i",74),o(2,"span"),s(3,"Sales & Pricing"),n()())}function Si(r,l){if(r&1){let e=D();o(0,"div",75)(1,"POS-customer-sales-price",76),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()()}if(r&2){let e=p(2);m(),d("maskingFields",e.maskingFields)("options",e.data.Options),u("form",e.data.Form),d("isStateEdit",e.isStateEdit)}}function xi(r,l){r&1&&(o(0,"div",68),S(1,"i",77),o(2,"span"),s(3,"Address"),n()())}function wi(r,l){if(r&1){let e=D();o(0,"div",75)(1,"POS-customer-address",78),b("newAddressEvent",function(i){_(e);let a=p(2);return y(a.onNewAddress(i))}),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()()}if(r&2){let e=p(2);m(),u("form",e.data.Form),d("options",e.data.Options)("config",e.data.Config)}}function Di(r,l){r&1&&(o(0,"div",68),S(1,"i",79),o(2,"span"),s(3,"Membership"),n()())}function Ti(r,l){if(r&1){let e=D();o(0,"div",75)(1,"POS-customer-membersip",80),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()()}if(r&2){let e=p(2);m(),d("maskingFields",e.maskingFields),u("form",e.data.Form),d("options",e.data.Options)("data",e.data)("isStateEdit",e.isStateEdit)("onSubmitted",e.isSubmitted())("requiredFields",e.data.Config)}}function Pi(r,l){r&1&&(o(0,"div",68),S(1,"i",81),o(2,"span"),s(3,"Description"),n()())}function Ei(r,l){if(r&1){let e=D();o(0,"div",75)(1,"POS-customer-description",82),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()()}if(r&2){let e=p(2);m(),u("form",e.data.Form)}}function Ii(r,l){r&1&&(o(0,"div",68),S(1,"i",83),o(2,"span"),s(3,"Acquisition"),n()())}function Fi(r,l){if(r&1){let e=D();o(0,"div",75)(1,"POS-customer-acquisition",84),C("formChange",function(i){_(e);let a=p(2);return f(a.data.Form,i)||(a.data.Form=i),y(i)}),n()()}if(r&2){let e=p(2);m(),u("form",e.data.Form),d("options",e.data.Options)}}function Vi(r,l){if(r&1){let e=D();o(0,"mainpanel-cmp",7),Ee(1,8),o(2,"a",9),s(3,"Cancel"),n(),o(4,"button",10),b("click",function(){_(e);let i=P(9),a=p();return y(a.onValidateForm(i))}),s(5," Save "),n(),Ie(),Ee(6,11),o(7,"div",12)(8,"form",13,0)(10,"div",14)(11,"div",15)(12,"div",16)(13,"div",17)(14,"div",18)(15,"div",19)(16,"POS-avatar-image-uploader",20),b("fileSelected",function(i){_(e);let a=p();return y(a.onUploadFile(i))})("imageRemoved",function(){_(e);let i=p();return y(i.removeImage())}),n()(),o(17,"div",21)(18,"div",22)(19,"div",23)(20,"h4",24),s(21,"General"),n(),o(22,"div")(23,"label",25),s(24," Display Name "),n(),o(25,"input",26,1),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Name,i)||(a.formData.Contact.Name=i),y(i)}),n(),v(27,ri,2,0,"div",27),n()()()()(),o(28,"div",28)(29,"div",29)(30,"div")(31,"label",30),s(32,"Title"),n(),o(33,"input",31),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Title,i)||(a.formData.Contact.Title=i),y(i)}),n()()(),o(34,"div",32)(35,"div")(36,"label",33),s(37," First Name "),n(),o(38,"input",34,2),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.FirstName,i)||(a.formData.Contact.FirstName=i),y(i)}),b("ngModelChange",function(){_(e);let i=p();return y(i.UpdateName())}),n(),v(40,li,2,0,"div",27),n()(),o(41,"div",32)(42,"div")(43,"label",35),s(44," Last Name "),n(),o(45,"input",36),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.LastName,i)||(a.formData.Contact.LastName=i),y(i)}),b("ngModelChange",function(){_(e);let i=p();return y(i.UpdateName())}),n()()()(),o(46,"div",28)(47,"div",37)(48,"label",38),s(49," Mobile Phone "),n(),o(50,"div",39)(51,"div",40)(52,"input",41,3),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Mobile,i)||(a.formData.Contact.Mobile=i),y(i)}),n(),v(54,di,2,1),v(55,ui,3,1,"span",42),n()()(),o(56,"div",37)(57,"label",43),s(58,"Work Phone"),n(),o(59,"div",44)(60,"input",45,4),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Phone,i)||(a.formData.Contact.Phone=i),y(i)}),n(),v(62,fi,2,1,"div",27),n()()()()()(),o(63,"div",46)(64,"div",16)(65,"div",17)(66,"h4",24),s(67,"Additional"),n(),o(68,"div",47)(69,"div",48)(70,"div",49)(71,"label",50),s(72," Status "),n(),o(73,"p-select",51),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.StateID,i)||(a.formData.Contact.StateID=i),y(i)}),n()()(),o(74,"div",48)(75,"label",52),s(76,"Email"),n(),o(77,"div",53)(78,"div",54)(79,"input",55,5),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Email,i)||(a.formData.Contact.Email=i),y(i)}),n(),v(81,Ci,2,0,"div",27),v(82,yi,3,1,"span",42),n()()(),o(83,"div",48)(84,"label",56),s(85,"Customer Code"),n(),o(86,"div",57)(87,"input",58,6),C("ngModelChange",function(i){_(e);let a=p();return f(a.formData.Contact.Code,i)||(a.formData.Contact.Code=i),y(i)}),n(),v(89,hi,2,0,"div",27),n()()()()()(),o(90,"div",48)(91,"div",16)(92,"div",17)(93,"mat-tab-group",59)(94,"mat-tab"),U(95,bi,4,0,"ng-template",60)(96,vi,5,6,"ng-template",61),n(),o(97,"mat-tab"),U(98,Mi,4,0,"ng-template",60)(99,Si,2,4,"ng-template",61),n(),o(100,"mat-tab"),U(101,xi,4,0,"ng-template",60)(102,wi,2,3,"ng-template",61),n(),o(103,"mat-tab"),U(104,Di,4,0,"ng-template",60)(105,Ti,2,7,"ng-template",61),n(),o(106,"mat-tab"),U(107,Pi,4,0,"ng-template",60)(108,Ei,2,1,"ng-template",61),n(),o(109,"mat-tab"),U(110,Ii,4,0,"ng-template",60)(111,Fi,2,2,"ng-template",61),n()()()()()()()(),Ie(),n()}if(r&2){let e=P(26),t=P(39),i=P(53),a=P(61),g=P(80),O=P(88),c=p();d("pageData",c.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),m(2),d("routerLink",h(50,oi,c.formData.Contact.ID==c.emptyGuid?"/menu/Contacts/Contact/Customers":"/menu/Contacts/Contact/Customers/Info"))("queryParams",h(52,ni,c.formData.Contact.ID==c.emptyGuid?null:c.formData.Contact.ID)),m(14),d("currentImage",(c.formData==null||c.formData.Contact==null?null:c.formData.Contact.Thumbnail)||(c.formData==null||c.formData.Contact==null?null:c.formData.Contact.ImageURLClient))("customSize","88px"),m(9),d("ngClass",h(54,X,e.touched&&e.invalid)),u("ngModel",c.formData.Contact.Name),m(2),M(e.invalid&&(e.dirty||e.touched)?27:-1),m(6),u("ngModel",c.formData.Contact.Title),m(5),u("ngModel",c.formData.Contact.FirstName),d("required",!0)("ngClass",h(56,X,t.invalid&&(t.dirty||t.touched))),m(2),M(t.invalid&&(t.dirty||t.touched)?40:-1),m(5),u("ngModel",c.formData.Contact.LastName),m(6),d("ngClass",h(58,Tt,c.formData.Contact.Mobile))("value",c.formData.Contact.Mobile)("isMasked",c.maskingFields.Mobile&&!c.roleService.global.SensitiveField&&c.isStateEdit),m(),u("ngModel",c.formData.Contact.Mobile),d("required",c.data.Config.RequireContactMobile)("ngClass",h(60,X,i.invalid&&(i.dirty||i.touched))),m(2),M(i.invalid&&(i.dirty||i.touched)?54:-1),m(),M(c.formData.Contact.Mobile&&(!c.maskingFields.Mobile&&c.roleService.global.SensitiveField||!c.isStateEdit)&&!i.invalid?55:-1),m(4),d("value",c.formData.Contact.Phone)("isMasked",c.maskingFields.Phone&&!c.roleService.global.SensitiveField&&c.isStateEdit),m(),u("ngModel",c.formData.Contact.Phone),d("ngClass",h(62,X,a.invalid&&(a.dirty||a.touched))),m(2),M(a.invalid&&(a.dirty||a.touched)?62:-1),m(8),d("ngClass",h(64,ai,c.checkedIsNotEmpty(c.formData.Contact.StateID))),m(3),d("options",c.options.States),u("ngModel",c.formData.Contact.StateID),d("disabled",c.data.Config.RequireEmailActivation),m(5),d("ngClass",h(66,Tt,c.formData.Contact.Email))("value",c.formData.Contact.Email)("isMasked",c.maskingFields.Email&&!c.roleService.global.SensitiveField&&c.isStateEdit),m(),Be("has-suffix",c.formData.Contact.Email&&(!c.maskingFields.Email&&!!c.roleService.global.SensitiveField||!c.isStateEdit)&&!g.invalid),u("ngModel",c.formData.Contact.Email),d("required",c.data.Config.RequireContactEmail)("ngClass",h(68,X,g.invalid&&(g.dirty||g.touched))),m(2),M(g.invalid&&(g.dirty||g.touched)?81:-1),m(),M(c.formData.Contact.Email&&(!c.maskingFields.Email&&c.roleService.global.SensitiveField||!c.isStateEdit)&&!g.invalid?82:-1),m(4),d("value",c.formData.Contact.Code)("isMasked",c.maskingFields.Code&&!c.roleService.global.SensitiveField&&c.isStateEdit),m(),u("ngModel",c.formData.Contact.Code),d("required",c.data.Config.RequireContactCode)("ngClass",h(70,X,O.invalid&&(O.dirty||O.touched))),m(2),M(O.invalid&&(O.dirty||O.touched)?89:-1),m(4),d("dynamicHeight",!0)}}var Pt=class r extends ht{constructor(e,t,i,a,g,O,c,Ni,ki){super(e,t,"ContactLoader/ContactForm",i);this.httpService=t;this.activatedRoute=i;this.router=a;this.toaster=g;this.datePipe=O;this.roleService=c;this.matDialog=Ni;this.customerService=ki;this.destroy$=new ke,this.httpService.post("/api/ContactSetup/Country").pipe(G(Te=>Te.List)).subscribe(Te=>this.countries=Te)}emptyGuid=x.GuidEmpty;bigPicture=k(_t);removeImg=!1;countries;emailVerified;mobileVerified;maskingFields;isStateEdit=!1;maskingFieldMsg=Ce.maskingField;isSubmitted=Z(!1);uppyCoreConfiguration={restrictions:{allowedFileTypes:["image/*",".jpg",".jpeg",".png"]}};dashboardPropsConfiguration={height:80};destroy$;processUppy=k(_e);uploadThumbnail=Z(null);uploadImageUrlClient=Z(null);selectComponent;onOpen(){setTimeout(()=>{let e=document.querySelector(".ng-dropdown-panel");if(e){let t=e.clientHeight;console.log("Panel Height:",t,"px")}},0)}postBindForm(e){this.menuData.H=e.PageTitle,this.maskingFields=x.generateMaskingField(this.data?.Options?.MaskFields),this.checkIsStateEdit(),e.Form.DefaultDue||(e.Form.DefaultDue.Days=0),e.Form.DefaultDue||(e.Form.DefaultDue.Months=0),e.Form.LoyaltyPoint.Point||(e.Form.LoyaltyPoint.Point=0);let t=e.Form.Contact.CreatorEntityID;x.IsEmpty(t)&&(e.Form.Contact.CreatorEntityID=null),this.initVerifiedContact(),x.IsEmpty(e.Form.Contact.Birthdate)&&(e.Form.Contact.Birthday=null),e.Config.RequireEmailActivation&&(e.Form.Contact.StateID=2)}checkedIsNotEmpty(e){return x.IsNotEmpty(e)}dateChange(e){this.formData.Contact.Birthdate=this.datePipe.transform(e,"dd MMM YYYY")}UpdateName(){this.formData.Contact.Name=(this.formData.Contact.FirstName==null?"":this.formData.Contact.FirstName)+(this.formData.Contact.LastName==null?"":" "+this.formData.Contact.LastName)}preSubmitForm(){this.data.Form={CloudinaryID:this.data.CloudinaryID,Form:this.formData,RemoveImage:this.removeImg}}onSubmitSuccess(){this.toaster.success("Contact successfully updated",A.Success),this.router.navigate(["/menu/Contacts/Contact/Customers"])}onSubmitError(){this.data.Form=this.formData.Form}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}onValidateForm(e){if(this.assignVerifiedContact(),e.control.markAllAsTouched(),this.isSubmitted.set(!0),e.control.invalid){this.toaster.warning("Please fill in all required fields before creating the customer data","Incomplete Information");return}let t=this.data.Form.Contact.Description;if(t&&t.length>500){this.toaster.warning("The description cannot exceed 500 characters. Please shorten your input","Character Limit Exceeded");return}this.onSubmit("Contact/ContactForm")}onNewAddress(e){e.index==null?this.formData.Addresses.push(e.address):this.formData.Addresses[e.index]=e.address}openAddCityDialog(){this.matDialog.open(J,{data:{countries:this.countries}}).afterClosed().pipe(H(e=>e.CountryID&&e.Name),ae(e=>this.httpService.post("/api/ContactSetup/SubmitCity",e).pipe(G(t=>ne(oe({},e),{ID:t.ID}))))).subscribe(e=>{this.options.Cities=[...this.options.Cities,e],this.formData.Contact.City=e.ID})}onUploadFile(e){e instanceof File&&this.processUppy.uploadFileThroughPreSignedUrl(e,this.data.CloudinaryFolder,"medium").subscribe(t=>{this.formData.Contact.ImageURLClient=t.url,this.formData.Contact.Thumbnail=t.thumbnail,this.formData.Contact.ImageURL=e.name})}removeImage(){this.formData.Contact.ImageURLClient=null,this.formData.Contact.ImageURL=null,this.formData.Contact.Thumbnail=null,this.removeImg=!0}openBigPicture(e,t){this.bigPicture.openBiggerPicture(t,e)}checkIsStateEdit(){let e=this.activatedRoute.snapshot.queryParams;this.isStateEdit=Object.values(e).length>0}initVerifiedContact(){this.emailVerified=this.formData.Contact.EmailVerified,this.mobileVerified=this.formData.Contact.MobileVerified}assignVerifiedContact(){this.formData.Contact.EmailVerified=this.emailVerified,this.formData.Contact.MobileVerified=this.mobileVerified}static \u0275fac=function(t){return new(t||r)(w(rt),w(de),w(He),w(Ze),w(L),w(je),w(R),w(K),w(vt))};static \u0275cmp=T({type:r,selectors:[["POS-customer-form-v2"]],viewQuery:function(t,i){if(t&1&&re(ii,5),t&2){let a;le(a=me())&&(i.selectComponent=a.first)}},features:[We],decls:1,vars:1,consts:[["customerForm","ngForm"],["displayName","ngModel"],["firstName","ngModel"],["mobilePhone","ngModel"],["phoneNumber","ngModel"],["emailCtrl","ngModel"],["code","ngModel"],[3,"pageData","hideSearchBox","hideSearchDropdown"],["ngProjectAs","actions",5,["actions"]],["role","button","matTooltipPosition","above","matTooltip","Cancel",1,"btn","btn-outline-secondary","me-4",3,"routerLink","queryParams"],["type","button","role","button",1,"btn","btn-success",3,"click"],["ngProjectAs","content",5,["content"]],[1,"container-fluid","py-6"],["name","form"],[1,"row"],[1,"col-12","col-lg-8"],[1,"card"],[1,"card-body"],[1,"row","border-bottom","pb-6"],[1,"col-12","col-md-4","col-lg-2","d-flex","align-items-center","justify-content-center","p-2"],[3,"fileSelected","imageRemoved","currentImage","customSize"],[1,"col","d-flex","align-items-center"],[1,"row","row-gap-4","flex-grow-1"],[1,"col-12","col-md-6","col-lg-12"],[1,"fw-normal","mb-4"],["for","inputDisplayName",1,"text-muted","required"],["type","text","id","inputDisplayName","name","displayName","placeholder","First Name + Last Name","required","","matTooltipPosition","above","matTooltip","Customer Displayed Name",1,"form-control","custom",3,"ngModelChange","ngClass","ngModel"],[1,"invalid-feedback","fst-italic"],[1,"row","mt-4"],[1,"col-12","col-md-6","col-lg-3","col-xl-2"],["for","inputTitle"],["type","text","id","inputTitle","name","title","placeholder","Title",1,"form-control","custom",3,"ngModelChange","ngModel"],[1,"col-12","col-md-6","col-lg-5"],["for","inputFirstName",1,"text-muted","required"],["type","text","matTooltipPosition","above","matTooltip","Input Customer First Name","id","inputFirstName","name","firstName","autofocus","","placeholder","First Name",1,"form-control","custom",3,"ngModelChange","ngModel","required","ngClass"],["for","inputLastName",1,"text-muted"],["type","text","matTooltipPosition","above","matTooltip","Input Customer Last Name","id","inputLastName","name","lastName","placeholder","Last Name",1,"form-control","custom",3,"ngModelChange","ngModel"],[1,"col-12","col-md-6","col-lg-6"],["for","inputMobilePhone",1,"text-muted","required"],[1,"d-flex","align-items-center"],["pOSFormOrFloatingOnMasked","","label","Mobile Phone",1,"position-relative","w-100",3,"ngClass","value","isMasked"],["type","text","id","inputMobilePhone","placeholder","Mobile Phone","numericInputOnly","phone","matTooltipPosition","above","matTooltip","Input Mobile Phone Number","name","mobilePhone",1,"form-control","custom",3,"ngModelChange","ngModel","required","ngClass"],[1,"fs-2","input-suffix",2,"position","absolute","right","10px","top","55%","transform","translateY(-50%)","z-index","2"],["for","inputPhone",1,"text-muted"],["pOSFormOrFloatingOnMasked","","label","Work Phone",3,"value","isMasked"],["type","text","id","inputPhone","name","phoneNumber","matTooltipPosition","above","matTooltip","Input Customer Phone Number","placeholder","Phone","numericInputOnly","phone",1,"form-control","custom",3,"ngModelChange","ngModel","ngClass"],[1,"col"],[1,"row","row-gap-9"],[1,"col-12"],[1,"flexRow",3,"ngClass"],["for","inputSelectCity",1,"ng-select","text-muted"],["placeholder","Select a City","optionLabel","Value","optionValue","Key","placeholder","Choose an Options","matTooltipPosition","above","matTooltip","Select Customer Status","id","inputSelectCity","name","customerStatus",1,"w-full","md:w-56","mt-4",3,"ngModelChange","options","ngModel","disabled"],["for","inputEmail",1,"text-muted"],[1,"d-flex","align-items-center","flex-grow-1"],["pOSFormOrFloatingOnMasked","","label","Email",1,"position-relative","w-100",3,"ngClass","value","isMasked"],["type","text","id","inputEmail","name","email","placeholder","Email","matTooltipPosition","above","matTooltip","Input Customer Email",1,"form-control","custom",3,"ngModelChange","ngModel","required","ngClass"],["for","inputCode",1,"text-muted"],["id","inputCode","pOSFormOrFloatingOnMasked","","label","Customer Code",3,"value","isMasked"],["type","text","matTooltipPosition","above","matTooltip","Input Customer Code","name","code","placeholder","Customer Code",1,"form-control","custom",3,"ngModelChange","ngModel","required","ngClass"],[3,"dynamicHeight"],["mat-tab-label",""],["matTabContent",""],["matTooltip","Click to Verified",1,"cursor-pointer","fa-solid","fa-badge"],["matTooltipPosition","above","matTooltip","Mobile Phone is Verified",1,"fa-solid","fa-badge-check","text-primary","cursor-pointer"],["matTooltip","Click to Verified",1,"cursor-pointer","fa-solid","fa-badge",3,"click"],["matTooltipPosition","above","matTooltip","Mobile Phone is Verified",1,"fa-solid","fa-badge-check","text-primary","cursor-pointer",3,"click"],["matTooltipPosition","above","matTooltip","Email is Verified",1,"fa-solid","fa-badge-check","text-primary","cursor-pointer"],["matTooltipPosition","above","matTooltip","Email is Verified",1,"fa-solid","fa-badge-check","text-primary","cursor-pointer",3,"click"],[1,"d-flex","align-items-center","gap-3"],[1,"fa-regular","fa-user"],[1,"row","py-8"],[1,"col-3"],[1,"d-flex"],[3,"formChange","form","options","maskingFields","isStateEdit","maskingFieldMsg","config"],[1,"fa-regular","fa-tag"],[1,"py-8"],[3,"formChange","maskingFields","options","form","isStateEdit"],[1,"fa-regular","fa-address-book"],[3,"newAddressEvent","formChange","form","options","config"],[1,"fa-address-book","fas"],[3,"formChange","maskingFields","form","options","data","isStateEdit","onSubmitted","requiredFields"],[1,"fa-regular","fa-file-lines"],[3,"formChange","form"],[1,"fa-regular","fa-building"],[3,"formChange","form","options"]],template:function(t,i){t&1&&v(0,Vi,112,72,"mainpanel-cmp",7),t&2&&M(i.formData!=null&&i.formData.Contact&&i.data?0:-1)},dependencies:[Xe,Je,V,E,Ye,Y,I,Ke,pt,ct,N,mt,$e,Qe,F,ye,ge,nt,ot,tt,it,St,ve,Se,xe,we,De,Mt,et,ft,ut,be],styles:['.container-fluid[_ngcontent-%COMP%]{background:#f7f7f8} .mat-mdc-tab-body-content{overflow:visible!important} .mat-mdc-tab-body-wrapper{overflow:visible!important}.ng-dropdown-panel[_ngcontent-%COMP%]{z-index:1100!important}[_nghost-%COMP%] .uppy-Dashboard-inner{width:100%!important;min-height:100px} mat-tab-group mat-tab-header{border-bottom:1px solid #e0e0e0}.form-control.custom[_ngcontent-%COMP%]{border-radius:10px;padding:10px 12px;margin-top:6px}.form-control.custom.has-suffix[_ngcontent-%COMP%]{padding-right:44px}.position-relative[_ngcontent-%COMP%] .invalid-feedback[_ngcontent-%COMP%]{margin-top:6px;position:relative;z-index:0}.required[_ngcontent-%COMP%]:after{content:"*";color:red}']})};export{Pt as CustomerFormV2Component};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as Zn}from"./chunk-OHXE7ZFR.js";import{a as Gn,b as eo}from"./chunk-MO3I3UN4.js";import{a as oi}from"./chunk-EN6G7BIZ.js";import{a as qn,b as Kn,c as zn,d as Yn,e as Xn,f as Le}from"./chunk-N5YM7GOQ.js";import{a as Vi}from"./chunk-HG6BX2P4.js";import{a as Hn}from"./chunk-WAVJH633.js";import"./chunk-CGCAJ5NI.js";import{a as ei}from"./chunk-X2VIYHVK.js";import"./chunk-RM6PV7SW.js";import{a as Jn}from"./chunk-QDX6JWQ3.js";import"./chunk-GOFSFUJR.js";import"./chunk-O3Z4ONTM.js";import"./chunk-P3KIIKY4.js";import{a as ki}from"./chunk-V46FIBS7.js";import{a as ti}from"./chunk-2PUTNW54.js";import{a as kt}from"./chunk-4VGCD2S7.js";import{b as jn,c as Ln}from"./chunk-XHUOLLEO.js";import"./chunk-O55DD6CT.js";import"./chunk-JCFGTTRU.js";import{a as ni}from"./chunk-FZZZG6IR.js";import"./chunk-NQX7EX5A.js";import{a as $n,b as Bn}from"./chunk-KIH7ZE6M.js";import"./chunk-P4RM3EZM.js";import{b as Vn}from"./chunk-HNS7KWHX.js";import{a as Un,b as Qn,c as Wn}from"./chunk-OKL7T7RK.js";import{a as Yt}from"./chunk-CZWUCHB4.js";import"./chunk-SPWUI2AJ.js";import{a as ii}from"./chunk-WKRSM6FL.js";import{a as Rn}from"./chunk-4WL57CXW.js";import"./chunk-BYXBJQAS.js";import"./chunk-BYXBJQAS.js";import"./chunk-MTMTZLMY.js";import{b as kn}from"./chunk-UOCGL3EW.js";import"./chunk-DIAV4K3S.js";import"./chunk-2JPZMGCJ.js";import"./chunk-5GHN24QS.js";import{e as Ot}from"./chunk-EMLV5DDD.js";import"./chunk-JEJGTRFJ.js";import{d as An}from"./chunk-6C7NKVRP.js";import"./chunk-6TWTQLKB.js";import"./chunk-SASYAFMF.js";import"./chunk-QP7B4347.js";import"./chunk-STYLBZL4.js";import"./chunk-XLS7AM5H.js";import"./chunk-U7XVI26F.js";import{a as Zt}from"./chunk-PHNI4ZJ6.js";import"./chunk-B3U3BHLU.js";import"./chunk-RHZ4SE3E.js";import"./chunk-Z3I6U6KT.js";import{a as _n,b as Dn,c as xn}from"./chunk-HB5JT7XV.js";import"./chunk-35ECO23I.js";import"./chunk-G2UNSH3R.js";import"./chunk-QGI3QC76.js";import"./chunk-JBO3R4W5.js";import{a as dt}from"./chunk-VIKIXIX5.js";import"./chunk-SFKCZ7DL.js";import"./chunk-PPNXP25T.js";import"./chunk-MHPH7T32.js";import"./chunk-UNAPWUZC.js";import{a as Sn,c as Mn,e as In,g as Pn}from"./chunk-IFLLAVLK.js";import{a as On}from"./chunk-A3HVDWQA.js";import{a as Tn}from"./chunk-4VMU55T7.js";import"./chunk-3GZUX2TV.js";import{a as hn}from"./chunk-LWCDPG6P.js";import{f as Fn}from"./chunk-4TOQ7EGN.js";import"./chunk-3TFWTYY2.js";import{k as vn,o as wn,q as Nn,r as En}from"./chunk-52KMSRYQ.js";import"./chunk-STIMAG44.js";import"./chunk-EKGQU5OA.js";import"./chunk-IOBYB6AV.js";import{a as tt,b as it}from"./chunk-JFS6EFNT.js";import"./chunk-YNQPX5G6.js";import{P as je}from"./chunk-FAZ7G5H6.js";import{a as pn,b as un,c as fn}from"./chunk-QYSFCWV7.js";import{d as Tt}from"./chunk-ZRBKLF75.js";import"./chunk-VBXYBASD.js";import{a as Pe,b as Ae,c as ie,h as Xt}from"./chunk-CPHICIOL.js";import{a as Y,b as Ai}from"./chunk-GCPQTFRO.js";import"./chunk-NFVNHSX5.js";import"./chunk-Z6KYVNJQ.js";import"./chunk-4NWLXS6M.js";import"./chunk-OEFF3O4P.js";import{a as ye,b as Me,c as Ie}from"./chunk-N4STXFCX.js";import"./chunk-ZLJTB3SO.js";import"./chunk-OG6UIE5Q.js";import"./chunk-LYYPWLC4.js";import"./chunk-4CLMG36L.js";import{D as yn,E as Fe,F as et,a as Xe,b as gn,c as Se,h as se,l as ue,o as Ee,r as Cn,s as Ze}from"./chunk-DHBFOXIN.js";import{a as bn}from"./chunk-3CQB5DRP.js";import"./chunk-VFWU5XQ6.js";import{b as fe}from"./chunk-HQQZZQUW.js";import{a as M}from"./chunk-3DEA4WWC.js";import{a as mn}from"./chunk-XYGVXFMF.js";import{n as Be,q as ce}from"./chunk-2WBWJI4D.js";import{Bb as v,Bc as $e,Cb as tn,Cc as Wt,Db as _,Dc as ae,E as lt,Eb as nn,Ec as Pt,F as A,Fa as ve,Fb as Ve,Gb as we,Ha as zi,Hb as Ne,I as Ji,Ib as y,J as he,Jb as r,Jd as cn,Kb as a,Kc as u,La as Ei,Lb as I,Lc as C,Mb as Ct,Mc as ct,N as Hi,Nb as yt,O as gt,Ob as on,Pb as Bt,Qb as jt,Qc as Jt,R as Gi,Rb as an,Rd as dn,Sa as $t,Tc as Ht,Td as qt,U as qi,Ua as st,Ub as U,Ud as Kt,Wd as zt,X as Ft,Xb as D,Ya as Yi,Yb as Lt,Z as oe,Za as l,Zb as m,Zc as Gt,aa as ze,ba as z,bc as vt,cc as _t,d as _e,da as Ki,db as Xi,dc as Dt,e as ot,eb as f,f as Li,fc as Ut,ga as E,gb as Zi,gc as Qt,hc as xt,ia as pe,ib as k,jc as St,k as ke,lc as rn,mc as d,md as Ye,n as Ui,na as re,nb as en,nc as ee,o as qe,ob as At,oc as V,p as Qi,pc as Re,qa as W,r as Wi,ra as J,rc as H,rd as ln,sc as Q,sd as xe,tc as G,u as p,uc as at,ud as sn,v as De,va as P,vc as Mt,w as Ni,wa as O,wc as It,wd as Ce,xc as Fi,z as ft,zd as te}from"./chunk-2ERDZXCS.js";import"./chunk-WFMAM73Y.js";import{a as T,b as j,e as ji,k as ne}from"./chunk-SNAKHGZS.js";var q=class n{constructor(t,e){this.http=e;this.buyForm=t.group({NewOrderID:[""],Order:t.group({Att:[""],SupplierID:[""],Number:[""],Date:[new Date],ID:[M.GuidEmpty]}),Invoice:t.group({ID:[M.GuidEmpty],Due:[new Date],Tax:[0]}),Payment:t.group({ID:[M.GuidEmpty],Amount:[0],MethodID:[0],Code:[""],Note:[""],ImageUrl:[""]})})}outlet=new ue({ID:"",Name:"Choose an Outlet"});dueDays=new ue(0);deliveryEntityID=new ue(M.GuidEmpty);noteForm=new ue({Note:"",TagID:"",Currency:{ID:"",ExchangeRate:0,Symbol:""},InvoiceNumber:""});discountAndTaxForm=new ue({Discount:{Amount:0,Percentage:0},Tax:{ID:"",CalculationTypeName:"",Rate:0,Label:"",Discontinue:!1}});buyForm;setPONumber(t){let e="";if(t.Seed){let i=t.Seed+"";for(;i.length<t.Digit;)i="0"+i;e=M.StringFormat(t.Prefix,i)}this.buyForm.controls.Order.controls.Number.setValue(e)}setDueDateBasedOnDaysDue(t){console.log(t);let e=this.invoiceDate,i=new Date(M.cloneObject(e));i.setDate(i.getDate()+t),this.buyForm.controls.Invoice.controls.Due.setValue(i)}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(j(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(M.GuidEmpty)}resetNoteForm(){this.noteForm.setValue(j(T({},this.noteForm.value),{Note:"",TagID:"",InvoiceNumber:""}))}resetDiscountAndTaxForm(){let t=this.discountAndTaxForm.value;this.discountAndTaxForm.setValue(j(T({},t),{Discount:{Amount:0,Percentage:0}}))}resetBuyForm(){this.buyForm.reset(),this.buyForm.controls.Invoice.controls.ID.setValue(M.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(M.GuidEmpty),this.generateNumberOnNewTransaction()}generateNumberOnNewTransaction(){this.http.post("/API/Buy/GenerateNumber",{ID:this.outlet.value.ID}).subscribe(t=>{this.setNewOrderID(M.Guid_NewGuid()),this.buyForm.controls.Order.controls.Number.setValue(t.Number)})}static \u0275fac=function(e){return new(e||n)(W(yn),W(ce))};static \u0275prov=re({token:n,factory:n.\u0275fac,providedIn:"root"})};var de=class n{entities$;appConfigJSON$;taxes$;currencies$;supplierPOTypes$;predefinedNotes$;denomination$;defaultDueDays$;constructor(t,e){let i=t.get("/API/Buy2/Load").pipe(E(o=>e.setCurrency(o.Currencies.find(s=>s.ID==o.AppConfigJSON.CoreDefaults.CurrencyID))),oe(1));this.denomination$=i.pipe(p(o=>o.Denomination)),this.entities$=i.pipe(p(o=>o.Entities)),this.appConfigJSON$=i.pipe(p(o=>o.AppConfigJSON)),this.taxes$=i.pipe(p(o=>o.Taxes),oe(1)),this.currencies$=i.pipe(p(o=>o.Currencies),oe(1)),this.supplierPOTypes$=i.pipe(p(o=>o.SupplierPOTypes)),this.predefinedNotes$=i.pipe(p(o=>o.PredefinedNotes)),this.defaultDueDays$=i.pipe(p(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||n)(W(ce),W(q))};static \u0275prov=re({token:n,factory:n.\u0275fac,providedIn:"root"})};var mt=class n extends Gn{connection;_Data=new Li(1);Data=this._Data.asObservable();httpService=J(ce);toastService=J(Be);_cache=new Map;previousCountByEpc={};_isConnected=new ot(!1);isConnected=this._isConnected.asObservable();_bufferTime=new ot(100);set bufferTime(t){this._bufferTime.next(t)}get bufferTime(){return this._bufferTime.getValue()}_baseUrl=ve("https://localhost:5001/rfidhub");baseUrl=Ht(()=>this._baseUrl());intializeWebSocket(t="/"){return ne(this,null,function*(){if(t.length<=0){this.toastService.error("RFID URL cannot be empty",ye.Error);return}if(!(this.connection&&this.connection.state===un.Connected)){this.connection=new fn().withUrl(t).configureLogging(pn.Information).withAutomaticReconnect().build();try{yield this.connection.start(),yield this.initiateGroupSubscription(),this.onWebSocketMessageReceived(),this._isConnected.next(!0),this.toastService.success("RFID Connected",ye.Success),this._baseUrl.set(t)}catch(e){throw this._isConnected.next(!1),this.toastService.error(JSON.stringify(e),ye.Error),this._baseUrl.set(null),new Error(JSON.stringify(e))}}})}disconnectWebSocket(){this.connection&&(this.connection.stop(),this.connection=void 0,this._isConnected.next(!1),this._baseUrl.set(null),this.toastService.info("RFID Disconnected",ye.Info))}initiateGroupSubscription(){return ne(this,null,function*(){try{yield this.connection.invoke("SubscribeGroup",{CurrentID:"Buy"})}catch(t){throw this.toastService.error(JSON.stringify(t),ye.Error),new Error(JSON.stringify(t))}})}onWebSocketMessageReceived(){this.connection.on("ReceiveSignal",t=>{this._Data.next(t)})}getVariantByCode(t,e=M.GuidEmpty){let i=[{key:"Code",value:t},{key:"EntityID",value:e}];return this.httpService.get(je.GetVariantByCode,i).pipe(he(o=>o instanceof cn?qe(null):Qi(()=>new Error(o.message))))}processGroupedData(t=M.GuidEmpty){return this._Data.pipe(A(e=>e!==null&&e&&Object.keys(e).length>0),Ji(this._bufferTime.getValue()),Ni(e=>Ui(e)),qi(e=>e.epc),Ni(e=>e.pipe(Ft((i,o)=>[...i,o],[]),z(i=>{let o=e.key;if(this._cache.has(o))return this._cache.get(o).pipe(p(s=>({epc:o,items:i,response:s})));{let s=this.getVariantByCode(o,t).pipe(A(N=>N),E(N=>this._cache.set(o,qe(N))));return this._cache.set(o,s),s.pipe(p(N=>({epc:o,items:i,response:N})))}}))),Ft((e,i)=>{let o=this.previousCountByEpc&&this.previousCountByEpc[i.epc]||0,s=i.items.length,N=s-o;return e[i.epc]={data:i.items,count:N,variant:i.response},this.previousCountByEpc[i.epc]=s,e},{}),oe({bufferSize:1,refCount:!0}))}constructor(){super(),this.connection&&(this.connection.onclose=t=>ne(this,null,function*(){console.error("SignalR connection closed:",t)}),this.connection.onreconnecting=t=>ne(this,null,function*(){console.warn("SignalR reconnecting:",t)}),this.connection.onreconnected=t=>ne(this,null,function*(){console.log("SignalR reconnected:",t)}))}static \u0275fac=function(e){return new(e||n)};static \u0275prov=re({token:n,factory:n.\u0275fac,providedIn:"root"})};var pt=class n{returnInvoiceNumber=new ue("");invoiceInfo$;constructor(t,e,i){let o=e.outlet.valueChanges.pipe(p(c=>c.ID),Y());this.invoiceInfo$=this.returnInvoiceNumber.valueChanges.pipe(A(c=>!!c),pe(o),z(([c,x])=>t.post("/API/Buy/GetSupplierInvoiceRetur2",{EntityID:x,Number:c}).pipe(he(()=>ke))),oe(1),Y());let s=this.invoiceInfo$.pipe(p(c=>T({},c.Order)),E(c=>{let x={Att:c.Att,SupplierID:{Key:c.SupplierID,Value:c.SupplierName,OnSet:!0},Date:new Date,Number:e.buyForm.controls.Order.controls.Number.value,ID:M.GuidEmpty};e.setBulkOrderForm(x)}),Y()),N=this.invoiceInfo$.pipe(p(c=>c.Order),pe(i.currencies$,i.appConfigJSON$),E(([c,x,$])=>{let Z=$.CoreDefaults.CurrencyID,b=x.find(R=>R.ID===Z)?.Symbol??"$",F={Note:`Return #${c.Number}`,TagID:c.TypeID,Currency:{ID:c.CurrencyID||Z,ExchangeRate:c.CurrencyRate,Symbol:c.CurrencySymbol||b},InvoiceNumber:c.Number};e.setBulkNoteForm(F)}),Y()),g=this.invoiceInfo$.pipe(p(c=>c.Order),pe(i.taxes$),p(([c,x])=>j(T({},c),{Tax:x.find($=>$.ID===c.TaxTypeID)})),E(c=>{let x={Discount:{Amount:c.DiscountAmount,Percentage:c.Discount},Tax:{ID:c.TaxTypeID,Rate:c.Tax?.Rate,CalculationTypeName:c.Tax?.CalculationTypeName,Label:c.Tax?.Label,Discontinue:!c.Tax?.Label}};e.setBulkDiscountAndTaxForm(x)}),Y()),w=this.invoiceInfo$.pipe(p(c=>c.DeliveryEntityID),E(c=>e.setDeliveryEntityID(c)),Y()),L=this.invoiceInfo$.pipe(p(c=>c.Invoice),E(c=>{let x={ID:c.ID,Tax:c.Tax};e.setBulkInvoice(x)}),Y()),S=this.invoiceInfo$.pipe(p(c=>c.Payment),E(c=>{let x={ID:M.GuidEmpty,Amount:c.Amount,MethodID:c.MethodID,Note:c.Note,Code:c.Code,ImageUrl:c.ImageUrl};e.setBulkPayment(x)}),Y());De(s,N,g,w,L,S).pipe(Y()).subscribe()}static \u0275fac=function(e){return new(e||n)(W(ce),W(q),W(de))};static \u0275prov=re({token:n,factory:n.\u0275fac,providedIn:"root"})};var X=class n{constructor(t,e,i,o){this.matDialog=o;let s=e.outlet.valueChanges.pipe(p(c=>c.ID));this.addVariantThroughSerial$=this._addVariantThroughSerial.asObservable().pipe(pe(s),z(([c,x])=>t.get(je.GetVariantBySerial,[{key:"Serial",value:c},{key:"EntityID",value:x}]).pipe(he(()=>ke))),p(c=>this.setUnitPrice(c)),p(c=>j(T({},c),{Quantity:1,Total:c.UnitPrice,VariantID:c.ID})),p(c=>({action:"addAsSerial",variant:c})));let N=this.variantAutocomplete.valueChanges.pipe(A(c=>M.IsNotEmpty(c)&&c.type=="Code"),p(c=>c.str),pe(s),A(([c,x])=>M.IsNotEmpty(x)),z(([c,x])=>t.get(je.GetVariantByCode,[{key:"Code",value:c},{key:"EntityID",value:x},{key:"Promotion",value:!0}]).pipe(he(()=>ke))),p(c=>this.setUnitPrice(c)),p(c=>j(T({},c),{Quantity:1,Total:c.UnitPrice*((100-c.PriceDiscount)/100),Discount:c.PriceDiscount,VariantID:c.ID}))),g=this.variantAutocomplete.valueChanges.pipe(A(c=>M.IsNotEmpty(c)&&c.type=="ID"),p(c=>c.str)),w=this.variantQuickKey.valueChanges,L=lt(g,w).pipe(pe(s),z(([c,x])=>t.get(je.GetVariantByID,[{key:"ID",value:c},{key:"EntityID",value:x}]).pipe(he(()=>ke))),p(c=>this.setUnitPrice(c)),p(c=>j(T({},c),{Quantity:1,Total:c.UnitPrice*((100-c.OrderPriceDiscount)/100),Discount:c.OrderPriceDiscount,VariantID:c.ID}))),S=lt(L,N).pipe(E(c=>{c.CategoryTypeID===1&&this.toastr.info(`${c.Name} is sellable only.`,ye.Info)}),A(c=>c.CategoryTypeID!==1),p(c=>({action:"add",variant:c})),E(()=>{this.cartDisplayRef&&setTimeout(()=>{let c=this.cartDisplayRef.nativeElement.scrollHeight;this.cartDisplayRef.nativeElement.scrollTop=c},1)})),B=i.invoiceInfo$.pipe(E(c=>{this.isReturn.set(c.IsReturn)}),p(c=>({action:"returnInvoice",variants:c.Items.map(x=>j(T({},x.Variant),{Quantity:x.Quantity,Total:x.Total,UnitPrice:x.UnitPrice,Discount:x.Discount,Serial:x.Serial,ID:x.ID,DiscountAmount:x.DiscountAmount,VariantID:x.VariantID,UnitQuantity:x.UnitQuantity}))})));this.cart$=lt(S,B,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(Ft((c,x)=>{let $=[...c],Z=[],h=x.action;if(h=="add"){let b=x.variant;Z=!!$.find(R=>R.VariantID==b.ID)?$.map(R=>R.VariantID==b.ID?j(T({},R),{Quantity:R.Quantity+1,Total:R.Total+R.UnitPrice}):R):[...$,b]}else if(h=="returnInvoice"||h=="onEditForm")Z=x.variants;else if(h=="delete"){let b=x.index;Z=$.filter((F,R)=>R!=b)}else if(h=="sort"){let b=x.ev;Z=$,Sn(Z,b.previousIndex,b.currentIndex)}else if(h=="returnCart")Z=$.map(b=>j(T({},b),{Quantity:-Math.abs(b.Quantity),Total:-Math.abs(b.Total)}));else if(h=="update"){let b=x.index;Z=$.map((F,R)=>R==b?x.variant:F)}else if(h=="returnVariant"){let b=x.index;Z=$.map((F,R)=>R==b?j(T({},F),{Quantity:-Math.abs(F.Quantity),Total:-Math.abs(F.Total)}):F)}else if(h=="purchaseVariant"){let b=x.index;Z=$.map((F,R)=>R==b?j(T({},F),{Quantity:Math.abs(F.Quantity),Total:Math.abs(F.Total)}):F)}else if(h=="clearCart")Z=[];else if(h=="addAsSerial"){let b=j(T({},x.variant),{Serial:[{Number:x.variant.Serial.Number,Quantity:1,ExpiryDate:x.variant.Serial.ExpiryDate}]});if(!!$.find(R=>R.ID==b.ID)){let R=b.Serial[0],me=$.find(ge=>ge.ID==b.ID),Ge=!!me.Serial.find(ge=>ge.Number==R.Number)?[...me.Serial].map(ge=>ge.Number==R.Number?j(T({},ge),{Quantity:ge.Quantity+1}):ge):[...me.Serial,R];Z=$.map(ge=>ge.ID==b.ID?j(T({},ge),{Quantity:ge.Quantity+1,Total:ge.Total+ge.UnitPrice,Serial:Ge}):ge)}else Z=[...$,j(T({},b),{Quantity:1,Total:b.UnitPrice})]}else if(h=="uploadCart")Z=[...$,...x.variants];else if(h=="addNewRow"){let b=x.variant;Z=[...$,b]}else if(h=="rfid"){let b=x.variants;Object.keys(b).forEach(F=>{if(b.hasOwnProperty(F)){let R=b[F];if(R&&Object.keys(R.variant).length>0){let me=$.findIndex(Oe=>Oe.Code.toLowerCase()===F.toLowerCase());if(me!==-1){let Oe=Number(R.count);$[me].Quantity+=Oe,$[me].Total=+$[me].UnitPrice*+$[me].Quantity,delete b[F],Z=[...$]}else{let Oe=R.variant,Ge=Number(R.count),ge=this.setUnitPrice(Oe),ao=this.formatItemObject(j(T({},ge),{Quantity:Ge,Total:+ge.UnitPrice*+Ge}));delete b[F],Z=[...$,ao]}}}})}return Z},[]),ze([]),oe(1)),this.totalVariantOrdered$=this.cart$.pipe(p(c=>c.map(x=>x.Quantity)),p(c=>c.reduce((x,$)=>x+$,0)),ze(0))}toastr=J(Be);roleService=J(fe);decimalPipe=J(Ce);cartDisplayRef;variantAutocomplete=new ue;variantQuickKey=new ue;priceMaximumRestrictionWarning=ve("");_listenRFID=new _e;listenRFID$=this._listenRFID.asObservable().pipe(p(t=>({action:"rfid",variants:t})));_deleteVariant=new _e;deleteVariant$=this._deleteVariant.asObservable().pipe(p(t=>({action:"delete",index:t})));_dragDropCart=new _e;dragDropCart$=this._dragDropCart.asObservable().pipe(p(t=>({action:"sort",ev:t})));_returnCart=new _e;returnCart$=this._returnCart.asObservable().pipe(p(()=>({action:"returnCart"})));_onEditForm=new ot(null);onEditForm$=this._onEditForm.asObservable().pipe(A(t=>!!t),p(t=>({action:"onEditForm",variants:t})));_clearCart=new _e;clearCart$=this._clearCart.asObservable().pipe(p(()=>({action:"clearCart"})));_updateVariant=new _e;updateVariant$=this._updateVariant.asObservable().pipe(p(t=>({action:"update",variant:t.variant,index:t.index})));_returnVariant=new _e;returnVariant$=this._returnVariant.asObservable().pipe(p(t=>({action:"returnVariant",index:t})));_purchaseVariant=new _e;purchaseVariant$=this._purchaseVariant.asObservable().pipe(p(t=>({action:"purchaseVariant",index:t})));_addVariant=new _e;addVariant$=this._addVariant.asObservable().pipe(p(t=>({action:"addNewRow",variant:t})));_onUploadCart=new _e;onUploadCart$=this._onUploadCart.asObservable().pipe(p(t=>({action:"uploadCart",variants:t})));cart$;totalVariantOrdered$;isReturn=ve(!1);_addVariantThroughSerial=new _e;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 M.IsNotEmpty(t.OrderPrice)?e.UnitPrice=t.OrderPrice:e.UnitPrice=t.UnitCost,e}formatItemObject=t=>{let o=t,{ID:e}=o,i=ji(o,["ID"]);return j(T({},i),{Quantity:i.Quantity??1,Total:i.Total??i.UnitPrice,VariantID:e})};addCartRFID(t){this._listenRFID.next(t)}validatePriceMaximum(t){let e=!0;if(this.roleService.buyRestriction.CostMax&&t.MaxOrderPrice>0)if(t.UnitPrice>t.MaxOrderPrice){e=!1;let o=M.StringFormat("<span><i class='fa-solid fa-triangle-exclamation me-2 d-inline'></i>Cannot buy more than <h5 class='d-inline m-0'>{0}</h5></span>",this.decimalPipe.transform(t.MaxOrderPrice));this.priceMaximumRestrictionWarning.set(o)}else e=!0,this.priceMaximumRestrictionWarning.set("");return e}static \u0275fac=function(e){return new(e||n)(W(ce),W(q),W(pt),W(ie))};static \u0275prov=re({token:n,factory:n.\u0275fac,providedIn:"root"})};var Qe=class n{_isEdit=new _e;isEdit$;id$;isUnpaid$;dialog=J(ie);constructor(t,e,i,o,s){let N=qe(t.snapshot.queryParams);this.isEdit$=lt(N.pipe(p(h=>!!h.ID)),this._isEdit.asObservable()).pipe(oe(1)),this.id$=N.pipe(A(h=>h.ID),p(h=>h.ID));let g=this.id$.pipe(z(h=>e.post("/api/Buy2/GetDataByID2",{ID:h})),oe(1)),w=ft(()=>o.entities$).pipe(z(h=>g.pipe(p(b=>[b.Order,h]))),E(([h,b])=>{let F={Att:h.Att,SupplierID:{Key:h.SupplierID,Value:h.SupplierName,OnSet:!0},Date:h.Date,Number:h.Number,ID:h.ID};i.setBulkOrderForm(F)}),E(([h,b])=>{let F=b.find(R=>R.ID==h.EntityID);i.setOutletForm(F)})),L=g.pipe(p(h=>h.Items),p(h=>h.map(b=>j(T({},b.Variant),{Quantity:b.Quantity,Total:b.Total,Note:b.Note,UnitPrice:b.UnitPrice,Discount:b.Discount,Serial:b.Serial,ID:b.ID,VariantID:b.VariantID,UnitQuantity:b.UnitQuantity,QtyRequested:b.QtyRequested,DiscountAmount:b.DiscountAmount}))),E(h=>s.editForm(h))),S=ft(()=>o.currencies$).pipe(z(h=>g.pipe(p(b=>[b.Order,h,b.Invoice]))),p(([h,b,F])=>j(T({},h),{Number:h.Number!=F.Number?F.Number:h.Number,Currency:b.find(R=>R.ID===h.CurrencyID)})),E(h=>{let b={Note:h.Note,TagID:h.TypeID,Currency:T({},h.Currency),InvoiceNumber:h.Number};i.setBulkNoteForm(b)})),B=g.pipe(p(h=>h.DeliveryEntityID),E(h=>i.setDeliveryEntityID(h))),c=ft(()=>o.taxes$).pipe(z(h=>g.pipe(p(b=>[b.Order,h]))),p(([h,b])=>j(T({},h),{Taxes:b})),E(h=>{let b=h.Taxes.find(R=>R.ID===h.TaxTypeID);b?.Bin&&this.dialog.open(ti,{id:"ModalInfo",data:{title:"Default Tax Discontinued",message:`
|
|
1
|
+
import{a as Zn}from"./chunk-OHXE7ZFR.js";import{a as Gn,b as eo}from"./chunk-MO3I3UN4.js";import{a as oi}from"./chunk-EN6G7BIZ.js";import{a as qn,b as Kn,c as zn,d as Yn,e as Xn,f as Le}from"./chunk-N5YM7GOQ.js";import{a as Vi}from"./chunk-HG6BX2P4.js";import{a as Hn}from"./chunk-WAVJH633.js";import"./chunk-CGCAJ5NI.js";import{a as ei}from"./chunk-X2VIYHVK.js";import"./chunk-RM6PV7SW.js";import{a as Jn}from"./chunk-QDX6JWQ3.js";import"./chunk-GOFSFUJR.js";import"./chunk-O3Z4ONTM.js";import"./chunk-P3KIIKY4.js";import{a as ki}from"./chunk-V46FIBS7.js";import{a as ti}from"./chunk-2PUTNW54.js";import{a as kt}from"./chunk-4VGCD2S7.js";import{b as jn,c as Ln}from"./chunk-XHUOLLEO.js";import"./chunk-O55DD6CT.js";import"./chunk-JCFGTTRU.js";import{a as ni}from"./chunk-FZZZG6IR.js";import"./chunk-NQX7EX5A.js";import{a as $n,b as Bn}from"./chunk-KIH7ZE6M.js";import"./chunk-P4RM3EZM.js";import{b as Vn}from"./chunk-HNS7KWHX.js";import{a as Un,b as Qn,c as Wn}from"./chunk-OKL7T7RK.js";import{a as Yt}from"./chunk-CZWUCHB4.js";import"./chunk-SPWUI2AJ.js";import{a as ii}from"./chunk-WKRSM6FL.js";import{a as Rn}from"./chunk-4WL57CXW.js";import"./chunk-BYXBJQAS.js";import"./chunk-BYXBJQAS.js";import"./chunk-MTMTZLMY.js";import{b as kn}from"./chunk-UOCGL3EW.js";import"./chunk-DIAV4K3S.js";import"./chunk-2JPZMGCJ.js";import"./chunk-5GHN24QS.js";import{e as Ot}from"./chunk-EMLV5DDD.js";import"./chunk-JEJGTRFJ.js";import{d as An}from"./chunk-6C7NKVRP.js";import"./chunk-6TWTQLKB.js";import"./chunk-SASYAFMF.js";import"./chunk-QP7B4347.js";import"./chunk-STYLBZL4.js";import"./chunk-XLS7AM5H.js";import"./chunk-U7XVI26F.js";import{a as Zt}from"./chunk-PHNI4ZJ6.js";import"./chunk-B3U3BHLU.js";import"./chunk-RHZ4SE3E.js";import"./chunk-Z3I6U6KT.js";import{a as _n,b as Dn,c as xn}from"./chunk-HB5JT7XV.js";import"./chunk-35ECO23I.js";import"./chunk-G2UNSH3R.js";import"./chunk-QGI3QC76.js";import"./chunk-JBO3R4W5.js";import{a as dt}from"./chunk-VIKIXIX5.js";import"./chunk-SFKCZ7DL.js";import"./chunk-PPNXP25T.js";import"./chunk-MHPH7T32.js";import"./chunk-UNAPWUZC.js";import{a as Sn,c as Mn,e as In,g as Pn}from"./chunk-IFLLAVLK.js";import{a as On}from"./chunk-A3HVDWQA.js";import{a as Tn}from"./chunk-6TW4HZT2.js";import"./chunk-3GZUX2TV.js";import{a as hn}from"./chunk-LWCDPG6P.js";import{f as Fn}from"./chunk-4TOQ7EGN.js";import"./chunk-3TFWTYY2.js";import{k as vn,o as wn,q as Nn,r as En}from"./chunk-52KMSRYQ.js";import"./chunk-STIMAG44.js";import"./chunk-EKGQU5OA.js";import"./chunk-IOBYB6AV.js";import{a as tt,b as it}from"./chunk-JFS6EFNT.js";import"./chunk-YNQPX5G6.js";import{P as je}from"./chunk-FAZ7G5H6.js";import{a as pn,b as un,c as fn}from"./chunk-QYSFCWV7.js";import{d as Tt}from"./chunk-ZRBKLF75.js";import"./chunk-VBXYBASD.js";import{a as Pe,b as Ae,c as ie,h as Xt}from"./chunk-CPHICIOL.js";import{a as Y,b as Ai}from"./chunk-GCPQTFRO.js";import"./chunk-NFVNHSX5.js";import"./chunk-Z6KYVNJQ.js";import"./chunk-4NWLXS6M.js";import"./chunk-OEFF3O4P.js";import{a as ye,b as Me,c as Ie}from"./chunk-N4STXFCX.js";import"./chunk-ZLJTB3SO.js";import"./chunk-OG6UIE5Q.js";import"./chunk-LYYPWLC4.js";import"./chunk-4CLMG36L.js";import{D as yn,E as Fe,F as et,a as Xe,b as gn,c as Se,h as se,l as ue,o as Ee,r as Cn,s as Ze}from"./chunk-DHBFOXIN.js";import{a as bn}from"./chunk-LVP6JNUV.js";import"./chunk-VFWU5XQ6.js";import{b as fe}from"./chunk-HQQZZQUW.js";import{a as M}from"./chunk-3DEA4WWC.js";import{a as mn}from"./chunk-VX3Y6JNK.js";import{n as Be,q as ce}from"./chunk-2WBWJI4D.js";import{Bb as v,Bc as $e,Cb as tn,Cc as Wt,Db as _,Dc as ae,E as lt,Eb as nn,Ec as Pt,F as A,Fa as ve,Fb as Ve,Gb as we,Ha as zi,Hb as Ne,I as Ji,Ib as y,J as he,Jb as r,Jd as cn,Kb as a,Kc as u,La as Ei,Lb as I,Lc as C,Mb as Ct,Mc as ct,N as Hi,Nb as yt,O as gt,Ob as on,Pb as Bt,Qb as jt,Qc as Jt,R as Gi,Rb as an,Rd as dn,Sa as $t,Tc as Ht,Td as qt,U as qi,Ua as st,Ub as U,Ud as Kt,Wd as zt,X as Ft,Xb as D,Ya as Yi,Yb as Lt,Z as oe,Za as l,Zb as m,Zc as Gt,aa as ze,ba as z,bc as vt,cc as _t,d as _e,da as Ki,db as Xi,dc as Dt,e as ot,eb as f,f as Li,fc as Ut,ga as E,gb as Zi,gc as Qt,hc as xt,ia as pe,ib as k,jc as St,k as ke,lc as rn,mc as d,md as Ye,n as Ui,na as re,nb as en,nc as ee,o as qe,ob as At,oc as V,p as Qi,pc as Re,qa as W,r as Wi,ra as J,rc as H,rd as ln,sc as Q,sd as xe,tc as G,u as p,uc as at,ud as sn,v as De,va as P,vc as Mt,w as Ni,wa as O,wc as It,wd as Ce,xc as Fi,z as ft,zd as te}from"./chunk-2ERDZXCS.js";import"./chunk-WFMAM73Y.js";import{a as T,b as j,e as ji,k as ne}from"./chunk-SNAKHGZS.js";var q=class n{constructor(t,e){this.http=e;this.buyForm=t.group({NewOrderID:[""],Order:t.group({Att:[""],SupplierID:[""],Number:[""],Date:[new Date],ID:[M.GuidEmpty]}),Invoice:t.group({ID:[M.GuidEmpty],Due:[new Date],Tax:[0]}),Payment:t.group({ID:[M.GuidEmpty],Amount:[0],MethodID:[0],Code:[""],Note:[""],ImageUrl:[""]})})}outlet=new ue({ID:"",Name:"Choose an Outlet"});dueDays=new ue(0);deliveryEntityID=new ue(M.GuidEmpty);noteForm=new ue({Note:"",TagID:"",Currency:{ID:"",ExchangeRate:0,Symbol:""},InvoiceNumber:""});discountAndTaxForm=new ue({Discount:{Amount:0,Percentage:0},Tax:{ID:"",CalculationTypeName:"",Rate:0,Label:"",Discontinue:!1}});buyForm;setPONumber(t){let e="";if(t.Seed){let i=t.Seed+"";for(;i.length<t.Digit;)i="0"+i;e=M.StringFormat(t.Prefix,i)}this.buyForm.controls.Order.controls.Number.setValue(e)}setDueDateBasedOnDaysDue(t){console.log(t);let e=this.invoiceDate,i=new Date(M.cloneObject(e));i.setDate(i.getDate()+t),this.buyForm.controls.Invoice.controls.Due.setValue(i)}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(j(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(M.GuidEmpty)}resetNoteForm(){this.noteForm.setValue(j(T({},this.noteForm.value),{Note:"",TagID:"",InvoiceNumber:""}))}resetDiscountAndTaxForm(){let t=this.discountAndTaxForm.value;this.discountAndTaxForm.setValue(j(T({},t),{Discount:{Amount:0,Percentage:0}}))}resetBuyForm(){this.buyForm.reset(),this.buyForm.controls.Invoice.controls.ID.setValue(M.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(M.GuidEmpty),this.generateNumberOnNewTransaction()}generateNumberOnNewTransaction(){this.http.post("/API/Buy/GenerateNumber",{ID:this.outlet.value.ID}).subscribe(t=>{this.setNewOrderID(M.Guid_NewGuid()),this.buyForm.controls.Order.controls.Number.setValue(t.Number)})}static \u0275fac=function(e){return new(e||n)(W(yn),W(ce))};static \u0275prov=re({token:n,factory:n.\u0275fac,providedIn:"root"})};var de=class n{entities$;appConfigJSON$;taxes$;currencies$;supplierPOTypes$;predefinedNotes$;denomination$;defaultDueDays$;constructor(t,e){let i=t.get("/API/Buy2/Load").pipe(E(o=>e.setCurrency(o.Currencies.find(s=>s.ID==o.AppConfigJSON.CoreDefaults.CurrencyID))),oe(1));this.denomination$=i.pipe(p(o=>o.Denomination)),this.entities$=i.pipe(p(o=>o.Entities)),this.appConfigJSON$=i.pipe(p(o=>o.AppConfigJSON)),this.taxes$=i.pipe(p(o=>o.Taxes),oe(1)),this.currencies$=i.pipe(p(o=>o.Currencies),oe(1)),this.supplierPOTypes$=i.pipe(p(o=>o.SupplierPOTypes)),this.predefinedNotes$=i.pipe(p(o=>o.PredefinedNotes)),this.defaultDueDays$=i.pipe(p(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||n)(W(ce),W(q))};static \u0275prov=re({token:n,factory:n.\u0275fac,providedIn:"root"})};var mt=class n extends Gn{connection;_Data=new Li(1);Data=this._Data.asObservable();httpService=J(ce);toastService=J(Be);_cache=new Map;previousCountByEpc={};_isConnected=new ot(!1);isConnected=this._isConnected.asObservable();_bufferTime=new ot(100);set bufferTime(t){this._bufferTime.next(t)}get bufferTime(){return this._bufferTime.getValue()}_baseUrl=ve("https://localhost:5001/rfidhub");baseUrl=Ht(()=>this._baseUrl());intializeWebSocket(t="/"){return ne(this,null,function*(){if(t.length<=0){this.toastService.error("RFID URL cannot be empty",ye.Error);return}if(!(this.connection&&this.connection.state===un.Connected)){this.connection=new fn().withUrl(t).configureLogging(pn.Information).withAutomaticReconnect().build();try{yield this.connection.start(),yield this.initiateGroupSubscription(),this.onWebSocketMessageReceived(),this._isConnected.next(!0),this.toastService.success("RFID Connected",ye.Success),this._baseUrl.set(t)}catch(e){throw this._isConnected.next(!1),this.toastService.error(JSON.stringify(e),ye.Error),this._baseUrl.set(null),new Error(JSON.stringify(e))}}})}disconnectWebSocket(){this.connection&&(this.connection.stop(),this.connection=void 0,this._isConnected.next(!1),this._baseUrl.set(null),this.toastService.info("RFID Disconnected",ye.Info))}initiateGroupSubscription(){return ne(this,null,function*(){try{yield this.connection.invoke("SubscribeGroup",{CurrentID:"Buy"})}catch(t){throw this.toastService.error(JSON.stringify(t),ye.Error),new Error(JSON.stringify(t))}})}onWebSocketMessageReceived(){this.connection.on("ReceiveSignal",t=>{this._Data.next(t)})}getVariantByCode(t,e=M.GuidEmpty){let i=[{key:"Code",value:t},{key:"EntityID",value:e}];return this.httpService.get(je.GetVariantByCode,i).pipe(he(o=>o instanceof cn?qe(null):Qi(()=>new Error(o.message))))}processGroupedData(t=M.GuidEmpty){return this._Data.pipe(A(e=>e!==null&&e&&Object.keys(e).length>0),Ji(this._bufferTime.getValue()),Ni(e=>Ui(e)),qi(e=>e.epc),Ni(e=>e.pipe(Ft((i,o)=>[...i,o],[]),z(i=>{let o=e.key;if(this._cache.has(o))return this._cache.get(o).pipe(p(s=>({epc:o,items:i,response:s})));{let s=this.getVariantByCode(o,t).pipe(A(N=>N),E(N=>this._cache.set(o,qe(N))));return this._cache.set(o,s),s.pipe(p(N=>({epc:o,items:i,response:N})))}}))),Ft((e,i)=>{let o=this.previousCountByEpc&&this.previousCountByEpc[i.epc]||0,s=i.items.length,N=s-o;return e[i.epc]={data:i.items,count:N,variant:i.response},this.previousCountByEpc[i.epc]=s,e},{}),oe({bufferSize:1,refCount:!0}))}constructor(){super(),this.connection&&(this.connection.onclose=t=>ne(this,null,function*(){console.error("SignalR connection closed:",t)}),this.connection.onreconnecting=t=>ne(this,null,function*(){console.warn("SignalR reconnecting:",t)}),this.connection.onreconnected=t=>ne(this,null,function*(){console.log("SignalR reconnected:",t)}))}static \u0275fac=function(e){return new(e||n)};static \u0275prov=re({token:n,factory:n.\u0275fac,providedIn:"root"})};var pt=class n{returnInvoiceNumber=new ue("");invoiceInfo$;constructor(t,e,i){let o=e.outlet.valueChanges.pipe(p(c=>c.ID),Y());this.invoiceInfo$=this.returnInvoiceNumber.valueChanges.pipe(A(c=>!!c),pe(o),z(([c,x])=>t.post("/API/Buy/GetSupplierInvoiceRetur2",{EntityID:x,Number:c}).pipe(he(()=>ke))),oe(1),Y());let s=this.invoiceInfo$.pipe(p(c=>T({},c.Order)),E(c=>{let x={Att:c.Att,SupplierID:{Key:c.SupplierID,Value:c.SupplierName,OnSet:!0},Date:new Date,Number:e.buyForm.controls.Order.controls.Number.value,ID:M.GuidEmpty};e.setBulkOrderForm(x)}),Y()),N=this.invoiceInfo$.pipe(p(c=>c.Order),pe(i.currencies$,i.appConfigJSON$),E(([c,x,$])=>{let Z=$.CoreDefaults.CurrencyID,b=x.find(R=>R.ID===Z)?.Symbol??"$",F={Note:`Return #${c.Number}`,TagID:c.TypeID,Currency:{ID:c.CurrencyID||Z,ExchangeRate:c.CurrencyRate,Symbol:c.CurrencySymbol||b},InvoiceNumber:c.Number};e.setBulkNoteForm(F)}),Y()),g=this.invoiceInfo$.pipe(p(c=>c.Order),pe(i.taxes$),p(([c,x])=>j(T({},c),{Tax:x.find($=>$.ID===c.TaxTypeID)})),E(c=>{let x={Discount:{Amount:c.DiscountAmount,Percentage:c.Discount},Tax:{ID:c.TaxTypeID,Rate:c.Tax?.Rate,CalculationTypeName:c.Tax?.CalculationTypeName,Label:c.Tax?.Label,Discontinue:!c.Tax?.Label}};e.setBulkDiscountAndTaxForm(x)}),Y()),w=this.invoiceInfo$.pipe(p(c=>c.DeliveryEntityID),E(c=>e.setDeliveryEntityID(c)),Y()),L=this.invoiceInfo$.pipe(p(c=>c.Invoice),E(c=>{let x={ID:c.ID,Tax:c.Tax};e.setBulkInvoice(x)}),Y()),S=this.invoiceInfo$.pipe(p(c=>c.Payment),E(c=>{let x={ID:M.GuidEmpty,Amount:c.Amount,MethodID:c.MethodID,Note:c.Note,Code:c.Code,ImageUrl:c.ImageUrl};e.setBulkPayment(x)}),Y());De(s,N,g,w,L,S).pipe(Y()).subscribe()}static \u0275fac=function(e){return new(e||n)(W(ce),W(q),W(de))};static \u0275prov=re({token:n,factory:n.\u0275fac,providedIn:"root"})};var X=class n{constructor(t,e,i,o){this.matDialog=o;let s=e.outlet.valueChanges.pipe(p(c=>c.ID));this.addVariantThroughSerial$=this._addVariantThroughSerial.asObservable().pipe(pe(s),z(([c,x])=>t.get(je.GetVariantBySerial,[{key:"Serial",value:c},{key:"EntityID",value:x}]).pipe(he(()=>ke))),p(c=>this.setUnitPrice(c)),p(c=>j(T({},c),{Quantity:1,Total:c.UnitPrice,VariantID:c.ID})),p(c=>({action:"addAsSerial",variant:c})));let N=this.variantAutocomplete.valueChanges.pipe(A(c=>M.IsNotEmpty(c)&&c.type=="Code"),p(c=>c.str),pe(s),A(([c,x])=>M.IsNotEmpty(x)),z(([c,x])=>t.get(je.GetVariantByCode,[{key:"Code",value:c},{key:"EntityID",value:x},{key:"Promotion",value:!0}]).pipe(he(()=>ke))),p(c=>this.setUnitPrice(c)),p(c=>j(T({},c),{Quantity:1,Total:c.UnitPrice*((100-c.PriceDiscount)/100),Discount:c.PriceDiscount,VariantID:c.ID}))),g=this.variantAutocomplete.valueChanges.pipe(A(c=>M.IsNotEmpty(c)&&c.type=="ID"),p(c=>c.str)),w=this.variantQuickKey.valueChanges,L=lt(g,w).pipe(pe(s),z(([c,x])=>t.get(je.GetVariantByID,[{key:"ID",value:c},{key:"EntityID",value:x}]).pipe(he(()=>ke))),p(c=>this.setUnitPrice(c)),p(c=>j(T({},c),{Quantity:1,Total:c.UnitPrice*((100-c.OrderPriceDiscount)/100),Discount:c.OrderPriceDiscount,VariantID:c.ID}))),S=lt(L,N).pipe(E(c=>{c.CategoryTypeID===1&&this.toastr.info(`${c.Name} is sellable only.`,ye.Info)}),A(c=>c.CategoryTypeID!==1),p(c=>({action:"add",variant:c})),E(()=>{this.cartDisplayRef&&setTimeout(()=>{let c=this.cartDisplayRef.nativeElement.scrollHeight;this.cartDisplayRef.nativeElement.scrollTop=c},1)})),B=i.invoiceInfo$.pipe(E(c=>{this.isReturn.set(c.IsReturn)}),p(c=>({action:"returnInvoice",variants:c.Items.map(x=>j(T({},x.Variant),{Quantity:x.Quantity,Total:x.Total,UnitPrice:x.UnitPrice,Discount:x.Discount,Serial:x.Serial,ID:x.ID,DiscountAmount:x.DiscountAmount,VariantID:x.VariantID,UnitQuantity:x.UnitQuantity}))})));this.cart$=lt(S,B,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(Ft((c,x)=>{let $=[...c],Z=[],h=x.action;if(h=="add"){let b=x.variant;Z=!!$.find(R=>R.VariantID==b.ID)?$.map(R=>R.VariantID==b.ID?j(T({},R),{Quantity:R.Quantity+1,Total:R.Total+R.UnitPrice}):R):[...$,b]}else if(h=="returnInvoice"||h=="onEditForm")Z=x.variants;else if(h=="delete"){let b=x.index;Z=$.filter((F,R)=>R!=b)}else if(h=="sort"){let b=x.ev;Z=$,Sn(Z,b.previousIndex,b.currentIndex)}else if(h=="returnCart")Z=$.map(b=>j(T({},b),{Quantity:-Math.abs(b.Quantity),Total:-Math.abs(b.Total)}));else if(h=="update"){let b=x.index;Z=$.map((F,R)=>R==b?x.variant:F)}else if(h=="returnVariant"){let b=x.index;Z=$.map((F,R)=>R==b?j(T({},F),{Quantity:-Math.abs(F.Quantity),Total:-Math.abs(F.Total)}):F)}else if(h=="purchaseVariant"){let b=x.index;Z=$.map((F,R)=>R==b?j(T({},F),{Quantity:Math.abs(F.Quantity),Total:Math.abs(F.Total)}):F)}else if(h=="clearCart")Z=[];else if(h=="addAsSerial"){let b=j(T({},x.variant),{Serial:[{Number:x.variant.Serial.Number,Quantity:1,ExpiryDate:x.variant.Serial.ExpiryDate}]});if(!!$.find(R=>R.ID==b.ID)){let R=b.Serial[0],me=$.find(ge=>ge.ID==b.ID),Ge=!!me.Serial.find(ge=>ge.Number==R.Number)?[...me.Serial].map(ge=>ge.Number==R.Number?j(T({},ge),{Quantity:ge.Quantity+1}):ge):[...me.Serial,R];Z=$.map(ge=>ge.ID==b.ID?j(T({},ge),{Quantity:ge.Quantity+1,Total:ge.Total+ge.UnitPrice,Serial:Ge}):ge)}else Z=[...$,j(T({},b),{Quantity:1,Total:b.UnitPrice})]}else if(h=="uploadCart")Z=[...$,...x.variants];else if(h=="addNewRow"){let b=x.variant;Z=[...$,b]}else if(h=="rfid"){let b=x.variants;Object.keys(b).forEach(F=>{if(b.hasOwnProperty(F)){let R=b[F];if(R&&Object.keys(R.variant).length>0){let me=$.findIndex(Oe=>Oe.Code.toLowerCase()===F.toLowerCase());if(me!==-1){let Oe=Number(R.count);$[me].Quantity+=Oe,$[me].Total=+$[me].UnitPrice*+$[me].Quantity,delete b[F],Z=[...$]}else{let Oe=R.variant,Ge=Number(R.count),ge=this.setUnitPrice(Oe),ao=this.formatItemObject(j(T({},ge),{Quantity:Ge,Total:+ge.UnitPrice*+Ge}));delete b[F],Z=[...$,ao]}}}})}return Z},[]),ze([]),oe(1)),this.totalVariantOrdered$=this.cart$.pipe(p(c=>c.map(x=>x.Quantity)),p(c=>c.reduce((x,$)=>x+$,0)),ze(0))}toastr=J(Be);roleService=J(fe);decimalPipe=J(Ce);cartDisplayRef;variantAutocomplete=new ue;variantQuickKey=new ue;priceMaximumRestrictionWarning=ve("");_listenRFID=new _e;listenRFID$=this._listenRFID.asObservable().pipe(p(t=>({action:"rfid",variants:t})));_deleteVariant=new _e;deleteVariant$=this._deleteVariant.asObservable().pipe(p(t=>({action:"delete",index:t})));_dragDropCart=new _e;dragDropCart$=this._dragDropCart.asObservable().pipe(p(t=>({action:"sort",ev:t})));_returnCart=new _e;returnCart$=this._returnCart.asObservable().pipe(p(()=>({action:"returnCart"})));_onEditForm=new ot(null);onEditForm$=this._onEditForm.asObservable().pipe(A(t=>!!t),p(t=>({action:"onEditForm",variants:t})));_clearCart=new _e;clearCart$=this._clearCart.asObservable().pipe(p(()=>({action:"clearCart"})));_updateVariant=new _e;updateVariant$=this._updateVariant.asObservable().pipe(p(t=>({action:"update",variant:t.variant,index:t.index})));_returnVariant=new _e;returnVariant$=this._returnVariant.asObservable().pipe(p(t=>({action:"returnVariant",index:t})));_purchaseVariant=new _e;purchaseVariant$=this._purchaseVariant.asObservable().pipe(p(t=>({action:"purchaseVariant",index:t})));_addVariant=new _e;addVariant$=this._addVariant.asObservable().pipe(p(t=>({action:"addNewRow",variant:t})));_onUploadCart=new _e;onUploadCart$=this._onUploadCart.asObservable().pipe(p(t=>({action:"uploadCart",variants:t})));cart$;totalVariantOrdered$;isReturn=ve(!1);_addVariantThroughSerial=new _e;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 M.IsNotEmpty(t.OrderPrice)?e.UnitPrice=t.OrderPrice:e.UnitPrice=t.UnitCost,e}formatItemObject=t=>{let o=t,{ID:e}=o,i=ji(o,["ID"]);return j(T({},i),{Quantity:i.Quantity??1,Total:i.Total??i.UnitPrice,VariantID:e})};addCartRFID(t){this._listenRFID.next(t)}validatePriceMaximum(t){let e=!0;if(this.roleService.buyRestriction.CostMax&&t.MaxOrderPrice>0)if(t.UnitPrice>t.MaxOrderPrice){e=!1;let o=M.StringFormat("<span><i class='fa-solid fa-triangle-exclamation me-2 d-inline'></i>Cannot buy more than <h5 class='d-inline m-0'>{0}</h5></span>",this.decimalPipe.transform(t.MaxOrderPrice));this.priceMaximumRestrictionWarning.set(o)}else e=!0,this.priceMaximumRestrictionWarning.set("");return e}static \u0275fac=function(e){return new(e||n)(W(ce),W(q),W(pt),W(ie))};static \u0275prov=re({token:n,factory:n.\u0275fac,providedIn:"root"})};var Qe=class n{_isEdit=new _e;isEdit$;id$;isUnpaid$;dialog=J(ie);constructor(t,e,i,o,s){let N=qe(t.snapshot.queryParams);this.isEdit$=lt(N.pipe(p(h=>!!h.ID)),this._isEdit.asObservable()).pipe(oe(1)),this.id$=N.pipe(A(h=>h.ID),p(h=>h.ID));let g=this.id$.pipe(z(h=>e.post("/api/Buy2/GetDataByID2",{ID:h})),oe(1)),w=ft(()=>o.entities$).pipe(z(h=>g.pipe(p(b=>[b.Order,h]))),E(([h,b])=>{let F={Att:h.Att,SupplierID:{Key:h.SupplierID,Value:h.SupplierName,OnSet:!0},Date:h.Date,Number:h.Number,ID:h.ID};i.setBulkOrderForm(F)}),E(([h,b])=>{let F=b.find(R=>R.ID==h.EntityID);i.setOutletForm(F)})),L=g.pipe(p(h=>h.Items),p(h=>h.map(b=>j(T({},b.Variant),{Quantity:b.Quantity,Total:b.Total,Note:b.Note,UnitPrice:b.UnitPrice,Discount:b.Discount,Serial:b.Serial,ID:b.ID,VariantID:b.VariantID,UnitQuantity:b.UnitQuantity,QtyRequested:b.QtyRequested,DiscountAmount:b.DiscountAmount}))),E(h=>s.editForm(h))),S=ft(()=>o.currencies$).pipe(z(h=>g.pipe(p(b=>[b.Order,h,b.Invoice]))),p(([h,b,F])=>j(T({},h),{Number:h.Number!=F.Number?F.Number:h.Number,Currency:b.find(R=>R.ID===h.CurrencyID)})),E(h=>{let b={Note:h.Note,TagID:h.TypeID,Currency:T({},h.Currency),InvoiceNumber:h.Number};i.setBulkNoteForm(b)})),B=g.pipe(p(h=>h.DeliveryEntityID),E(h=>i.setDeliveryEntityID(h))),c=ft(()=>o.taxes$).pipe(z(h=>g.pipe(p(b=>[b.Order,h]))),p(([h,b])=>j(T({},h),{Taxes:b})),E(h=>{let b=h.Taxes.find(R=>R.ID===h.TaxTypeID);b?.Bin&&this.dialog.open(ti,{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://cdn.dealpos.xyz/web-image/globalerror.svg"
|
|
4
4
|
alt="Empty Sales Order Tag" />
|