marketplacepos 5.23.3 → 5.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/Marketplace/chunk-3N4ZVGB7.js +1 -0
  2. package/Marketplace/{chunk-IWOG47LM.js → chunk-4ALZLYOE.js} +1 -1
  3. package/Marketplace/{chunk-NYS5GU74.js → chunk-54LZV5RA.js} +1 -1
  4. package/Marketplace/{chunk-BYIUHHHB.js → chunk-5TP7OLCX.js} +1 -1
  5. package/Marketplace/{chunk-H633B3ZV.js → chunk-652LZHHN.js} +1 -1
  6. package/Marketplace/{chunk-L4LECXTE.js → chunk-7L4RGKOW.js} +1 -1
  7. package/Marketplace/{chunk-B4PBQXNI.js → chunk-C42KVZNL.js} +1 -1
  8. package/Marketplace/chunk-CY6BYXCF.js +1 -0
  9. package/Marketplace/{chunk-AMSVLO4N.js → chunk-DDHEMRO7.js} +1 -1
  10. package/Marketplace/{chunk-6L2IXOY3.js → chunk-DGTMJB7Z.js} +1 -1
  11. package/Marketplace/{chunk-B5PFUQJP.js → chunk-DLNXH2FE.js} +1 -1
  12. package/Marketplace/chunk-E3NPUJ23.js +1 -0
  13. package/Marketplace/{chunk-QMZKIDTF.js → chunk-GLSYEYGE.js} +1 -1
  14. package/Marketplace/{chunk-DCYEUYES.js → chunk-H52DGQ6P.js} +1 -1
  15. package/Marketplace/chunk-HFYKLZU6.js +5 -0
  16. package/Marketplace/chunk-IVLDZPVQ.js +1 -0
  17. package/Marketplace/chunk-JR4N2MXY.js +2 -0
  18. package/Marketplace/{chunk-MPPCCWWI.js → chunk-JYRGQBTU.js} +1 -1
  19. package/Marketplace/{chunk-Z6PE5TYH.js → chunk-KAEUZC2Y.js} +1 -1
  20. package/Marketplace/{chunk-UQOKPS2D.js → chunk-KJHVPYYV.js} +1 -1
  21. package/Marketplace/{chunk-PRR2LNJN.js → chunk-KQ3DQOVG.js} +1 -1
  22. package/Marketplace/{chunk-XFCUEB7M.js → chunk-MYVCHNDM.js} +1 -1
  23. package/Marketplace/{chunk-ZFQW5CVZ.js → chunk-N32A3EYJ.js} +1 -1
  24. package/Marketplace/{chunk-5OHPBQ35.js → chunk-NNQLRLNB.js} +1 -1
  25. package/Marketplace/{chunk-K3ACYL44.js → chunk-NSYRRJO4.js} +1 -1
  26. package/Marketplace/{chunk-YC44HHHF.js → chunk-O434S2MH.js} +1 -1
  27. package/Marketplace/{chunk-LRU7GIXZ.js → chunk-O4CRP4WO.js} +1 -1
  28. package/Marketplace/{chunk-OKR5PVTL.js → chunk-O4ZSBRQO.js} +1 -1
  29. package/Marketplace/{chunk-PGJIL3YW.js → chunk-OLC52IS2.js} +1 -1
  30. package/Marketplace/{chunk-6FCBKFKP.js → chunk-OZAU4QZP.js} +1 -1
  31. package/Marketplace/{chunk-4BYGZ6ZX.js → chunk-P2A5AQIO.js} +1 -1
  32. package/Marketplace/{chunk-34TLEUU2.js → chunk-P7F32TXV.js} +1 -1
  33. package/Marketplace/chunk-PAZDXHRZ.js +2 -0
  34. package/Marketplace/{chunk-GPE5CZJG.js → chunk-QCC5ZGGN.js} +1 -1
  35. package/Marketplace/chunk-QGVD6MF4.js +1 -0
  36. package/Marketplace/{chunk-6UBPPQKL.js → chunk-QNKFNW7X.js} +1 -1
  37. package/Marketplace/{chunk-VZC27UNN.js → chunk-QOABMVN7.js} +1 -1
  38. package/Marketplace/{chunk-3BZVV6EY.js → chunk-SBO6S63A.js} +1 -1
  39. package/Marketplace/{chunk-B63CUEEJ.js → chunk-TQ3TU52C.js} +1 -1
  40. package/Marketplace/{chunk-OEFEXY4H.js → chunk-UINKOYTL.js} +1 -1
  41. package/Marketplace/{chunk-JOZ6Q3P7.js → chunk-UWCYUVRN.js} +1 -1
  42. package/Marketplace/{chunk-H5S7FCYS.js → chunk-VBTYAIVJ.js} +1 -1
  43. package/Marketplace/chunk-VCO2YGPF.js +4 -0
  44. package/Marketplace/{chunk-OKY3QH5J.js → chunk-VGM53VJU.js} +1 -1
  45. package/Marketplace/chunk-WLEAOLBC.js +1 -0
  46. package/Marketplace/{chunk-DZDVYL2Y.js → chunk-WXNYPXX2.js} +1 -1
  47. package/Marketplace/{chunk-4E6A74GC.js → chunk-XJE5DG3A.js} +1 -1
  48. package/Marketplace/{chunk-PEMOWODA.js → chunk-YXFZPPCS.js} +2 -2
  49. package/Marketplace/{chunk-L7SRGROH.js → chunk-YYYEGJLU.js} +1 -1
  50. package/Marketplace/index.html +2 -2
  51. package/Marketplace/main-OMZMC6JK.js +1 -0
  52. package/package.json +1 -1
  53. package/Marketplace/chunk-4SAJUEHO.js +0 -1
  54. package/Marketplace/chunk-7SQIQSVI.js +0 -1
  55. package/Marketplace/chunk-B2BYNHZI.js +0 -2
  56. package/Marketplace/chunk-BTYAH2DF.js +0 -1
  57. package/Marketplace/chunk-EDPYVTYS.js +0 -4
  58. package/Marketplace/chunk-O2FYE4D4.js +0 -1
  59. package/Marketplace/chunk-OR7RKCYW.js +0 -2
  60. package/Marketplace/chunk-OZD5VJPG.js +0 -1
  61. package/Marketplace/chunk-T32TE7CZ.js +0 -1
  62. package/Marketplace/chunk-WTR5UFZI.js +0 -5
  63. package/Marketplace/main-UOXLRNRL.js +0 -1
@@ -1 +1 @@
1
- import{a as he}from"./chunk-5OHPBQ35.js";import"./chunk-LRU7GIXZ.js";import{a as ce}from"./chunk-PRR2LNJN.js";import{a as se}from"./chunk-7LZ5ZSXM.js";import{a as F}from"./chunk-XHAXYWZ7.js";import{b as pe,c as V}from"./chunk-B5PFUQJP.js";import"./chunk-BVIRHZTZ.js";import"./chunk-N6IHFFFZ.js";import"./chunk-PD4CUVAW.js";import"./chunk-IJYSJN63.js";import"./chunk-X5Q6FPWS.js";import"./chunk-46AOM3SM.js";import"./chunk-JXTGH22T.js";import"./chunk-OULUJ2IO.js";import"./chunk-GCKSYCMI.js";import{a as le}from"./chunk-ZFQW5CVZ.js";import"./chunk-ADRVUMMW.js";import"./chunk-XFTUE2ST.js";import"./chunk-HCDKYABV.js";import{i as M}from"./chunk-EDPYVTYS.js";import{b as te,e as ne}from"./chunk-4SAJUEHO.js";import"./chunk-KCDL7SWP.js";import{d as ie,l as ae,m as oe,n as re}from"./chunk-BO4PPSB5.js";import"./chunk-HUUFOAKH.js";import"./chunk-E5GGIVK7.js";import{c as q,h as X,m as Y,o as Z,y as ee}from"./chunk-BSN7ZAXG.js";import{c as D}from"./chunk-64G3XLI6.js";import"./chunk-OVEJFFL6.js";import{$b as C,Cd as K,Da as b,Ea as P,Eb as I,G as B,Gb as d,Gc as v,Hc as y,Sb as c,Tb as p,Ub as U,Vb as G,Wb as W,Xb as H,Yb as N,bc as g,ea as k,ja as j,jb as h,kb as m,nc as _,pa as S,rc as L,sc as T,ta as A,tc as E,uc as z,vc as $,vd as Q,xb as w,yd as J}from"./chunk-PQDPS2ID.js";import{a as R,b as x}from"./chunk-GNOSNGXM.js";var O=(()=>{let r=class r{constructor(){this.authService=S(M),this.channelOptions=this.authService.getChannels()}filterSelectedChannels(t,i){let e=Object.assign([],this.channelOptions),n=[],a;return t.forEach(o=>{a=e.find(s=>s.ID==o?.parent?.id),a&&(a=x(R({},a),{Name:`${o?.parent?.label} - ${o?.label}`,LocationID:o?.id}),n.push(a))}),i.forEach(o=>{a=e.find(s=>s.ID==o.id),a&&n.push(a)}),n}generateFilterLocation(t,i){let e=[],n=[],a=[];return t.length>0?(e=t.map(o=>o.id),n=t.map(o=>o.parent.id).filter((o,s,f)=>f.indexOf(o)===s)):(e=[],n=[]),a=i.map(o=>o.id),a=a.concat(n).filter((o,s,f)=>f.indexOf(o)===s),{locationIds:e,channelIds:a}}};r.\u0275fac=function(i){return new(i||r)},r.\u0275prov=j({token:r,factory:r.\u0275fac});let l=r;return l})();function ue(l,r){if(l&1){let u=N();c(0,"button",15),C("click",function(){b(u);let i=g().ngIf,e=g();return P(e.onUpdateItems(i))}),U(1,"i",16),_(2," Update "),p()}}function me(l,r){if(l&1&&(c(0,"actions")(1,"div",13),I(2,ue,3,0,"button",14),p()()),l&2){let u=r.ngIf,t=g();h(2),d("ngIf",t.productService.hasSelectionVariant(u))}}function ge(l,r){l&1&&H(0)}function Ce(l,r){if(l&1){let u=N();G(0),c(1,"app-table",17),C("onToggle",function(i){b(u);let e=g();return P(e.onShowDifferenceStock(i))})("onSubmit",function(i){b(u);let e=g();return P(e.updateStockByVariant(i))}),p(),W()}if(l&2){let u=r.ngIf,t=g();h(),d("data",u)("channel",t.channels())("showProductToggle",!0)("hiddenIPOSInventory",t.searchFilter.HiddenIPOSInventory)}}var $e=(()=>{let r=class r{constructor(t,i,e,n,a,o){this.http=t,this.toastr=i,this.dialog=e,this.productService=n,this.authService=a,this.mainPanelService=o,this.paginationService=S(V),this.multiChannelService=S(O),this.searchFilter={PageNumber:1,RowCount:100},this.loaderEndpoint="InventoryLoader/GetMultipleInventoryComparison",this.dataEndpoint="Inventory/GetMultipleChannelComparison",this.allDataCountEndpoint="Inventory/GetMultipleChannelComparisonRowCount",this.selectedLocations=w([]),this.selectedChannels=w([]),this.channels=w([]),this.pageData={Title:"Inventory",Nav:[{Title:"Inventory Cache",Url:"/menu/inventory/pos",Active:!0},{Title:"Inventory Realtime",Url:"/menu/inventory/realtime",Active:!1}]},this.channelOptions=this.authService.getChannels()}ngOnInit(){this.initPageLoader()}initPageLoader(){this.paginationService.fetchDataEndpoint=this.dataEndpoint,this.paginationService.fethRowCountEndpoint=this.allDataCountEndpoint,this.loader$=this.http.post(`/API/${this.loaderEndpoint}`,{}).pipe(k(t=>{t.Filter={PageNumber:t.Filter.PageNumber,filterModel:F.ALL,RowCount:t.Filter.PageSize,HiddenIPOSInventory:t.Filter.HiddenIPOSInventory},this.searchFilter=t.Filter,this.mainPanelService.openModalFilter()}))}onChannelChange(t=[]){let i=t.filter(n=>D.isValidGUID(n.id)==!1),e=t.filter(n=>D.isValidGUID(n.id));this.selectedLocations.set(i),this.selectedChannels.set(e)}onSearch(t){let i=this.multiChannelService.filterSelectedChannels(this.selectedLocations(),this.selectedChannels());this.channels.set(i);let e=this.multiChannelService.generateFilterLocation(this.selectedLocations(),this.selectedChannels());this.searchFilter.ListChannelID=e.channelIds,this.searchFilter.ListLocationID=e.locationIds,this.searchFilter.text=t,this.paginationService.reloadPagination(this.searchFilter)}updateStock(t,i){let e=this.productService.selectedVariantProduct(t);if(e.length>0){let n=[];e.forEach(s=>{s.Channel?.forEach(f=>{n.push({ID:s.ID,Code:s.Code,Inventory:s.Inventory,LocationID:f.LocationID})})});let o={ListChannelID:i.filter(s=>s.selected).map(s=>s.ID),List:n};this.http.post("/api/Inventory/UpdateChannel",o).subscribe(s=>{this.paginationService.reloadPagination(this.searchFilter),this.toastr.success("Successfully updated "+o.List.length+" variants in "+o.ListChannelID.length+" channels","Success")})}}updateStockByVariant(t){let i={ID:t.ChannelID,ChannelItemID:t.ChannelItemID,ChannelVariantID:t.ChannelVariationID,NewQuantity:parseFloat(t.Inventory),VariantID:t.ID,SKU:t.Sku,LocationID:t.LocationID};this.http.post("/api/Inventory/UpdateQuantityByItem",i).subscribe(e=>{this.paginationService.reloadPagination(this.searchFilter);let n=this.productService.findChannelById(i.ID,this.channelOptions);this.toastr.success("Successfully updated "+t.ItemName+"("+t.VarName+") inventory in "+n.Name+" to "+i.NewQuantity,"Success")})}onShowDifferenceStock(t){t?this.searchFilter.filterModel=F.DIFFERENCE:this.searchFilter.filterModel=F.ALL,this.paginationService.reloadPagination(this.searchFilter)}onUpdateItems(t){let i=this.productService.selectedVariantProduct(t),e=this.channelOptions.filter(n=>this.channels()?.find(a=>a.ID===n.ID));this.dialog.open(se,{data:{selectedItems:i,channels:JSON.parse(JSON.stringify(e))},width:"400px"}).afterClosed().pipe(B(n=>D.IsNotEmpty(n))).subscribe(n=>{this.updateStock(t,n)})}};r.\u0275fac=function(i){return new(i||r)(m(ne),m(te),m(ie),m(le),m(M),m(ae))},r.\u0275cmp=A({type:r,selectors:[["app-multi-channel-comparison"]],standalone:!0,features:[z([V,O]),$],decls:26,vars:22,consts:[["headerTitle","Inventory Comparison","textButton","Search",3,"onSubmit","pageData","hideSearchBox"],[4,"ngIf"],["for","selectChannel",1,"fw-bold","mb-3"],["id","selectChannel",3,"onChannelChange","multiple"],[1,"mt-5"],["for","PageNumber",1,"fw-bold"],["type","number","id","PageNumber","placeholder","PageNumber","name","PageNumber","data-toggle","tooltip","matTooltip","Page Number",1,"form-control","mt-2",3,"ngModelChange","ngModel"],["for","RowCount",1,"fw-bold"],["type","number","id","RowCount","placeholder","Page Size","name","RowCount","data-toggle","tooltip","matTooltip","Page Size",1,"form-control","mt-2",3,"ngModelChange","ngModel"],[1,"container-fluid","mt-3"],[1,"row"],[1,"col-md-12"],[3,"onNextPage","onLastPage","onGetRowCount","totalData","hideCount","rowCount","pageNumber","disableNextButton","goToLastPage"],[1,"d-flex"],["type","button","class","btn btn-success shadow-sm rounded me-3",3,"click",4,"ngIf"],["type","button",1,"btn","btn-success","shadow-sm","rounded","me-3",3,"click"],[1,"fas","fa-chevron-circle-up"],["table","inventory",3,"onToggle","onSubmit","data","channel","showProductToggle","hiddenIPOSInventory"]],template:function(i,e){i&1&&(c(0,"mainpanel",0),C("onSubmit",function(a){return e.onSearch(a)}),I(1,me,3,1,"actions",1),v(2,"async"),c(3,"filters"),I(4,ge,1,0,"ng-container",1),v(5,"async"),c(6,"div")(7,"label",2),_(8,"Channel"),p(),c(9,"multiwarehouse-tree-select",3),C("onChannelChange",function(a){return e.onChannelChange(a)}),p()(),c(10,"div",4)(11,"label",5),_(12,"PageNumber"),p(),c(13,"input",6),E("ngModelChange",function(a){return T(e.searchFilter.PageNumber,a)||(e.searchFilter.PageNumber=a),a}),p()(),c(14,"div",4)(15,"label",7),_(16,"Page Size"),p(),c(17,"input",8),E("ngModelChange",function(a){return T(e.searchFilter.RowCount,a)||(e.searchFilter.RowCount=a),a}),p()()(),c(18,"content")(19,"div",9)(20,"div",10)(21,"div",11),I(22,Ce,2,4,"ng-container",1),v(23,"async"),c(24,"infinite-paginator",12),v(25,"async"),C("onNextPage",function(){return e.paginationService.onNextPage(e.searchFilter)})("onLastPage",function(){return e.paginationService.onLastPage(e.searchFilter)})("onGetRowCount",function(){return e.paginationService.getRowCount(e.searchFilter)}),p()()()()()()),i&2&&(d("pageData",e.pageData)("hideSearchBox",!1),h(),d("ngIf",y(2,14,e.paginationService.data$)),h(3),d("ngIf",y(5,16,e.loader$)),h(5),d("multiple",!0),h(4),L("ngModel",e.searchFilter.PageNumber),h(4),L("ngModel",e.searchFilter.RowCount),h(5),d("ngIf",y(23,18,e.paginationService.data$)),h(2),d("totalData",e.paginationService.totalData())("hideCount",e.paginationService.hideCount())("rowCount",y(25,20,e.paginationService.totalRowCount$))("pageNumber",e.paginationService.pageNumber())("disableNextButton",e.paginationService.disableNextButton())("goToLastPage",e.paginationService.isLastPage()))},dependencies:[K,Q,J,re,oe,ce,ee,q,Z,X,Y,pe,he],styles:[".no-bullet[_ngcontent-%COMP%]{list-style-type:none}"]});let l=r;return l})();export{$e as MultiChannelComparison};
1
+ import{a as he}from"./chunk-NNQLRLNB.js";import"./chunk-O4CRP4WO.js";import{a as ce}from"./chunk-KQ3DQOVG.js";import{a as se}from"./chunk-7LZ5ZSXM.js";import{a as F}from"./chunk-XHAXYWZ7.js";import{b as pe,c as V}from"./chunk-DLNXH2FE.js";import"./chunk-BVIRHZTZ.js";import"./chunk-N6IHFFFZ.js";import"./chunk-PD4CUVAW.js";import"./chunk-IJYSJN63.js";import"./chunk-X5Q6FPWS.js";import"./chunk-46AOM3SM.js";import"./chunk-JXTGH22T.js";import"./chunk-OULUJ2IO.js";import"./chunk-GCKSYCMI.js";import{a as le}from"./chunk-N32A3EYJ.js";import"./chunk-ADRVUMMW.js";import"./chunk-XFTUE2ST.js";import"./chunk-HCDKYABV.js";import{j as M}from"./chunk-VCO2YGPF.js";import{b as te,e as ne}from"./chunk-E3NPUJ23.js";import"./chunk-KCDL7SWP.js";import{d as ie,l as ae,m as oe,n as re}from"./chunk-BO4PPSB5.js";import"./chunk-HUUFOAKH.js";import"./chunk-E5GGIVK7.js";import{c as q,h as X,m as Y,o as Z,y as ee}from"./chunk-BSN7ZAXG.js";import{c as D}from"./chunk-64G3XLI6.js";import"./chunk-OVEJFFL6.js";import{$b as C,Cd as K,Da as b,Ea as P,Eb as I,G as B,Gb as d,Gc as v,Hc as y,Sb as c,Tb as p,Ub as U,Vb as G,Wb as W,Xb as H,Yb as N,bc as g,ea as k,ja as j,jb as h,kb as m,nc as _,pa as S,rc as L,sc as T,ta as A,tc as E,uc as z,vc as $,vd as Q,xb as w,yd as J}from"./chunk-PQDPS2ID.js";import{a as R,b as x}from"./chunk-GNOSNGXM.js";var O=(()=>{let r=class r{constructor(){this.authService=S(M),this.channelOptions=this.authService.getChannels()}filterSelectedChannels(t,i){let e=Object.assign([],this.channelOptions),n=[],a;return t.forEach(o=>{a=e.find(s=>s.ID==o?.parent?.id),a&&(a=x(R({},a),{Name:`${o?.parent?.label} - ${o?.label}`,LocationID:o?.id}),n.push(a))}),i.forEach(o=>{a=e.find(s=>s.ID==o.id),a&&n.push(a)}),n}generateFilterLocation(t,i){let e=[],n=[],a=[];return t.length>0?(e=t.map(o=>o.id),n=t.map(o=>o.parent.id).filter((o,s,f)=>f.indexOf(o)===s)):(e=[],n=[]),a=i.map(o=>o.id),a=a.concat(n).filter((o,s,f)=>f.indexOf(o)===s),{locationIds:e,channelIds:a}}};r.\u0275fac=function(i){return new(i||r)},r.\u0275prov=j({token:r,factory:r.\u0275fac});let l=r;return l})();function ue(l,r){if(l&1){let u=N();c(0,"button",15),C("click",function(){b(u);let i=g().ngIf,e=g();return P(e.onUpdateItems(i))}),U(1,"i",16),_(2," Update "),p()}}function me(l,r){if(l&1&&(c(0,"actions")(1,"div",13),I(2,ue,3,0,"button",14),p()()),l&2){let u=r.ngIf,t=g();h(2),d("ngIf",t.productService.hasSelectionVariant(u))}}function ge(l,r){l&1&&H(0)}function Ce(l,r){if(l&1){let u=N();G(0),c(1,"app-table",17),C("onToggle",function(i){b(u);let e=g();return P(e.onShowDifferenceStock(i))})("onSubmit",function(i){b(u);let e=g();return P(e.updateStockByVariant(i))}),p(),W()}if(l&2){let u=r.ngIf,t=g();h(),d("data",u)("channel",t.channels())("showProductToggle",!0)("hiddenIPOSInventory",t.searchFilter.HiddenIPOSInventory)}}var $e=(()=>{let r=class r{constructor(t,i,e,n,a,o){this.http=t,this.toastr=i,this.dialog=e,this.productService=n,this.authService=a,this.mainPanelService=o,this.paginationService=S(V),this.multiChannelService=S(O),this.searchFilter={PageNumber:1,RowCount:100},this.loaderEndpoint="InventoryLoader/GetMultipleInventoryComparison",this.dataEndpoint="Inventory/GetMultipleChannelComparison",this.allDataCountEndpoint="Inventory/GetMultipleChannelComparisonRowCount",this.selectedLocations=w([]),this.selectedChannels=w([]),this.channels=w([]),this.pageData={Title:"Inventory",Nav:[{Title:"Inventory Cache",Url:"/menu/inventory/pos",Active:!0},{Title:"Inventory Realtime",Url:"/menu/inventory/realtime",Active:!1}]},this.channelOptions=this.authService.getChannels()}ngOnInit(){this.initPageLoader()}initPageLoader(){this.paginationService.fetchDataEndpoint=this.dataEndpoint,this.paginationService.fethRowCountEndpoint=this.allDataCountEndpoint,this.loader$=this.http.post(`/API/${this.loaderEndpoint}`,{}).pipe(k(t=>{t.Filter={PageNumber:t.Filter.PageNumber,filterModel:F.ALL,RowCount:t.Filter.PageSize,HiddenIPOSInventory:t.Filter.HiddenIPOSInventory},this.searchFilter=t.Filter,this.mainPanelService.openModalFilter()}))}onChannelChange(t=[]){let i=t.filter(n=>D.isValidGUID(n.id)==!1),e=t.filter(n=>D.isValidGUID(n.id));this.selectedLocations.set(i),this.selectedChannels.set(e)}onSearch(t){let i=this.multiChannelService.filterSelectedChannels(this.selectedLocations(),this.selectedChannels());this.channels.set(i);let e=this.multiChannelService.generateFilterLocation(this.selectedLocations(),this.selectedChannels());this.searchFilter.ListChannelID=e.channelIds,this.searchFilter.ListLocationID=e.locationIds,this.searchFilter.text=t,this.paginationService.reloadPagination(this.searchFilter)}updateStock(t,i){let e=this.productService.selectedVariantProduct(t);if(e.length>0){let n=[];e.forEach(s=>{s.Channel?.forEach(f=>{n.push({ID:s.ID,Code:s.Code,Inventory:s.Inventory,LocationID:f.LocationID})})});let o={ListChannelID:i.filter(s=>s.selected).map(s=>s.ID),List:n};this.http.post("/api/Inventory/UpdateChannel",o).subscribe(s=>{this.paginationService.reloadPagination(this.searchFilter),this.toastr.success("Successfully updated "+o.List.length+" variants in "+o.ListChannelID.length+" channels","Success")})}}updateStockByVariant(t){let i={ID:t.ChannelID,ChannelItemID:t.ChannelItemID,ChannelVariantID:t.ChannelVariationID,NewQuantity:parseFloat(t.Inventory),VariantID:t.ID,SKU:t.Sku,LocationID:t.LocationID};this.http.post("/api/Inventory/UpdateQuantityByItem",i).subscribe(e=>{this.paginationService.reloadPagination(this.searchFilter);let n=this.productService.findChannelById(i.ID,this.channelOptions);this.toastr.success("Successfully updated "+t.ItemName+"("+t.VarName+") inventory in "+n.Name+" to "+i.NewQuantity,"Success")})}onShowDifferenceStock(t){t?this.searchFilter.filterModel=F.DIFFERENCE:this.searchFilter.filterModel=F.ALL,this.paginationService.reloadPagination(this.searchFilter)}onUpdateItems(t){let i=this.productService.selectedVariantProduct(t),e=this.channelOptions.filter(n=>this.channels()?.find(a=>a.ID===n.ID));this.dialog.open(se,{data:{selectedItems:i,channels:JSON.parse(JSON.stringify(e))},width:"400px"}).afterClosed().pipe(B(n=>D.IsNotEmpty(n))).subscribe(n=>{this.updateStock(t,n)})}};r.\u0275fac=function(i){return new(i||r)(m(ne),m(te),m(ie),m(le),m(M),m(ae))},r.\u0275cmp=A({type:r,selectors:[["app-multi-channel-comparison"]],standalone:!0,features:[z([V,O]),$],decls:26,vars:22,consts:[["headerTitle","Inventory Comparison","textButton","Search",3,"onSubmit","pageData","hideSearchBox"],[4,"ngIf"],["for","selectChannel",1,"fw-bold","mb-3"],["id","selectChannel",3,"onChannelChange","multiple"],[1,"mt-5"],["for","PageNumber",1,"fw-bold"],["type","number","id","PageNumber","placeholder","PageNumber","name","PageNumber","data-toggle","tooltip","matTooltip","Page Number",1,"form-control","mt-2",3,"ngModelChange","ngModel"],["for","RowCount",1,"fw-bold"],["type","number","id","RowCount","placeholder","Page Size","name","RowCount","data-toggle","tooltip","matTooltip","Page Size",1,"form-control","mt-2",3,"ngModelChange","ngModel"],[1,"container-fluid","mt-3"],[1,"row"],[1,"col-md-12"],[3,"onNextPage","onLastPage","onGetRowCount","totalData","hideCount","rowCount","pageNumber","disableNextButton","goToLastPage"],[1,"d-flex"],["type","button","class","btn btn-success shadow-sm rounded me-3",3,"click",4,"ngIf"],["type","button",1,"btn","btn-success","shadow-sm","rounded","me-3",3,"click"],[1,"fas","fa-chevron-circle-up"],["table","inventory",3,"onToggle","onSubmit","data","channel","showProductToggle","hiddenIPOSInventory"]],template:function(i,e){i&1&&(c(0,"mainpanel",0),C("onSubmit",function(a){return e.onSearch(a)}),I(1,me,3,1,"actions",1),v(2,"async"),c(3,"filters"),I(4,ge,1,0,"ng-container",1),v(5,"async"),c(6,"div")(7,"label",2),_(8,"Channel"),p(),c(9,"multiwarehouse-tree-select",3),C("onChannelChange",function(a){return e.onChannelChange(a)}),p()(),c(10,"div",4)(11,"label",5),_(12,"PageNumber"),p(),c(13,"input",6),E("ngModelChange",function(a){return T(e.searchFilter.PageNumber,a)||(e.searchFilter.PageNumber=a),a}),p()(),c(14,"div",4)(15,"label",7),_(16,"Page Size"),p(),c(17,"input",8),E("ngModelChange",function(a){return T(e.searchFilter.RowCount,a)||(e.searchFilter.RowCount=a),a}),p()()(),c(18,"content")(19,"div",9)(20,"div",10)(21,"div",11),I(22,Ce,2,4,"ng-container",1),v(23,"async"),c(24,"infinite-paginator",12),v(25,"async"),C("onNextPage",function(){return e.paginationService.onNextPage(e.searchFilter)})("onLastPage",function(){return e.paginationService.onLastPage(e.searchFilter)})("onGetRowCount",function(){return e.paginationService.getRowCount(e.searchFilter)}),p()()()()()()),i&2&&(d("pageData",e.pageData)("hideSearchBox",!1),h(),d("ngIf",y(2,14,e.paginationService.data$)),h(3),d("ngIf",y(5,16,e.loader$)),h(5),d("multiple",!0),h(4),L("ngModel",e.searchFilter.PageNumber),h(4),L("ngModel",e.searchFilter.RowCount),h(5),d("ngIf",y(23,18,e.paginationService.data$)),h(2),d("totalData",e.paginationService.totalData())("hideCount",e.paginationService.hideCount())("rowCount",y(25,20,e.paginationService.totalRowCount$))("pageNumber",e.paginationService.pageNumber())("disableNextButton",e.paginationService.disableNextButton())("goToLastPage",e.paginationService.isLastPage()))},dependencies:[K,Q,J,re,oe,ce,ee,q,Z,X,Y,pe,he],styles:[".no-bullet[_ngcontent-%COMP%]{list-style-type:none}"]});let l=r;return l})();export{$e as MultiChannelComparison};
@@ -1 +1 @@
1
- import{a as q}from"./chunk-4E6A74GC.js";import"./chunk-4SAJUEHO.js";import{m as P,n as _}from"./chunk-BO4PPSB5.js";import"./chunk-HUUFOAKH.js";import"./chunk-E5GGIVK7.js";import"./chunk-BSN7ZAXG.js";import{m as L,p as A,r as B}from"./chunk-OVEJFFL6.js";import{Ad as b,Bd as C,Cd as M,Eb as g,Gb as u,Gc as p,Hc as c,Ic as y,Sb as t,Tb as i,Z as f,jb as d,kb as v,nc as n,oc as m,pc as I,ta as S,v as h,vc as x,vd as E,yd as D,zd as R}from"./chunk-PQDPS2ID.js";import"./chunk-GNOSNGXM.js";function w(l,r){if(l&1&&(t(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7)(5,"h5"),n(6,"General"),i()(),t(7,"div",8)(8,"div",9)(9,"div",10)(10,"div",11)(11,"label"),n(12,"Created"),i(),t(13,"div")(14,"span"),n(15),p(16,"date"),i()()()(),t(17,"div",10)(18,"div",11)(19,"label"),n(20,"Duration"),i(),t(21,"div")(22,"span"),n(23),p(24,"number"),i()()()(),t(25,"div",10)(26,"div",11)(27,"label"),n(28,"Response Code"),i(),t(29,"div")(30,"span"),n(31),i()()()()()()()()(),t(32,"div",4)(33,"div",10)(34,"div",6)(35,"div",7)(36,"h5"),n(37,"Request"),i()(),t(38,"div",8)(39,"div",12)(40,"div",13)(41,"pre"),n(42),p(43,"json"),i()()()()()(),t(44,"div",10)(45,"div",6)(46,"div",7)(47,"h5"),n(48,"Response"),i()(),t(49,"div",8)(50,"div",14)(51,"div",13)(52,"pre"),n(53),p(54,"json"),i()()()()()()()()),l&2){let o=r.ngIf;d(15),m(y(16,5,o==null?null:o._source["@timestamp"],"dd MMM yyyy HH:mm:ss")),d(8),I("",y(24,8,o==null?null:o.DurationInSecond,"1.1-1")," s"),d(8),m(o==null?null:o.respCode),d(11),m(c(43,11,o==null?null:o.req)),d(11),m(c(54,13,o==null?null:o.res))}}var G=(()=>{let r=class r{constructor(a,e){this.inventoryAsyncServiceLog=a,this.activatedRoute=e}ngOnInit(){let a=this.activatedRoute.snapshot.queryParams;this.initInventoryLog(a?.ID)}initInventoryLog(a){this.inventoryLog$=this.inventoryAsyncServiceLog.getInventoryAsyncLogDetail(a).pipe(h(e=>{let s=JSON.parse(e.hits[0]._source?.log?.response);return e.hits[0].DurationInSecond=parseInt(s.Duration)/1e3,e.hits[0].respCode=s?.StatusCode,e.hits[0].req=JSON.parse(e.hits[0]._source?.log?.request),e.hits[0].res=s,e?.hits[0]}),f(1))}};r.\u0275fac=function(e){return new(e||r)(v(q),v(L))},r.\u0275cmp=S({type:r,selectors:[["app-inventory-async-detail"]],standalone:!0,features:[x],decls:7,vars:5,consts:[["headerTitle","Product Inventory Sync Detail",3,"hideSearchBox","hideSearchDropdown"],["role","button","routerLink","/menu/log/inventory",1,"btn","btn-secondary","btn-fill","btn-lg","me-2"],["class","container-fluid mt-3",4,"ngIf"],[1,"container-fluid","mt-3"],[1,"row"],[1,"col-12"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"row","mt-7"],[1,"col-sm-6"],[1,"info-label-group"],[1,"col-sm-12"],[1,"form-group"],[1,"col-sm-12","mt-2"]],template:function(e,s){e&1&&(t(0,"mainpanel",0)(1,"actions")(2,"a",1),n(3,"Back"),i()(),t(4,"content"),g(5,w,55,15,"div",2),p(6,"async"),i()()),e&2&&(u("hideSearchBox",!0)("hideSearchDropdown",!0),d(5),u("ngIf",c(6,3,s.inventoryLog$)))},dependencies:[M,E,D,b,C,R,_,P,B,A]});let l=r;return l})();export{G as InventoryAsyncDetailComponent};
1
+ import{a as q}from"./chunk-XJE5DG3A.js";import"./chunk-E3NPUJ23.js";import{m as P,n as _}from"./chunk-BO4PPSB5.js";import"./chunk-HUUFOAKH.js";import"./chunk-E5GGIVK7.js";import"./chunk-BSN7ZAXG.js";import{m as L,p as A,r as B}from"./chunk-OVEJFFL6.js";import{Ad as b,Bd as C,Cd as M,Eb as g,Gb as u,Gc as p,Hc as c,Ic as y,Sb as t,Tb as i,Z as f,jb as d,kb as v,nc as n,oc as m,pc as I,ta as S,v as h,vc as x,vd as E,yd as D,zd as R}from"./chunk-PQDPS2ID.js";import"./chunk-GNOSNGXM.js";function w(l,r){if(l&1&&(t(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7)(5,"h5"),n(6,"General"),i()(),t(7,"div",8)(8,"div",9)(9,"div",10)(10,"div",11)(11,"label"),n(12,"Created"),i(),t(13,"div")(14,"span"),n(15),p(16,"date"),i()()()(),t(17,"div",10)(18,"div",11)(19,"label"),n(20,"Duration"),i(),t(21,"div")(22,"span"),n(23),p(24,"number"),i()()()(),t(25,"div",10)(26,"div",11)(27,"label"),n(28,"Response Code"),i(),t(29,"div")(30,"span"),n(31),i()()()()()()()()(),t(32,"div",4)(33,"div",10)(34,"div",6)(35,"div",7)(36,"h5"),n(37,"Request"),i()(),t(38,"div",8)(39,"div",12)(40,"div",13)(41,"pre"),n(42),p(43,"json"),i()()()()()(),t(44,"div",10)(45,"div",6)(46,"div",7)(47,"h5"),n(48,"Response"),i()(),t(49,"div",8)(50,"div",14)(51,"div",13)(52,"pre"),n(53),p(54,"json"),i()()()()()()()()),l&2){let o=r.ngIf;d(15),m(y(16,5,o==null?null:o._source["@timestamp"],"dd MMM yyyy HH:mm:ss")),d(8),I("",y(24,8,o==null?null:o.DurationInSecond,"1.1-1")," s"),d(8),m(o==null?null:o.respCode),d(11),m(c(43,11,o==null?null:o.req)),d(11),m(c(54,13,o==null?null:o.res))}}var G=(()=>{let r=class r{constructor(a,e){this.inventoryAsyncServiceLog=a,this.activatedRoute=e}ngOnInit(){let a=this.activatedRoute.snapshot.queryParams;this.initInventoryLog(a?.ID)}initInventoryLog(a){this.inventoryLog$=this.inventoryAsyncServiceLog.getInventoryAsyncLogDetail(a).pipe(h(e=>{let s=JSON.parse(e.hits[0]._source?.log?.response);return e.hits[0].DurationInSecond=parseInt(s.Duration)/1e3,e.hits[0].respCode=s?.StatusCode,e.hits[0].req=JSON.parse(e.hits[0]._source?.log?.request),e.hits[0].res=s,e?.hits[0]}),f(1))}};r.\u0275fac=function(e){return new(e||r)(v(q),v(L))},r.\u0275cmp=S({type:r,selectors:[["app-inventory-async-detail"]],standalone:!0,features:[x],decls:7,vars:5,consts:[["headerTitle","Product Inventory Sync Detail",3,"hideSearchBox","hideSearchDropdown"],["role","button","routerLink","/menu/log/inventory",1,"btn","btn-secondary","btn-fill","btn-lg","me-2"],["class","container-fluid mt-3",4,"ngIf"],[1,"container-fluid","mt-3"],[1,"row"],[1,"col-12"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"row","mt-7"],[1,"col-sm-6"],[1,"info-label-group"],[1,"col-sm-12"],[1,"form-group"],[1,"col-sm-12","mt-2"]],template:function(e,s){e&1&&(t(0,"mainpanel",0)(1,"actions")(2,"a",1),n(3,"Back"),i()(),t(4,"content"),g(5,w,55,15,"div",2),p(6,"async"),i()()),e&2&&(u("hideSearchBox",!0)("hideSearchDropdown",!0),d(5),u("ngIf",c(6,3,s.inventoryLog$)))},dependencies:[M,E,D,b,C,R,_,P,B,A]});let l=r;return l})();export{G as InventoryAsyncDetailComponent};
@@ -1 +1 @@
1
- import{a as ct}from"./chunk-O2FYE4D4.js";import{a as Ct}from"./chunk-BQ7NR3ET.js";import{a as ht,b as ft}from"./chunk-UMNGKENU.js";import{f as gt}from"./chunk-HCDKYABV.js";import{b as D,c as E,i as k,j as w}from"./chunk-BO4PPSB5.js";import{t as P}from"./chunk-HUUFOAKH.js";import{X as mt}from"./chunk-E5GGIVK7.js";import{h as st,m as pt}from"./chunk-BSN7ZAXG.js";import{b as m,c as f}from"./chunk-64G3XLI6.js";import{o as dt}from"./chunk-OVEJFFL6.js";import{$b as v,Bd as rt,Da as L,Ea as F,Eb as C,Fb as z,Gb as p,Gc as x,Hc as O,Jc as ot,Nb as G,Ob as et,Qb as nt,Rb as it,Sb as a,Tb as r,Ub as y,Vb as H,Wb as J,Yb as R,Z as X,bc as h,gb as I,jb as l,kb as g,mc as at,nc as s,oc as u,pa as Z,pc as S,rc as V,sc as U,sd as B,ta as T,tc as A,ud as K,v as Q,vd as $,xb as tt,xc as W,yd as lt}from"./chunk-PQDPS2ID.js";function bt(n,d){if(n&1&&(a(0,"mat-option",10)(1,"div",11),y(2,"img",12),a(3,"span"),s(4),r()()()),n&2){let t=d.$implicit;p("value",t.ID)("disabled",t.disabled),l(),p("matTooltip",t.disabled?"Single Product Scan disabled for this type of Channel":null),l(),p("src",t.Img,I),l(2),u(t.Name)}}function Tt(n,d){if(n&1){let t=R();a(0,"div",13)(1,"label",14),s(2,"Scan Type"),r(),a(3,"mat-radio-group",15),A("ngModelChange",function(e){L(t);let o=h();return U(o.filter.ScanFull,e)||(o.filter.ScanFull=e),F(e)}),a(4,"mat-radio-button",16),s(5," Full (Include Inactive Products) "),r(),a(6,"mat-radio-button",17),s(7," Active "),r()()()}if(n&2){let t=h();l(3),V("ngModel",t.filter.ScanFull),l(),p("value",!0),l(2),p("value",!1)}}function It(n,d){n&1&&(a(0,"span"),s(1,"Never"),r())}function xt(n,d){if(n&1&&(a(0,"span"),s(1),x(2,"async"),r()),n&2){let t=h(2);l(),u(O(2,1,t.lastSync$))}}function Ot(n,d){if(n&1){let t=R();a(0,"div",8)(1,"label",3)(2,"span",18),s(3,"Last Scan:"),r(),C(4,It,2,0,"span"),x(5,"async"),C(6,xt,3,3,"span"),r(),a(7,"mat-radio-group",19),A("ngModelChange",function(e){L(t);let o=h();return U(o.filter.UpdatedProduct,e)||(o.filter.UpdatedProduct=e),F(e)}),a(8,"mat-radio-button",20),s(9," Scan All Products "),r(),a(10,"mat-radio-button",21),s(11),r()()()}if(n&2){let t=h();l(4),G(O(5,6,t.lastSync$)==null?4:6),l(3),V("ngModel",t.filter.UpdatedProduct),l(),p("value",!1),l(2),p("value",!0)("matTooltip",t.selectedChannel.TypeID==t.channelType.Tokopedia?"Use Tokopedia URL for mapping SKU between POS and Tokopedia":"Scan only products that have been updated since the last channel scan"),l(),S(" ",t.selectedChannel.TypeID==t.channelType.Tokopedia?"Product Download By URL":"Scan Updated Products"," ")}}function Pt(n,d){if(n&1){let t=R();a(0,"div",8)(1,"label",3),s(2," Scan Option "),r(),a(3,"mat-radio-group",22),A("ngModelChange",function(e){L(t);let o=h();return U(o.filter.Async,e)||(o.filter.Async=e),F(e)}),a(4,"mat-radio-button",23),s(5," Asynchronous (Get Notified when Complete) "),r(),a(6,"mat-radio-button",24),s(7," Synchronous (Wait until Complete) "),r()()()}if(n&2){let t=h();l(3),V("ngModel",t.filter.Async),l(),p("value",!0),l(2),p("value",!1)}}var te=(()=>{let d=class d{constructor(i,e,o){this.dialogRef=i,this.data=e,this.router=o,this.channelService=Z(ct),this.channelType=m,this.disabledChannelOption=!1,this.filter={ChannelID:f.GuidEMpty,ScanFull:!0,UpdatedProduct:!1,Async:!1},this.isSingleChannel=f.IsNotEmpty(e.isSingleChannel)?this.data.isSingleChannel:!1,this.disabledChannelOption=f.IsEmpty(e.disabledChannelOption)?!1:this.data.disabledChannelOption}ngOnInit(){this.initChannelOptions(),this.initFilter(),this.onSelectChannel(this.data?.filter?.ChannelID),this.initModalConfig()}initModalConfig(){this.modalConfig=new k,this.modalConfig.title=this.isSingleChannel?"Scan Single Product":"Scan Channel Marketplace",this.modalConfig.bodyScrollable=!0}initFilter(){this.filter.ChannelID=this.data?.filter?.ChannelID}initChannelOptions(){this.channelOptions=JSON.parse(JSON.stringify(this.data.channelOptions)),this.isSingleChannel&&(this.channelOptions=this.channelOptions.map(i=>(i.disabled=!0,(i.TypeID==m.Tiktok||i.TypeID==m.Tokopedia||i.TypeID==m.Lazada||i.TypeID==m.WooCommerce)&&(i.disabled=!1),i)).sort(i=>i.disabled?1:-1))}onSelectChannel(i){let e=this.filterChannelById(i);this.selectedChannel=e,this.filter.Async=!0,this.iniHasScanUpdate(),this.getLastSync(i)}getLastSync(i){this.lastSync$=this.channelService.getLastSync(i).pipe(Q(e=>(this.selectedChannel.LastSync=e.LastSync,this.setDefaultConfigUpdate(),f.IsNotEmpty(e.LastSync)?f.convertToReadableDate(e.LastSync):null)),X(1))}setDefaultConfigUpdate(){this.filter.UpdatedProduct=!1,this.selectedChannel&&f.IsNotEmpty(this.selectedChannel.LastSync)&&(this.selectedChannel.TypeID==m.Shopee||this.selectedChannel.TypeID==m.Tiktok||this.selectedChannel.TypeID==m.Lazada)&&(this.filter.UpdatedProduct=!0)}iniHasScanUpdate(){this.selectedChannel?.TypeID!=m.WooCommerce&&this.selectedChannel?.TypeID!=m.KalCare&&this.selectedChannel?.TypeID!=m.None&&!this.isSingleChannel?this.hasScanUpdate=!0:this.hasScanUpdate=!1}filterChannelById(i){let e;return this.channelOptions&&(e=this.channelOptions.find(o=>o.ID==i)),e}submit(){this.selectedChannel.TypeID==m.Tokopedia&&this.filter.UpdatedProduct?this.router.navigate(["/menu/products/download/by-url"]).then(()=>{this.dialogRef.close()}):this.dialogRef.close(this.filter)}isNotEmpty(i){return f.IsNotEmpty(i)}onClose(){this.dialogRef.close()}};d.\u0275fac=function(e){return new(e||d)(g(D),g(E),g(dt))},d.\u0275cmp=T({type:d,selectors:[["app-scan-dialog"]],decls:11,vars:8,consts:[[3,"onOk","onClose","onCancel","dynamicValidated","config"],["content",""],[1,"mx-4"],[1,"mb-2","fw-bold"],["appearance","outline",1,"w-100"],["name","channelid","placeholder","Channel",1,"mat-select-channel",3,"ngModelChange","disabled","ngModel"],["class","channel-option",3,"value","disabled",4,"ngFor","ngForOf"],["class","mt-4",4,"ngIf"],[1,"mt-8"],["class","mt-8",4,"ngIf"],[1,"channel-option",3,"value","disabled"],["matTooltipPosition","above","matTooltipClass","custom-width-tooltip",3,"matTooltip"],[2,"width","18px","margin-right","10px",3,"src"],[1,"mt-4"],[1,"mb-2","fw-bold","mt-3"],["name","scanType",1,"form-control","h-100","round",3,"ngModelChange","ngModel"],["matTooltipClass","custom-width-tooltip","matTooltipPosition","above","matTooltip","Full Scan Product",1,"me-5",3,"value"],["matTooltipClass","custom-width-tooltip","matTooltipPosition","above","matTooltip","Only Active Product",1,"me-5",3,"value"],[1,"me-2"],["name","ScanFull",1,"form-control","h-100","round",2,"line-height","2",3,"ngModelChange","ngModel"],["matTooltipClass","custom-width-tooltip","matTooltipPosition","above","matTooltip","Scan product from beginning ( use this if you haven't scanned at all)",1,"me-5",3,"value"],["matTooltipClass","custom-width-tooltip","matTooltipPosition","above",1,"me-5",3,"value","matTooltip"],["name","Async",1,"form-control","h-100","round",2,"line-height","2",3,"ngModelChange","ngModel"],["matTooltipClass","custom-width-tooltip","matTooltip","Scan is running in the background, status will be visible in the notification menu","matTooltipPosition","above",1,"me-5",3,"value"],[1,"me-5",3,"value"]],template:function(e,o){e&1&&(a(0,"modal-material",0),v("onOk",function(){return o.submit()})("onClose",function(){return o.onClose()})("onCancel",function(){return o.onClose()}),a(1,"div",1)(2,"div",2)(3,"label",3),s(4,"Select a Channel"),r(),a(5,"mat-form-field",4)(6,"mat-select",5),A("ngModelChange",function(c){return U(o.filter.ChannelID,c)||(o.filter.ChannelID=c),c}),v("ngModelChange",function(c){return o.onSelectChannel(c)}),C(7,bt,5,5,"mat-option",6),r()(),C(8,Tt,8,3,"div",7)(9,Ot,12,8,"div",8)(10,Pt,8,3,"div",9),r()()()),e&2&&(p("dynamicValidated",o.isNotEmpty(o.filter.ChannelID))("config",o.modalConfig),l(6),p("disabled",o.disabledChannelOption),V("ngModel",o.filter.ChannelID),l(),p("ngForOf",o.channelOptions),l(),p("ngIf",!o.isSingleChannel&&o.isNotEmpty(o.filter.ChannelID)),l(),G(o.hasScanUpdate&&o.selectedChannel?9:-1),l(),p("ngIf",!o.isSingleChannel&&o.isNotEmpty(o.filter.ChannelID)))},dependencies:[K,$,st,pt,ht,ft,gt,Ct,mt,P,w,lt],encapsulation:2});let n=d;return n})();var M=function(n){return n.Tokopedia="https://seller.tokopedia.com",n.Shoope="https://seller.shopee.co.id",n.Tiktok="https://seller-id.tiktok.com",n.WooCommerce="https://woocommerce.dealpos.app",n.Lazada="https://sellercenter.lazada.co.id",n}(M||{});var Dt=n=>({"is-disabled":n});function Et(n,d){if(n&1&&(H(0),a(1,"tr")(2,"td",11),s(3),r(),a(4,"td",11),s(5),r(),a(6,"td",12)(7,"p",13),s(8,"Product Not in Channel!"),r()()(),J()),n&2){let t=h().$implicit;l(3),S(" ",t==null?null:t.Model,""),l(2),S(" ",t==null?null:t.Code,"")}}function kt(n,d){if(n&1&&(a(0,"td",11),s(1),r()),n&2){let t=h(3).$implicit;z("rowspan",t.Channel.length),l(),S(" ",t==null?null:t.Model,"")}}function wt(n,d){if(n&1&&(a(0,"td",11),s(1),r()),n&2){let t=h(3).$implicit;z("rowspan",t.Channel.length),l(),S(" ",t==null?null:t.Code,"")}}function Nt(n,d){if(n&1&&(a(0,"tr"),C(1,kt,2,2,"td",14)(2,wt,2,2,"td",14),a(3,"td",11)(4,"div",15)(5,"a",16),y(6,"img",17),r(),a(7,"div",18),s(8),r()()(),a(9,"td",11),s(10),x(11,"number"),r(),a(12,"td",19),s(13),x(14,"number"),r(),a(15,"td",19)(16,"a",20),y(17,"i",21),a(18,"span",22),s(19,"Edit"),r()()()()),n&2){let t=d.$implicit,i=d.index,e=h(3);l(),p("ngIf",i==0),l(),p("ngIf",i==0),l(3),p("href",t.Url,I)("title",t.Title),l(),p("src",e.getChannelLogo(t.TypeID),I),l(),p("matTooltip",(t==null||t.Name==null?null:t.Name.length)>55?t==null?null:t.Name:""),l(),S(" ",t.Name," "),l(2),u(O(11,12,t.Price)),l(3),u(O(14,14,t.Inventory)),l(3),p("href",e.getHyperlinkSellerCenter(t),I)("ngClass",W(16,Dt,t.TypeID==e.channelType.KalCare))("matTooltip",t.TypeID!=e.channelType.KalCare?"Edit this product in Seller Center, inventory changes must be done via DEALPOS":"")}}function Vt(n,d){if(n&1&&C(0,Nt,20,18,"tr",9),n&2){let t=h().$implicit;p("ngForOf",t==null?null:t.Channel)}}function Ut(n,d){if(n&1&&(H(0),C(1,Et,9,2,"ng-container",10)(2,Vt,1,1,"ng-template",null,0,ot),J()),n&2){let t=d.$implicit,i=at(3);l(),p("ngIf",!t.Channel||t.Channel.length<1)("ngIfElse",i)}}var de=(()=>{let d=class d{constructor(i,e){this.data=i,this.dialogRef=e,this.channelType=m,this.variants=i.variants,this.title=i.title}ngOnInit(){this.initModalConfig()}initModalConfig(){this.modalConfig=new k,this.modalConfig.title=this.data.title,this.modalConfig.bodyScrollable=!0,this.modalConfig.hideCancel=!0,this.modalConfig.hideOk=!0}getChannelLogo(i){return f.getChannelLogoByTypeId(i)}getHyperlinkSellerCenter(i){let e="javascript:void(0)";switch(i.TypeID){case m.Shopee:e=`${M.Shoope}/portal/product/${i.ChannelItemID}`;break;case m.Tiktok:e=`${M.Tiktok}/product/edit/${i.ChannelItemID}`;break;case m.Tokopedia:e=`${M.Tokopedia}/edit-product/${i.ChannelItemID}`;break;case m.WooCommerce:e=`${M.WooCommerce}/wp-admin/post.php?post=${i.ChannelItemID}&action=edit`;break;case m.Lazada:e=`${M.Lazada}/apps/product/publish?productId=${i.ChannelItemID}`;break}return e}};d.\u0275fac=function(e){return new(e||d)(g(E),g(D))},d.\u0275cmp=T({type:d,selectors:[["app-modal-variant"]],decls:22,vars:2,consts:[["printChannelModal",""],[3,"onCancel","config"],["content",""],[1,"table"],[1,"sticky-top-thead","variant-modal"],[1,"text-start","sticky-top"],["matTooltip","Variant from POS",1,"fas","fa-info-circle","ms-1"],["matTooltip","Product and Variant from each Channel",1,"fas","fa-info-circle","ms-1"],[1,"text-start","sticky-top",2,"width","0%"],[4,"ngFor","ngForOf"],[4,"ngIf","ngIfElse"],[1,"text-start"],["colspan","3",1,"text-center"],[1,"my-auto"],["class","text-start",4,"ngIf"],[1,"d-flex"],["target","_blank",1,"me-1",3,"href","title"],[2,"width","20px","height","20px",3,"src"],[1,"text-ellipsis","ps-2",2,"max-width","18vw",3,"matTooltip"],[1,"text-center"],["target","_blank",1,"btn","btn-small","btn-light","px-4","py-2",3,"href","ngClass","matTooltip"],[1,"fa-solid","fa-pencil","me-2",2,"font-size","10px"],[1,"fs-6"]],template:function(e,o){e&1&&(a(0,"modal-material",1),v("onCancel",function(){return o.dialogRef.close()}),a(1,"div",2)(2,"table",3)(3,"thead",4)(4,"tr")(5,"th",5),s(6," VARIANT "),a(7,"sup"),y(8,"i",6),r()(),a(9,"th",5),s(10,"SKU"),r(),a(11,"th",5),s(12," PRODUCT "),a(13,"sup"),y(14,"i",7),r()(),a(15,"th",5),s(16,"PRICE"),r(),a(17,"th",8),s(18,"INVENTORY"),r(),y(19,"th",5),r()(),a(20,"tbody"),C(21,Ut,4,2,"ng-container",9),r()()()()),e&2&&(p("config",o.modalConfig),l(21),p("ngForOf",o.variants))},dependencies:[B,K,$,P,w,rt],styles:[".mat-dialog-title[_ngcontent-%COMP%]{margin-bottom:0%;margin-left:24px}.sticky-top-thead[_ngcontent-%COMP%] th.sticky-top[_ngcontent-%COMP%]{top:0}.table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr.sticky-top[_ngcontent-%COMP%]{border:none!important;border-bottom:1px solid!important}table[_ngcontent-%COMP%] > thead[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%]{border-top:none!important;border-left:none!important;border-right:none!important}.table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#fff!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child:after{border-right:0px!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child:before{border-left:0px!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:before{border-top:0px}a.is-disabled[_ngcontent-%COMP%]{color:gray;cursor:default}a.is-disabled[_ngcontent-%COMP%]:hover{text-decoration:none}"]});let n=d;return n})();var At=n=>({"bg-gradient-warning":n});function Lt(n,d){if(n&1&&(a(0,"tr",5)(1,"td"),s(2),r(),a(3,"td",6),s(4),r()()),n&2){let t=d.$implicit;p("matTooltip",t.duplicateMessage),l(2),u(t==null?null:t.Name),l(),p("ngClass",W(4,At,t.isDuplicate)),l(),u(t!=null&&t.ChannelVariationSKU?t==null?null:t.ChannelVariationSKU:"Not Assigned")}}var Ce=(()=>{let d=class d{constructor(i,e){this.data=i,this.dialogRef=e,this.variants=tt([])}ngOnInit(){this.initModalConfig(),this.initVariants()}initVariants(){let i=this.data?.variants,e={},o=[],_=i.filter(c=>f.IsEmpty(c.ChannelVariationSKU));i.filter(c=>f.IsNotEmpty(c.ChannelVariationSKU)).forEach((c,b,Y)=>{e[c.ChannelVariationSKU]=Y.filter(N=>N.ChannelVariationSKU===c.ChannelVariationSKU)}),Object.keys(e).forEach(c=>{e[c].length>1&&(e[c]=e[c].map((b,Y,N)=>{let q=`SKU ${b.ChannelVariationSKU} is duplicated with variant`;return N.forEach((j,Mt)=>{j.Name!==b.Name&&(q+=` ${N.length>2?j.Name+(Mt!==N.length-1?",":""):j.Name}`)}),b.duplicateMessage=q,b.isDuplicate=!0,b})),o.push(...e[c])}),o.push(..._),this.variants.set(o)}initModalConfig(){this.modalConfig=new k,this.modalConfig.title=this.data?.title,this.modalConfig.hideOk=!0,this.modalConfig.hideCancel=!0,this.modalConfig.bodyScrollable=!0}};d.\u0275fac=function(e){return new(e||d)(g(E),g(D))},d.\u0275cmp=T({type:d,selectors:[["app-modal-variants"]],decls:12,vars:1,consts:[[3,"onCancel","config"],["content",""],[1,"table"],[1,"sticky-top-thead","variant-modal"],[1,"sticky-top"],["matTooltipPosition","above",3,"matTooltip"],[3,"ngClass"]],template:function(e,o){e&1&&(a(0,"modal-material",0),v("onCancel",function(){return o.dialogRef.close()}),a(1,"div",1)(2,"table",2)(3,"thead",3)(4,"tr")(5,"th",4),s(6,"Variant"),r(),a(7,"th",4),s(8,"SKU"),r()()(),a(9,"tbody"),nt(10,Lt,5,6,"tr",5,et),r()()()()),e&2&&(p("config",o.modalConfig),l(10),it(o.variants()))},dependencies:[B,P,w],styles:[".mat-dialog-title[_ngcontent-%COMP%]{margin-bottom:0%;margin-left:24px}.sticky-top-thead[_ngcontent-%COMP%] th.sticky-top[_ngcontent-%COMP%]{top:0}.table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr.sticky-top[_ngcontent-%COMP%]{border:none!important;border-bottom:1px solid!important}table[_ngcontent-%COMP%] > thead[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%]{border-top:none!important;border-left:none!important;border-right:none!important}.table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#f6f6f6!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child:after{border-right:0px!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child:before{border-left:0px!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:before{border-top:0px}"]});let n=d;return n})();export{te as a,de as b,Ce as c};
1
+ import{a as ct}from"./chunk-IVLDZPVQ.js";import{a as Ct}from"./chunk-BQ7NR3ET.js";import{a as ht,b as ft}from"./chunk-UMNGKENU.js";import{f as gt}from"./chunk-HCDKYABV.js";import{b as D,c as E,i as k,j as w}from"./chunk-BO4PPSB5.js";import{t as P}from"./chunk-HUUFOAKH.js";import{X as mt}from"./chunk-E5GGIVK7.js";import{h as st,m as pt}from"./chunk-BSN7ZAXG.js";import{b as m,c as f}from"./chunk-64G3XLI6.js";import{o as dt}from"./chunk-OVEJFFL6.js";import{$b as v,Bd as rt,Da as L,Ea as F,Eb as C,Fb as z,Gb as p,Gc as x,Hc as O,Jc as ot,Nb as G,Ob as et,Qb as nt,Rb as it,Sb as a,Tb as r,Ub as y,Vb as H,Wb as J,Yb as R,Z as X,bc as h,gb as I,jb as l,kb as g,mc as at,nc as s,oc as u,pa as Z,pc as S,rc as V,sc as U,sd as B,ta as T,tc as A,ud as K,v as Q,vd as $,xb as tt,xc as W,yd as lt}from"./chunk-PQDPS2ID.js";function bt(n,d){if(n&1&&(a(0,"mat-option",10)(1,"div",11),y(2,"img",12),a(3,"span"),s(4),r()()()),n&2){let t=d.$implicit;p("value",t.ID)("disabled",t.disabled),l(),p("matTooltip",t.disabled?"Single Product Scan disabled for this type of Channel":null),l(),p("src",t.Img,I),l(2),u(t.Name)}}function Tt(n,d){if(n&1){let t=R();a(0,"div",13)(1,"label",14),s(2,"Scan Type"),r(),a(3,"mat-radio-group",15),A("ngModelChange",function(e){L(t);let o=h();return U(o.filter.ScanFull,e)||(o.filter.ScanFull=e),F(e)}),a(4,"mat-radio-button",16),s(5," Full (Include Inactive Products) "),r(),a(6,"mat-radio-button",17),s(7," Active "),r()()()}if(n&2){let t=h();l(3),V("ngModel",t.filter.ScanFull),l(),p("value",!0),l(2),p("value",!1)}}function It(n,d){n&1&&(a(0,"span"),s(1,"Never"),r())}function xt(n,d){if(n&1&&(a(0,"span"),s(1),x(2,"async"),r()),n&2){let t=h(2);l(),u(O(2,1,t.lastSync$))}}function Ot(n,d){if(n&1){let t=R();a(0,"div",8)(1,"label",3)(2,"span",18),s(3,"Last Scan:"),r(),C(4,It,2,0,"span"),x(5,"async"),C(6,xt,3,3,"span"),r(),a(7,"mat-radio-group",19),A("ngModelChange",function(e){L(t);let o=h();return U(o.filter.UpdatedProduct,e)||(o.filter.UpdatedProduct=e),F(e)}),a(8,"mat-radio-button",20),s(9," Scan All Products "),r(),a(10,"mat-radio-button",21),s(11),r()()()}if(n&2){let t=h();l(4),G(O(5,6,t.lastSync$)==null?4:6),l(3),V("ngModel",t.filter.UpdatedProduct),l(),p("value",!1),l(2),p("value",!0)("matTooltip",t.selectedChannel.TypeID==t.channelType.Tokopedia?"Use Tokopedia URL for mapping SKU between POS and Tokopedia":"Scan only products that have been updated since the last channel scan"),l(),S(" ",t.selectedChannel.TypeID==t.channelType.Tokopedia?"Product Download By URL":"Scan Updated Products"," ")}}function Pt(n,d){if(n&1){let t=R();a(0,"div",8)(1,"label",3),s(2," Scan Option "),r(),a(3,"mat-radio-group",22),A("ngModelChange",function(e){L(t);let o=h();return U(o.filter.Async,e)||(o.filter.Async=e),F(e)}),a(4,"mat-radio-button",23),s(5," Asynchronous (Get Notified when Complete) "),r(),a(6,"mat-radio-button",24),s(7," Synchronous (Wait until Complete) "),r()()()}if(n&2){let t=h();l(3),V("ngModel",t.filter.Async),l(),p("value",!0),l(2),p("value",!1)}}var te=(()=>{let d=class d{constructor(i,e,o){this.dialogRef=i,this.data=e,this.router=o,this.channelService=Z(ct),this.channelType=m,this.disabledChannelOption=!1,this.filter={ChannelID:f.GuidEMpty,ScanFull:!0,UpdatedProduct:!1,Async:!1},this.isSingleChannel=f.IsNotEmpty(e.isSingleChannel)?this.data.isSingleChannel:!1,this.disabledChannelOption=f.IsEmpty(e.disabledChannelOption)?!1:this.data.disabledChannelOption}ngOnInit(){this.initChannelOptions(),this.initFilter(),this.onSelectChannel(this.data?.filter?.ChannelID),this.initModalConfig()}initModalConfig(){this.modalConfig=new k,this.modalConfig.title=this.isSingleChannel?"Scan Single Product":"Scan Channel Marketplace",this.modalConfig.bodyScrollable=!0}initFilter(){this.filter.ChannelID=this.data?.filter?.ChannelID}initChannelOptions(){this.channelOptions=JSON.parse(JSON.stringify(this.data.channelOptions)),this.isSingleChannel&&(this.channelOptions=this.channelOptions.map(i=>(i.disabled=!0,(i.TypeID==m.Tiktok||i.TypeID==m.Tokopedia||i.TypeID==m.Lazada||i.TypeID==m.WooCommerce)&&(i.disabled=!1),i)).sort(i=>i.disabled?1:-1))}onSelectChannel(i){let e=this.filterChannelById(i);this.selectedChannel=e,this.filter.Async=!0,this.iniHasScanUpdate(),this.getLastSync(i)}getLastSync(i){this.lastSync$=this.channelService.getLastSync(i).pipe(Q(e=>(this.selectedChannel.LastSync=e.LastSync,this.setDefaultConfigUpdate(),f.IsNotEmpty(e.LastSync)?f.convertToReadableDate(e.LastSync):null)),X(1))}setDefaultConfigUpdate(){this.filter.UpdatedProduct=!1,this.selectedChannel&&f.IsNotEmpty(this.selectedChannel.LastSync)&&(this.selectedChannel.TypeID==m.Shopee||this.selectedChannel.TypeID==m.Tiktok||this.selectedChannel.TypeID==m.Lazada)&&(this.filter.UpdatedProduct=!0)}iniHasScanUpdate(){this.selectedChannel?.TypeID!=m.WooCommerce&&this.selectedChannel?.TypeID!=m.KalCare&&this.selectedChannel?.TypeID!=m.None&&!this.isSingleChannel?this.hasScanUpdate=!0:this.hasScanUpdate=!1}filterChannelById(i){let e;return this.channelOptions&&(e=this.channelOptions.find(o=>o.ID==i)),e}submit(){this.selectedChannel.TypeID==m.Tokopedia&&this.filter.UpdatedProduct?this.router.navigate(["/menu/products/download/by-url"]).then(()=>{this.dialogRef.close()}):this.dialogRef.close(this.filter)}isNotEmpty(i){return f.IsNotEmpty(i)}onClose(){this.dialogRef.close()}};d.\u0275fac=function(e){return new(e||d)(g(D),g(E),g(dt))},d.\u0275cmp=T({type:d,selectors:[["app-scan-dialog"]],decls:11,vars:8,consts:[[3,"onOk","onClose","onCancel","dynamicValidated","config"],["content",""],[1,"mx-4"],[1,"mb-2","fw-bold"],["appearance","outline",1,"w-100"],["name","channelid","placeholder","Channel",1,"mat-select-channel",3,"ngModelChange","disabled","ngModel"],["class","channel-option",3,"value","disabled",4,"ngFor","ngForOf"],["class","mt-4",4,"ngIf"],[1,"mt-8"],["class","mt-8",4,"ngIf"],[1,"channel-option",3,"value","disabled"],["matTooltipPosition","above","matTooltipClass","custom-width-tooltip",3,"matTooltip"],[2,"width","18px","margin-right","10px",3,"src"],[1,"mt-4"],[1,"mb-2","fw-bold","mt-3"],["name","scanType",1,"form-control","h-100","round",3,"ngModelChange","ngModel"],["matTooltipClass","custom-width-tooltip","matTooltipPosition","above","matTooltip","Full Scan Product",1,"me-5",3,"value"],["matTooltipClass","custom-width-tooltip","matTooltipPosition","above","matTooltip","Only Active Product",1,"me-5",3,"value"],[1,"me-2"],["name","ScanFull",1,"form-control","h-100","round",2,"line-height","2",3,"ngModelChange","ngModel"],["matTooltipClass","custom-width-tooltip","matTooltipPosition","above","matTooltip","Scan product from beginning ( use this if you haven't scanned at all)",1,"me-5",3,"value"],["matTooltipClass","custom-width-tooltip","matTooltipPosition","above",1,"me-5",3,"value","matTooltip"],["name","Async",1,"form-control","h-100","round",2,"line-height","2",3,"ngModelChange","ngModel"],["matTooltipClass","custom-width-tooltip","matTooltip","Scan is running in the background, status will be visible in the notification menu","matTooltipPosition","above",1,"me-5",3,"value"],[1,"me-5",3,"value"]],template:function(e,o){e&1&&(a(0,"modal-material",0),v("onOk",function(){return o.submit()})("onClose",function(){return o.onClose()})("onCancel",function(){return o.onClose()}),a(1,"div",1)(2,"div",2)(3,"label",3),s(4,"Select a Channel"),r(),a(5,"mat-form-field",4)(6,"mat-select",5),A("ngModelChange",function(c){return U(o.filter.ChannelID,c)||(o.filter.ChannelID=c),c}),v("ngModelChange",function(c){return o.onSelectChannel(c)}),C(7,bt,5,5,"mat-option",6),r()(),C(8,Tt,8,3,"div",7)(9,Ot,12,8,"div",8)(10,Pt,8,3,"div",9),r()()()),e&2&&(p("dynamicValidated",o.isNotEmpty(o.filter.ChannelID))("config",o.modalConfig),l(6),p("disabled",o.disabledChannelOption),V("ngModel",o.filter.ChannelID),l(),p("ngForOf",o.channelOptions),l(),p("ngIf",!o.isSingleChannel&&o.isNotEmpty(o.filter.ChannelID)),l(),G(o.hasScanUpdate&&o.selectedChannel?9:-1),l(),p("ngIf",!o.isSingleChannel&&o.isNotEmpty(o.filter.ChannelID)))},dependencies:[K,$,st,pt,ht,ft,gt,Ct,mt,P,w,lt],encapsulation:2});let n=d;return n})();var M=function(n){return n.Tokopedia="https://seller.tokopedia.com",n.Shoope="https://seller.shopee.co.id",n.Tiktok="https://seller-id.tiktok.com",n.WooCommerce="https://woocommerce.dealpos.app",n.Lazada="https://sellercenter.lazada.co.id",n}(M||{});var Dt=n=>({"is-disabled":n});function Et(n,d){if(n&1&&(H(0),a(1,"tr")(2,"td",11),s(3),r(),a(4,"td",11),s(5),r(),a(6,"td",12)(7,"p",13),s(8,"Product Not in Channel!"),r()()(),J()),n&2){let t=h().$implicit;l(3),S(" ",t==null?null:t.Model,""),l(2),S(" ",t==null?null:t.Code,"")}}function kt(n,d){if(n&1&&(a(0,"td",11),s(1),r()),n&2){let t=h(3).$implicit;z("rowspan",t.Channel.length),l(),S(" ",t==null?null:t.Model,"")}}function wt(n,d){if(n&1&&(a(0,"td",11),s(1),r()),n&2){let t=h(3).$implicit;z("rowspan",t.Channel.length),l(),S(" ",t==null?null:t.Code,"")}}function Nt(n,d){if(n&1&&(a(0,"tr"),C(1,kt,2,2,"td",14)(2,wt,2,2,"td",14),a(3,"td",11)(4,"div",15)(5,"a",16),y(6,"img",17),r(),a(7,"div",18),s(8),r()()(),a(9,"td",11),s(10),x(11,"number"),r(),a(12,"td",19),s(13),x(14,"number"),r(),a(15,"td",19)(16,"a",20),y(17,"i",21),a(18,"span",22),s(19,"Edit"),r()()()()),n&2){let t=d.$implicit,i=d.index,e=h(3);l(),p("ngIf",i==0),l(),p("ngIf",i==0),l(3),p("href",t.Url,I)("title",t.Title),l(),p("src",e.getChannelLogo(t.TypeID),I),l(),p("matTooltip",(t==null||t.Name==null?null:t.Name.length)>55?t==null?null:t.Name:""),l(),S(" ",t.Name," "),l(2),u(O(11,12,t.Price)),l(3),u(O(14,14,t.Inventory)),l(3),p("href",e.getHyperlinkSellerCenter(t),I)("ngClass",W(16,Dt,t.TypeID==e.channelType.KalCare))("matTooltip",t.TypeID!=e.channelType.KalCare?"Edit this product in Seller Center, inventory changes must be done via DEALPOS":"")}}function Vt(n,d){if(n&1&&C(0,Nt,20,18,"tr",9),n&2){let t=h().$implicit;p("ngForOf",t==null?null:t.Channel)}}function Ut(n,d){if(n&1&&(H(0),C(1,Et,9,2,"ng-container",10)(2,Vt,1,1,"ng-template",null,0,ot),J()),n&2){let t=d.$implicit,i=at(3);l(),p("ngIf",!t.Channel||t.Channel.length<1)("ngIfElse",i)}}var de=(()=>{let d=class d{constructor(i,e){this.data=i,this.dialogRef=e,this.channelType=m,this.variants=i.variants,this.title=i.title}ngOnInit(){this.initModalConfig()}initModalConfig(){this.modalConfig=new k,this.modalConfig.title=this.data.title,this.modalConfig.bodyScrollable=!0,this.modalConfig.hideCancel=!0,this.modalConfig.hideOk=!0}getChannelLogo(i){return f.getChannelLogoByTypeId(i)}getHyperlinkSellerCenter(i){let e="javascript:void(0)";switch(i.TypeID){case m.Shopee:e=`${M.Shoope}/portal/product/${i.ChannelItemID}`;break;case m.Tiktok:e=`${M.Tiktok}/product/edit/${i.ChannelItemID}`;break;case m.Tokopedia:e=`${M.Tokopedia}/edit-product/${i.ChannelItemID}`;break;case m.WooCommerce:e=`${M.WooCommerce}/wp-admin/post.php?post=${i.ChannelItemID}&action=edit`;break;case m.Lazada:e=`${M.Lazada}/apps/product/publish?productId=${i.ChannelItemID}`;break}return e}};d.\u0275fac=function(e){return new(e||d)(g(E),g(D))},d.\u0275cmp=T({type:d,selectors:[["app-modal-variant"]],decls:22,vars:2,consts:[["printChannelModal",""],[3,"onCancel","config"],["content",""],[1,"table"],[1,"sticky-top-thead","variant-modal"],[1,"text-start","sticky-top"],["matTooltip","Variant from POS",1,"fas","fa-info-circle","ms-1"],["matTooltip","Product and Variant from each Channel",1,"fas","fa-info-circle","ms-1"],[1,"text-start","sticky-top",2,"width","0%"],[4,"ngFor","ngForOf"],[4,"ngIf","ngIfElse"],[1,"text-start"],["colspan","3",1,"text-center"],[1,"my-auto"],["class","text-start",4,"ngIf"],[1,"d-flex"],["target","_blank",1,"me-1",3,"href","title"],[2,"width","20px","height","20px",3,"src"],[1,"text-ellipsis","ps-2",2,"max-width","18vw",3,"matTooltip"],[1,"text-center"],["target","_blank",1,"btn","btn-small","btn-light","px-4","py-2",3,"href","ngClass","matTooltip"],[1,"fa-solid","fa-pencil","me-2",2,"font-size","10px"],[1,"fs-6"]],template:function(e,o){e&1&&(a(0,"modal-material",1),v("onCancel",function(){return o.dialogRef.close()}),a(1,"div",2)(2,"table",3)(3,"thead",4)(4,"tr")(5,"th",5),s(6," VARIANT "),a(7,"sup"),y(8,"i",6),r()(),a(9,"th",5),s(10,"SKU"),r(),a(11,"th",5),s(12," PRODUCT "),a(13,"sup"),y(14,"i",7),r()(),a(15,"th",5),s(16,"PRICE"),r(),a(17,"th",8),s(18,"INVENTORY"),r(),y(19,"th",5),r()(),a(20,"tbody"),C(21,Ut,4,2,"ng-container",9),r()()()()),e&2&&(p("config",o.modalConfig),l(21),p("ngForOf",o.variants))},dependencies:[B,K,$,P,w,rt],styles:[".mat-dialog-title[_ngcontent-%COMP%]{margin-bottom:0%;margin-left:24px}.sticky-top-thead[_ngcontent-%COMP%] th.sticky-top[_ngcontent-%COMP%]{top:0}.table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr.sticky-top[_ngcontent-%COMP%]{border:none!important;border-bottom:1px solid!important}table[_ngcontent-%COMP%] > thead[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%]{border-top:none!important;border-left:none!important;border-right:none!important}.table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#fff!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child:after{border-right:0px!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child:before{border-left:0px!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:before{border-top:0px}a.is-disabled[_ngcontent-%COMP%]{color:gray;cursor:default}a.is-disabled[_ngcontent-%COMP%]:hover{text-decoration:none}"]});let n=d;return n})();var At=n=>({"bg-gradient-warning":n});function Lt(n,d){if(n&1&&(a(0,"tr",5)(1,"td"),s(2),r(),a(3,"td",6),s(4),r()()),n&2){let t=d.$implicit;p("matTooltip",t.duplicateMessage),l(2),u(t==null?null:t.Name),l(),p("ngClass",W(4,At,t.isDuplicate)),l(),u(t!=null&&t.ChannelVariationSKU?t==null?null:t.ChannelVariationSKU:"Not Assigned")}}var Ce=(()=>{let d=class d{constructor(i,e){this.data=i,this.dialogRef=e,this.variants=tt([])}ngOnInit(){this.initModalConfig(),this.initVariants()}initVariants(){let i=this.data?.variants,e={},o=[],_=i.filter(c=>f.IsEmpty(c.ChannelVariationSKU));i.filter(c=>f.IsNotEmpty(c.ChannelVariationSKU)).forEach((c,b,Y)=>{e[c.ChannelVariationSKU]=Y.filter(N=>N.ChannelVariationSKU===c.ChannelVariationSKU)}),Object.keys(e).forEach(c=>{e[c].length>1&&(e[c]=e[c].map((b,Y,N)=>{let q=`SKU ${b.ChannelVariationSKU} is duplicated with variant`;return N.forEach((j,Mt)=>{j.Name!==b.Name&&(q+=` ${N.length>2?j.Name+(Mt!==N.length-1?",":""):j.Name}`)}),b.duplicateMessage=q,b.isDuplicate=!0,b})),o.push(...e[c])}),o.push(..._),this.variants.set(o)}initModalConfig(){this.modalConfig=new k,this.modalConfig.title=this.data?.title,this.modalConfig.hideOk=!0,this.modalConfig.hideCancel=!0,this.modalConfig.bodyScrollable=!0}};d.\u0275fac=function(e){return new(e||d)(g(E),g(D))},d.\u0275cmp=T({type:d,selectors:[["app-modal-variants"]],decls:12,vars:1,consts:[[3,"onCancel","config"],["content",""],[1,"table"],[1,"sticky-top-thead","variant-modal"],[1,"sticky-top"],["matTooltipPosition","above",3,"matTooltip"],[3,"ngClass"]],template:function(e,o){e&1&&(a(0,"modal-material",0),v("onCancel",function(){return o.dialogRef.close()}),a(1,"div",1)(2,"table",2)(3,"thead",3)(4,"tr")(5,"th",4),s(6,"Variant"),r(),a(7,"th",4),s(8,"SKU"),r()()(),a(9,"tbody"),nt(10,Lt,5,6,"tr",5,et),r()()()()),e&2&&(p("config",o.modalConfig),l(10),it(o.variants()))},dependencies:[B,P,w],styles:[".mat-dialog-title[_ngcontent-%COMP%]{margin-bottom:0%;margin-left:24px}.sticky-top-thead[_ngcontent-%COMP%] th.sticky-top[_ngcontent-%COMP%]{top:0}.table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr.sticky-top[_ngcontent-%COMP%]{border:none!important;border-bottom:1px solid!important}table[_ngcontent-%COMP%] > thead[_ngcontent-%COMP%] > tr[_ngcontent-%COMP%]{border-top:none!important;border-left:none!important;border-right:none!important}.table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#f6f6f6!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:last-child:after{border-right:0px!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child:before{border-left:0px!important}.sticky-top-thead.variant-modal[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:before{border-top:0px}"]});let n=d;return n})();export{te as a,de as b,Ce as c};
@@ -1 +1 @@
1
- import{a as he}from"./chunk-B5PFUQJP.js";import{a as oe}from"./chunk-BVIRHZTZ.js";import{a as fe}from"./chunk-N6IHFFFZ.js";import{a as xe,b as Ce}from"./chunk-PD4CUVAW.js";import{c as ue}from"./chunk-ADRVUMMW.js";import{a as ge}from"./chunk-XFTUE2ST.js";import{g as de}from"./chunk-HCDKYABV.js";import{i as ce}from"./chunk-EDPYVTYS.js";import{d as pe,g as se}from"./chunk-BO4PPSB5.js";import{t as _e,u as me}from"./chunk-HUUFOAKH.js";import{b as ee,h as te,m as ne,y as ie}from"./chunk-BSN7ZAXG.js";import{c as re,e as le,f as ae}from"./chunk-64G3XLI6.js";import{$b as T,Bd as J,Cd as Q,Da as g,Ea as u,Eb as p,Gb as m,Gc as $,Hc as j,Ic as q,Jc as w,Ma as B,Nb as v,Ob as E,Pa as U,Qb as M,Rb as V,Sb as c,Tb as _,Ub as I,Vb as C,Wb as f,Xb as R,Yb as h,bc as r,ca as z,ec as H,f as W,gb as S,jb as a,kb as P,mc as b,nc as s,oc as k,pc as y,rc as O,sc as D,sd as K,ta as A,tc as N,ud as X,vc as Z,vd as Y,xc as x,xd as G}from"./chunk-PQDPS2ID.js";var L=e=>[e],Te=e=>({"text-decoration-line-through":e}),be=e=>({"ms-10":e}),ye=e=>({"text-danger":e}),Se=e=>({"bg-gradient-warning":e});function ve(e,l){if(e&1){let n=h();c(0,"mat-slide-toggle",13),T("toggleChange",function(){g(n);let t=r();return t.toggleStatus=!t.toggleStatus,u(t.onToggle())}),c(1,"small",14),s(2),_()()}if(e&2){let n=r();a(2),y(" ",n.productToggleTitle?n.productToggleTitle:"FILTER DIFFERENT INVENTORY"," ")}}function Ie(e,l){if(e&1){let n=h();c(0,"th")(1,"input",16),N("ngModelChange",function(t){g(n);let o=r(2);return D(o.checkboxState,t)||(o.checkboxState=t),u(t)}),T("ngModelChange",function(){g(n);let t=r(2);return u(t.onCheckboxStateChange())}),_()()}if(e&2){let n=r(2);a(),O("ngModel",n.checkboxState)}}function we(e,l){if(e&1&&(p(0,Ie,2,1,"ng-template",15),c(1,"th",11),s(2,"POS"),_()),e&2){let n=r();m("ngxPermissionsOnly",x(1,L,n.rolePriceEdit))}}function Fe(e,l){if(e&1&&(C(0),c(1,"th",17)(2,"div",18)(3,"div",19),I(4,"img",20),c(5,"div",21),s(6),$(7,"stringLimit"),_()()()(),f()),e&2){let n=l.$implicit;a(3),m("matTooltip",(n.Name==null?null:n.Name.length)>20?n.Name:""),a(),m("src",n==null?null:n.Img,S),a(2),y(" ",q(7,3,n.Name,20)," ")}}function Pe(e,l){e&1&&R(0)}function Ee(e,l){if(e&1&&(C(0),p(1,Pe,1,0,"ng-container",33),f()),e&2){r();let n=b(7);a(),m("ngTemplateOutlet",n)}}function Me(e,l){e&1&&R(0)}function Ve(e,l){if(e&1&&p(0,Me,1,0,"ng-container",33),e&2){r(2);let n=b(7);m("ngTemplateOutlet",n)}}function ke(e,l){if(e&1&&p(0,Ve,1,1,"ng-template",15),e&2){let n=r(4);m("ngxPermissionsOnly",x(1,L,n.rolePriceEdit))}}function Oe(e,l){if(e&1){let n=h();C(0),c(1,"input",34),N("ngModelChange",function(t){g(n);let o=r(4).$implicit;return D(o.selected,t)||(o.selected=t),u(t)}),T("ngModelChange",function(){g(n);let t=r(4).$implicit,o=r();return u(o.onCheckboxStateProduct(t.ID))}),_(),f()}if(e&2){let n=r(4).$implicit;a(),O("ngModel",n.selected),m("disabled",!(n!=null&&n.Category))}}function De(e,l){if(e&1&&p(0,Oe,2,2,"ng-container",22),e&2){let n=r(3).$implicit;m("ngIf",(n==null||n.Variants==null?null:n.Variants.length)>1)}}function Ne(e,l){if(e&1){let n=h();C(0),c(1,"img",35),T("click",function(t){g(n);let o=r(3).$implicit,d=r();return u(d.onZoomImage(t,o==null?null:o.ImageUrl))}),_(),f()}if(e&2){let n=r(3).$implicit;a(),H("src",n==null?null:n.ThumbnailUrl,S)}}function $e(e,l){e&1&&I(0,"img",36)}function Be(e,l){if(e&1&&(C(0),c(1,"td",28)(2,"div",29),p(3,Ee,2,1,"ng-container",30)(4,ke,1,3,"ng-template",null,0,w)(6,De,1,1,"ng-template",null,1,w),c(8,"div",26),p(9,Ne,2,1,"ng-container",30)(10,$e,1,0,"ng-template",null,2,w),_()()(),c(12,"td",31)(13,"div"),s(14),_(),c(15,"small",32),s(16),_()(),f()),e&2){let n=b(5),i=b(11),t=r(2).$implicit,o=r();a(),m("rowSpan",t==null?null:t.Variants.length),a(2),m("ngIf",o.table=="inventory")("ngIfElse",n),a(5),m("ngClass",x(10,be,(t==null||t.Variants==null?null:t.Variants.length)<=1)),a(),m("ngIf",t==null?null:t.ThumbnailUrl)("ngIfElse",i),a(3),m("rowSpan",t==null?null:t.Variants.length),a(2),k(t==null?null:t.Name),a(),m("ngClass",x(12,ye,!(t!=null&&t.Category))),a(),y("(",t!=null&&t.Category?t==null?null:t.Category:"Not Found In POS",")")}}function Ue(e,l){if(e&1&&(c(0,"a",27),I(1,"i",37),_()),e&2){let n=r().$implicit,i=r(2);m("href",i.hostName+"/menu/Products/Catalog/Variants/Info?ID="+(n==null?null:n.ID),S)}}function Re(e,l){if(e&1){let n=h();c(0,"input",40),N("ngModelChange",function(t){g(n);let o=r(3).$implicit;return D(o.selected,t)||(o.selected=t),u(t)}),_()}if(e&2){let n=r(3).$implicit,i=r().$implicit;O("ngModel",n.selected),m("disabled",!(i!=null&&i.Category))}}function je(e,l){if(e&1&&(c(0,"td",38),p(1,Re,1,2,"input",39),_()),e&2){let n=r(2).$implicit,i=r(2);a(),m("ngIf",i.printPOS(n)>=0||i.table=="price")}}function Le(e,l){if(e&1&&(p(0,je,2,1,"ng-template",15),c(1,"td",24),s(2),$(3,"number"),_()),e&2){let n=r().$implicit,i=r(2);m("ngxPermissionsOnly",x(4,L,i.rolePriceEdit)),a(2),k(j(3,2,i.printPOS(n)))}}function We(e,l){if(e&1){let n=h();C(0),c(1,"td",41),T("click",function(){g(n);let t=r().$implicit,o=r().$implicit,d=r().$implicit,F=r();return u(F.openTableDialog(d.Name,o,t.ID,d.ChannelItemID))}),c(2,"div",29)(3,"div",42),s(4),$(5,"number"),_(),c(6,"a",43),T("click",function(t){return g(n),u(t==null?null:t.stopPropagation())}),I(7,"i",37),_()()(),f()}if(e&2){let n=l.$implicit,i=r(2).$implicit,t=r(2);a(),m("ngClass",x(5,Se,t.printPOS(i)!=t.printItem(n)&&t.hiddenIPOSInventory()==!1)),a(3),y(" ",j(5,3,t.printItem(n))," "),a(2),m("href",n.Url,S)}}function ze(e,l){e&1&&(c(0,"td",44)(1,"div",29)(2,"span"),s(3,"X"),_()()())}function Ae(e,l){if(e&1&&p(0,We,8,7,"ng-container",30)(1,ze,4,0,"ng-template",null,3,w),e&2){let n=l.$implicit,i=b(2),t=r().$implicit,o=r(2);m("ngIf",o.getItemFromChannel(t,n))("ngIfElse",i)}}function He(e,l){if(e&1&&(c(0,"tr"),p(1,Be,17,14,"ng-container",22),c(2,"td",23),s(3),_(),c(4,"td",24)(5,"div",25)(6,"div",26),s(7),_(),c(8,"div",21),p(9,Ue,2,1,"a",27),_()()(),p(10,Le,4,6),M(11,Ae,3,2,null,null,E),_()),e&2){let n=l.$implicit,i=l.$index,t=r().$implicit,o=r();a(),m("ngIf",i==0),a(2),k(n==null?null:n.Model),a(2),m("matTooltip",n.Discontinued?o.discontinuedVariantMsg:""),a(),m("ngClass",x(7,Te,n.Discontinued)),a(),y(" ",n.Code," "),a(2),v(t.Category?9:-1),a(),v(o.hiddenIPOSInventory()==!1?10:-1),a(),V(o.channel)}}function Ze(e,l){if(e&1&&(c(0,"tbody"),M(1,He,13,9,"tr",null,E),_()),e&2){let n=l.$implicit;a(),V(n.Variants)}}var bt=(()=>{let l=class l{constructor(i,t,o){this.dialog=i,this.biggerPictureService=t,this.authService=o,this.showProductToggle=!1,this.multiwarehouse=B(!1),this.hiddenIPOSInventory=B(!1),this.toggleStatus=!1,this.checkboxState=!1,this.rolePriceEdit=oe.price,this.discontinuedVariantMsg="This Variant is discontinued from POS, you must Non Active manually at the seller center so that it is not sold again on the channel.",this.onSubmit=new U,this.destroy$=new W,this.toggle=new U,this.hostName=this.authService.getDomain()}ngOnInit(){this.table=="inventory"?this.stockHeader="Stock":this.table=="price"&&(this.stockHeader="Price")}onCheckboxStateProduct(i){let t=this.data.filter(o=>o.ID==i);t.length>0&&(t=t.map(o=>(o.Variants=o.Variants.map(d=>(d.selected=o.selected,d)),o)))}onCheckboxStateChange(){this.data=this.data.map(i=>(i.Variants=i.Variants.map(t=>(t.selected=this.checkboxState,t)),i))}getItemFromChannel(i,t){return i.Channel.find(d=>re.IsNotEmpty(t.LocationID)?d.LocationID==t.LocationID:d.ChannelID==t.ID)}printItem(i){if(this.table=="inventory")return i.Inventory;if(this.table=="price")return i.Price}openTableDialog(i,t,o,d){this.dialog.open(he,{data:{Name:i,Variant:t,ChannelID:o,Table:this.table,ChannelItemID:d}}).afterClosed().pipe(z(this.destroy$)).subscribe(F=>{F!=null&&this.onSubmit.emit(F)})}printPOS(i){return this.table=="inventory"?i.Inventory?i.Inventory:0:this.table=="price"?i.UnitPrice:null}onToggle(){this.toggle.emit(this.toggleStatus)}onZoomImage(i,t){this.biggerPictureService.openBiggerPicture(i,t)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}};l.\u0275fac=function(t){return new(t||l)(P(pe),P(ge),P(ce))},l.\u0275cmp=A({type:l,selectors:[["app-table"]],inputs:{data:"data",table:"table",channel:"channel",showProductToggle:"showProductToggle",productToggleTitle:"productToggleTitle",multiwarehouse:[1,"multiwarehouse"],hiddenIPOSInventory:[1,"hiddenIPOSInventory"]},outputs:{onSubmit:"onSubmit",toggle:"onToggle"},standalone:!0,features:[Z],decls:17,vars:3,consts:[["PRICE",""],["checkbox_update",""],["elsePic",""],["elseCol",""],[1,"table-responsive"],[1,"table"],[1,"thead-light","sticky-top-thead"],["scope","col","colspan","2",1,"text-center","w-25"],[1,"w-100"],[2,"width","200px"],["scope","col",1,"text-start","w-20"],["scope","col",1,"text-end","w-10"],[4,"ngFor","ngForOf"],[2,"width","200px",3,"toggleChange"],[1,"fw-bold"],[3,"ngxPermissionsOnly"],["type","checkbox",3,"ngModelChange","ngModel"],["scope","col"],[1,"w-100","d-flex","align-items-center","justify-content-center"],["matTooltipPosition","above",1,"d-flex","align-items-center","justify-content-center",2,"width","180px",3,"matTooltip"],[2,"width","16px","height","16px",3,"src"],[1,"ms-2"],[4,"ngIf"],[1,"text-start"],[1,"text-end"],["matTooltipPosition","above",1,"d-flex","align-items-center","justify-content-end",3,"matTooltip"],[3,"ngClass"],["target","_blank",3,"href"],[1,"text-center",3,"rowSpan"],[1,"d-flex","align-items-center","justify-content-center"],[4,"ngIf","ngIfElse"],[1,"text-start",2,"padding-left","0px",3,"rowSpan"],[1,"mt-1",3,"ngClass"],[4,"ngTemplateOutlet"],["type","checkbox",1,"me-3",3,"ngModelChange","ngModel","disabled"],[1,"border","rounded","w-img","cursor-pointer",3,"click","src"],["src","//res.cloudinary.com/pos/image/upload/w_40/POS/Images/Icon/products_thumb.png",1,"border","rounded","w-img"],[1,"fas","fa-solid","fa-arrow-up-right-from-square","external-link-custom"],[1,"align-middle"],["type","checkbox",3,"ngModel","disabled","ngModelChange",4,"ngIf"],["type","checkbox",3,"ngModelChange","ngModel","disabled"],[1,"p-0","pointer","cell-hover",3,"click","ngClass"],[1,"me-2","mt-1"],["target","_blank",3,"click","href"],[1,"table-white","text-center",2,"color","red"]],template:function(t,o){t&1&&(c(0,"div",4)(1,"table",5)(2,"thead",6)(3,"tr")(4,"th",7)(5,"div",8)(6,"div"),s(7,"Product"),_(),p(8,ve,3,1,"mat-slide-toggle",9),_()(),c(9,"th",10),s(10,"Variant"),_(),c(11,"th",11),s(12,"SKU"),_(),p(13,we,3,3)(14,Fe,8,6,"ng-container",12),_()(),M(15,Ze,3,0,"tbody",null,E),_()()),t&2&&(a(8),v(o.showProductToggle?8:-1),a(5),v(o.hiddenIPOSInventory()==!1?13:-1),a(),m("ngForOf",o.channel),a(),V(o.data))},dependencies:[Q,K,X,Y,G,J,ie,ee,te,ne,Ce,xe,se,de,ue,ae,le,me,_e,fe],styles:[".w-10[_ngcontent-%COMP%]{width:10%}.w-20[_ngcontent-%COMP%]{width:20%}.w-img[_ngcontent-%COMP%]{width:40px;height:40px}.item-name[_ngcontent-%COMP%]{margin-bottom:-14px!important;font-size:larger}.cell-hover[_ngcontent-%COMP%]:hover{background-color:#c9c9c9!important}.text-wrapping[_ngcontent-%COMP%]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:88px}.cell-hover[_ngcontent-%COMP%]{width:400px!important}"]});let e=l;return e})();export{bt as a};
1
+ import{a as he}from"./chunk-DLNXH2FE.js";import{a as oe}from"./chunk-BVIRHZTZ.js";import{a as fe}from"./chunk-N6IHFFFZ.js";import{a as xe,b as Ce}from"./chunk-PD4CUVAW.js";import{c as ue}from"./chunk-ADRVUMMW.js";import{a as ge}from"./chunk-XFTUE2ST.js";import{g as de}from"./chunk-HCDKYABV.js";import{j as ce}from"./chunk-VCO2YGPF.js";import{d as pe,g as se}from"./chunk-BO4PPSB5.js";import{t as _e,u as me}from"./chunk-HUUFOAKH.js";import{b as ee,h as te,m as ne,y as ie}from"./chunk-BSN7ZAXG.js";import{c as re,e as le,f as ae}from"./chunk-64G3XLI6.js";import{$b as T,Bd as J,Cd as Q,Da as g,Ea as u,Eb as p,Gb as m,Gc as $,Hc as j,Ic as q,Jc as w,Ma as B,Nb as v,Ob as E,Pa as U,Qb as M,Rb as V,Sb as c,Tb as _,Ub as I,Vb as C,Wb as f,Xb as R,Yb as h,bc as r,ca as z,ec as H,f as W,gb as S,jb as a,kb as P,mc as b,nc as s,oc as k,pc as y,rc as O,sc as D,sd as K,ta as A,tc as N,ud as X,vc as Z,vd as Y,xc as x,xd as G}from"./chunk-PQDPS2ID.js";var L=e=>[e],Te=e=>({"text-decoration-line-through":e}),be=e=>({"ms-10":e}),ye=e=>({"text-danger":e}),Se=e=>({"bg-gradient-warning":e});function ve(e,l){if(e&1){let n=h();c(0,"mat-slide-toggle",13),T("toggleChange",function(){g(n);let t=r();return t.toggleStatus=!t.toggleStatus,u(t.onToggle())}),c(1,"small",14),s(2),_()()}if(e&2){let n=r();a(2),y(" ",n.productToggleTitle?n.productToggleTitle:"FILTER DIFFERENT INVENTORY"," ")}}function Ie(e,l){if(e&1){let n=h();c(0,"th")(1,"input",16),N("ngModelChange",function(t){g(n);let o=r(2);return D(o.checkboxState,t)||(o.checkboxState=t),u(t)}),T("ngModelChange",function(){g(n);let t=r(2);return u(t.onCheckboxStateChange())}),_()()}if(e&2){let n=r(2);a(),O("ngModel",n.checkboxState)}}function we(e,l){if(e&1&&(p(0,Ie,2,1,"ng-template",15),c(1,"th",11),s(2,"POS"),_()),e&2){let n=r();m("ngxPermissionsOnly",x(1,L,n.rolePriceEdit))}}function Fe(e,l){if(e&1&&(C(0),c(1,"th",17)(2,"div",18)(3,"div",19),I(4,"img",20),c(5,"div",21),s(6),$(7,"stringLimit"),_()()()(),f()),e&2){let n=l.$implicit;a(3),m("matTooltip",(n.Name==null?null:n.Name.length)>20?n.Name:""),a(),m("src",n==null?null:n.Img,S),a(2),y(" ",q(7,3,n.Name,20)," ")}}function Pe(e,l){e&1&&R(0)}function Ee(e,l){if(e&1&&(C(0),p(1,Pe,1,0,"ng-container",33),f()),e&2){r();let n=b(7);a(),m("ngTemplateOutlet",n)}}function Me(e,l){e&1&&R(0)}function Ve(e,l){if(e&1&&p(0,Me,1,0,"ng-container",33),e&2){r(2);let n=b(7);m("ngTemplateOutlet",n)}}function ke(e,l){if(e&1&&p(0,Ve,1,1,"ng-template",15),e&2){let n=r(4);m("ngxPermissionsOnly",x(1,L,n.rolePriceEdit))}}function Oe(e,l){if(e&1){let n=h();C(0),c(1,"input",34),N("ngModelChange",function(t){g(n);let o=r(4).$implicit;return D(o.selected,t)||(o.selected=t),u(t)}),T("ngModelChange",function(){g(n);let t=r(4).$implicit,o=r();return u(o.onCheckboxStateProduct(t.ID))}),_(),f()}if(e&2){let n=r(4).$implicit;a(),O("ngModel",n.selected),m("disabled",!(n!=null&&n.Category))}}function De(e,l){if(e&1&&p(0,Oe,2,2,"ng-container",22),e&2){let n=r(3).$implicit;m("ngIf",(n==null||n.Variants==null?null:n.Variants.length)>1)}}function Ne(e,l){if(e&1){let n=h();C(0),c(1,"img",35),T("click",function(t){g(n);let o=r(3).$implicit,d=r();return u(d.onZoomImage(t,o==null?null:o.ImageUrl))}),_(),f()}if(e&2){let n=r(3).$implicit;a(),H("src",n==null?null:n.ThumbnailUrl,S)}}function $e(e,l){e&1&&I(0,"img",36)}function Be(e,l){if(e&1&&(C(0),c(1,"td",28)(2,"div",29),p(3,Ee,2,1,"ng-container",30)(4,ke,1,3,"ng-template",null,0,w)(6,De,1,1,"ng-template",null,1,w),c(8,"div",26),p(9,Ne,2,1,"ng-container",30)(10,$e,1,0,"ng-template",null,2,w),_()()(),c(12,"td",31)(13,"div"),s(14),_(),c(15,"small",32),s(16),_()(),f()),e&2){let n=b(5),i=b(11),t=r(2).$implicit,o=r();a(),m("rowSpan",t==null?null:t.Variants.length),a(2),m("ngIf",o.table=="inventory")("ngIfElse",n),a(5),m("ngClass",x(10,be,(t==null||t.Variants==null?null:t.Variants.length)<=1)),a(),m("ngIf",t==null?null:t.ThumbnailUrl)("ngIfElse",i),a(3),m("rowSpan",t==null?null:t.Variants.length),a(2),k(t==null?null:t.Name),a(),m("ngClass",x(12,ye,!(t!=null&&t.Category))),a(),y("(",t!=null&&t.Category?t==null?null:t.Category:"Not Found In POS",")")}}function Ue(e,l){if(e&1&&(c(0,"a",27),I(1,"i",37),_()),e&2){let n=r().$implicit,i=r(2);m("href",i.hostName+"/menu/Products/Catalog/Variants/Info?ID="+(n==null?null:n.ID),S)}}function Re(e,l){if(e&1){let n=h();c(0,"input",40),N("ngModelChange",function(t){g(n);let o=r(3).$implicit;return D(o.selected,t)||(o.selected=t),u(t)}),_()}if(e&2){let n=r(3).$implicit,i=r().$implicit;O("ngModel",n.selected),m("disabled",!(i!=null&&i.Category))}}function je(e,l){if(e&1&&(c(0,"td",38),p(1,Re,1,2,"input",39),_()),e&2){let n=r(2).$implicit,i=r(2);a(),m("ngIf",i.printPOS(n)>=0||i.table=="price")}}function Le(e,l){if(e&1&&(p(0,je,2,1,"ng-template",15),c(1,"td",24),s(2),$(3,"number"),_()),e&2){let n=r().$implicit,i=r(2);m("ngxPermissionsOnly",x(4,L,i.rolePriceEdit)),a(2),k(j(3,2,i.printPOS(n)))}}function We(e,l){if(e&1){let n=h();C(0),c(1,"td",41),T("click",function(){g(n);let t=r().$implicit,o=r().$implicit,d=r().$implicit,F=r();return u(F.openTableDialog(d.Name,o,t.ID,d.ChannelItemID))}),c(2,"div",29)(3,"div",42),s(4),$(5,"number"),_(),c(6,"a",43),T("click",function(t){return g(n),u(t==null?null:t.stopPropagation())}),I(7,"i",37),_()()(),f()}if(e&2){let n=l.$implicit,i=r(2).$implicit,t=r(2);a(),m("ngClass",x(5,Se,t.printPOS(i)!=t.printItem(n)&&t.hiddenIPOSInventory()==!1)),a(3),y(" ",j(5,3,t.printItem(n))," "),a(2),m("href",n.Url,S)}}function ze(e,l){e&1&&(c(0,"td",44)(1,"div",29)(2,"span"),s(3,"X"),_()()())}function Ae(e,l){if(e&1&&p(0,We,8,7,"ng-container",30)(1,ze,4,0,"ng-template",null,3,w),e&2){let n=l.$implicit,i=b(2),t=r().$implicit,o=r(2);m("ngIf",o.getItemFromChannel(t,n))("ngIfElse",i)}}function He(e,l){if(e&1&&(c(0,"tr"),p(1,Be,17,14,"ng-container",22),c(2,"td",23),s(3),_(),c(4,"td",24)(5,"div",25)(6,"div",26),s(7),_(),c(8,"div",21),p(9,Ue,2,1,"a",27),_()()(),p(10,Le,4,6),M(11,Ae,3,2,null,null,E),_()),e&2){let n=l.$implicit,i=l.$index,t=r().$implicit,o=r();a(),m("ngIf",i==0),a(2),k(n==null?null:n.Model),a(2),m("matTooltip",n.Discontinued?o.discontinuedVariantMsg:""),a(),m("ngClass",x(7,Te,n.Discontinued)),a(),y(" ",n.Code," "),a(2),v(t.Category?9:-1),a(),v(o.hiddenIPOSInventory()==!1?10:-1),a(),V(o.channel)}}function Ze(e,l){if(e&1&&(c(0,"tbody"),M(1,He,13,9,"tr",null,E),_()),e&2){let n=l.$implicit;a(),V(n.Variants)}}var bt=(()=>{let l=class l{constructor(i,t,o){this.dialog=i,this.biggerPictureService=t,this.authService=o,this.showProductToggle=!1,this.multiwarehouse=B(!1),this.hiddenIPOSInventory=B(!1),this.toggleStatus=!1,this.checkboxState=!1,this.rolePriceEdit=oe.price,this.discontinuedVariantMsg="This Variant is discontinued from POS, you must Non Active manually at the seller center so that it is not sold again on the channel.",this.onSubmit=new U,this.destroy$=new W,this.toggle=new U,this.hostName=this.authService.getDomain()}ngOnInit(){this.table=="inventory"?this.stockHeader="Stock":this.table=="price"&&(this.stockHeader="Price")}onCheckboxStateProduct(i){let t=this.data.filter(o=>o.ID==i);t.length>0&&(t=t.map(o=>(o.Variants=o.Variants.map(d=>(d.selected=o.selected,d)),o)))}onCheckboxStateChange(){this.data=this.data.map(i=>(i.Variants=i.Variants.map(t=>(t.selected=this.checkboxState,t)),i))}getItemFromChannel(i,t){return i.Channel.find(d=>re.IsNotEmpty(t.LocationID)?d.LocationID==t.LocationID:d.ChannelID==t.ID)}printItem(i){if(this.table=="inventory")return i.Inventory;if(this.table=="price")return i.Price}openTableDialog(i,t,o,d){this.dialog.open(he,{data:{Name:i,Variant:t,ChannelID:o,Table:this.table,ChannelItemID:d}}).afterClosed().pipe(z(this.destroy$)).subscribe(F=>{F!=null&&this.onSubmit.emit(F)})}printPOS(i){return this.table=="inventory"?i.Inventory?i.Inventory:0:this.table=="price"?i.UnitPrice:null}onToggle(){this.toggle.emit(this.toggleStatus)}onZoomImage(i,t){this.biggerPictureService.openBiggerPicture(i,t)}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}};l.\u0275fac=function(t){return new(t||l)(P(pe),P(ge),P(ce))},l.\u0275cmp=A({type:l,selectors:[["app-table"]],inputs:{data:"data",table:"table",channel:"channel",showProductToggle:"showProductToggle",productToggleTitle:"productToggleTitle",multiwarehouse:[1,"multiwarehouse"],hiddenIPOSInventory:[1,"hiddenIPOSInventory"]},outputs:{onSubmit:"onSubmit",toggle:"onToggle"},standalone:!0,features:[Z],decls:17,vars:3,consts:[["PRICE",""],["checkbox_update",""],["elsePic",""],["elseCol",""],[1,"table-responsive"],[1,"table"],[1,"thead-light","sticky-top-thead"],["scope","col","colspan","2",1,"text-center","w-25"],[1,"w-100"],[2,"width","200px"],["scope","col",1,"text-start","w-20"],["scope","col",1,"text-end","w-10"],[4,"ngFor","ngForOf"],[2,"width","200px",3,"toggleChange"],[1,"fw-bold"],[3,"ngxPermissionsOnly"],["type","checkbox",3,"ngModelChange","ngModel"],["scope","col"],[1,"w-100","d-flex","align-items-center","justify-content-center"],["matTooltipPosition","above",1,"d-flex","align-items-center","justify-content-center",2,"width","180px",3,"matTooltip"],[2,"width","16px","height","16px",3,"src"],[1,"ms-2"],[4,"ngIf"],[1,"text-start"],[1,"text-end"],["matTooltipPosition","above",1,"d-flex","align-items-center","justify-content-end",3,"matTooltip"],[3,"ngClass"],["target","_blank",3,"href"],[1,"text-center",3,"rowSpan"],[1,"d-flex","align-items-center","justify-content-center"],[4,"ngIf","ngIfElse"],[1,"text-start",2,"padding-left","0px",3,"rowSpan"],[1,"mt-1",3,"ngClass"],[4,"ngTemplateOutlet"],["type","checkbox",1,"me-3",3,"ngModelChange","ngModel","disabled"],[1,"border","rounded","w-img","cursor-pointer",3,"click","src"],["src","//res.cloudinary.com/pos/image/upload/w_40/POS/Images/Icon/products_thumb.png",1,"border","rounded","w-img"],[1,"fas","fa-solid","fa-arrow-up-right-from-square","external-link-custom"],[1,"align-middle"],["type","checkbox",3,"ngModel","disabled","ngModelChange",4,"ngIf"],["type","checkbox",3,"ngModelChange","ngModel","disabled"],[1,"p-0","pointer","cell-hover",3,"click","ngClass"],[1,"me-2","mt-1"],["target","_blank",3,"click","href"],[1,"table-white","text-center",2,"color","red"]],template:function(t,o){t&1&&(c(0,"div",4)(1,"table",5)(2,"thead",6)(3,"tr")(4,"th",7)(5,"div",8)(6,"div"),s(7,"Product"),_(),p(8,ve,3,1,"mat-slide-toggle",9),_()(),c(9,"th",10),s(10,"Variant"),_(),c(11,"th",11),s(12,"SKU"),_(),p(13,we,3,3)(14,Fe,8,6,"ng-container",12),_()(),M(15,Ze,3,0,"tbody",null,E),_()()),t&2&&(a(8),v(o.showProductToggle?8:-1),a(5),v(o.hiddenIPOSInventory()==!1?13:-1),a(),m("ngForOf",o.channel),a(),V(o.data))},dependencies:[Q,K,X,Y,G,J,ie,ee,te,ne,Ce,xe,se,de,ue,ae,le,me,_e,fe],styles:[".w-10[_ngcontent-%COMP%]{width:10%}.w-20[_ngcontent-%COMP%]{width:20%}.w-img[_ngcontent-%COMP%]{width:40px;height:40px}.item-name[_ngcontent-%COMP%]{margin-bottom:-14px!important;font-size:larger}.cell-hover[_ngcontent-%COMP%]:hover{background-color:#c9c9c9!important}.text-wrapping[_ngcontent-%COMP%]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:88px}.cell-hover[_ngcontent-%COMP%]{width:400px!important}"]});let e=l;return e})();export{bt as a};
@@ -1 +1 @@
1
- import{b as qt}from"./chunk-4BYGZ6ZX.js";import{a as zt,b as Qt}from"./chunk-LJHZMQZD.js";import"./chunk-MY4B7K3R.js";import{b as Ht}from"./chunk-IJYSJN63.js";import"./chunk-X5Q6FPWS.js";import"./chunk-46AOM3SM.js";import{a as Xt,b as Jt}from"./chunk-JXTGH22T.js";import"./chunk-OULUJ2IO.js";import{a as Bt,b as Rt}from"./chunk-LB6JFX4H.js";import{a as mt,b as Gt,c as jt,d as pt,e as st}from"./chunk-QMZKIDTF.js";import"./chunk-FGPSBTFS.js";import"./chunk-GPE5CZJG.js";import{a as Yt}from"./chunk-GCKSYCMI.js";import"./chunk-ZFQW5CVZ.js";import"./chunk-ADRVUMMW.js";import{a as Wt}from"./chunk-PNVJ62RQ.js";import"./chunk-FMV4LYKN.js";import"./chunk-XFTUE2ST.js";import"./chunk-HCDKYABV.js";import{d as R,e as G}from"./chunk-CCXKODFV.js";import"./chunk-EDPYVTYS.js";import{e as nt}from"./chunk-4SAJUEHO.js";import"./chunk-KCDL7SWP.js";import{m as $t,n as Lt}from"./chunk-BO4PPSB5.js";import{t as Vt,u as Dt}from"./chunk-HUUFOAKH.js";import"./chunk-E5GGIVK7.js";import{c as et,e as ct,h as L,i as X,l as gt,m as Nt,n as J,p as z,q as Ot,r as Q,s as kt,t as wt,u as Mt,x as q,y as it,z as B}from"./chunk-BSN7ZAXG.js";import{b as Ut,c as g}from"./chunk-64G3XLI6.js";import"./chunk-OVEJFFL6.js";import{$b as A,Ca as O,Cd as F,Da as W,Ea as Y,Eb as h,Gb as s,Gc as v,Hc as y,K as It,M as Ft,Ma as ht,Nb as b,Ob as w,Pa as k,Qb as M,Rb as U,Sb as m,Tb as c,Ub as _,Vb as V,Wb as D,Yb as H,Z as tt,bc as l,ea as P,ja as N,jb as p,nc as f,oc as at,pa as u,pc as Z,rc as At,sc as Et,ta as x,tc as Pt,uc as S,v as E,vc as T,vd as $,wc as lt,yd as I}from"./chunk-PQDPS2ID.js";import"./chunk-GNOSNGXM.js";var K=function(t){return t[t.SINGLE_DROP_DOWN=1]="SINGLE_DROP_DOWN",t[t.SINGLE_COMBO_BOX=2]="SINGLE_COMBO_BOX",t[t.FREE_TEXT_FILED=3]="FREE_TEXT_FILED",t[t.MULTI_DROP_DOWN=4]="MULTI_DROP_DOWN",t[t.MULTI_COMBO_BOX=5]="MULTI_COMBO_BOX",t}(K||{});var ot=function(t){return t[t.FORMAT_NORMAL=1]="FORMAT_NORMAL",t[t.FORMAT_QUANTITATIVE_WITH_UNIT=2]="FORMAT_QUANTITATIVE_WITH_UNIT",t}(ot||{});var Ct=(()=>{let o=class o{constructor(){this.shopeeUploadService=u(mt),this.formBuilder=u(q)}getAttributes(n){return this.shopeeUploadService.getAttributes(n.channelId,n.categoryId).pipe(E(i=>this.setLabelToIndonesian(i)))}setLabelToIndonesian(n=[]){let i,a;return n=n.map(r=>(i=r?.multi_lang?.find(d=>d.language=="id"),r.attribute_value_list=r?.attribute_value_list?.map(d=>(a=d?.multi_lang?.find(C=>C.language=="id"),d.name=a?.value,d)),r.name=i?.value?i?.value:r.name,r)),n}createFormGroup(n){let i=this.formBuilder.group({}),a=[];return n.forEach(r=>{if(a=[],r.mandatory&&a.push(ct.required),r?.attribute_info?.format_type==ot.FORMAT_QUANTITATIVE_WITH_UNIT&&r?.attribute_info?.input_type==K.FREE_TEXT_FILED){let d=this.formBuilder.group({unit:new gt(null),value:new gt(null,a)});i.addControl(JSON.stringify(r.attribute_id),d)}else i.addControl(JSON.stringify(r.attribute_id),this.formBuilder.control(null,a))}),i}getFilteredAttributes(n,i){let a=JSON.parse(JSON.stringify(n)),r=Object.keys(i),d=a.filter(C=>r.findIndex(ft=>parseInt(ft)==C.attribute_id||C.mandatory)!=-1);return d=this.filterSelectedAttributes(d,i),d}filterSelectedAttributes(n,i){return n.map(r=>{switch(r.attribute_info.input_type){case K.MULTI_COMBO_BOX:g.IsNotEmpty(i[r.attribute_id])?r.attribute_value_list=r.attribute_value_list.filter(d=>i[r.attribute_id]?.findIndex(C=>C==d.value_id)!=-1):r.attribute_value_list=[];break;case K.FREE_TEXT_FILED:r.attribute_info.format_type==ot.FORMAT_QUANTITATIVE_WITH_UNIT?r.attribute_value_list=this.setSelectedQuantitativeAttr(i[r.attribute_id]?.value,i[r.attribute_id]?.unit):g.IsNotEmpty(i[r.attribute_id])&&(r.attribute_value_list=[{value_id:0,name:i[r.attribute_id]}]);break;default:r.attribute_value_list=r.attribute_value_list.filter(d=>d.value_id==i[r.attribute_id])}return r}).filter(r=>r?.attribute_value_list?.length>0)}setSelectedQuantitativeAttr(n,i){let a=[];return g.IsNotEmpty(n)&&(a=[{value_id:0,original_value_name:JSON.stringify(n),value_unit:i}]),a}};o.\u0275fac=function(i){return new(i||o)},o.\u0275prov=N({token:o,factory:o.\u0275fac});let t=o;return t})();var bt=function(t){return t[t.VALIDATOR_NO_VALIDATE_TYPE=0]="VALIDATOR_NO_VALIDATE_TYPE",t[t.VALIDATOR_INT_TYPE=1]="VALIDATOR_INT_TYPE",t[t.VALIDATOR_STRING_TYPE=2]="VALIDATOR_STRING_TYPE",t[t.VALIDATOR_FLOAT_TYPE=3]="VALIDATOR_FLOAT_TYPE",t[t.VALIDATOR_DATE_TYPE=4]="VALIDATOR_DATE_TYPE",t}(bt||{});var vt=()=>[];function ne(t,o){t&1&&(m(0,"span",5),f(1,"*"),c())}function oe(t,o){if(t&1&&_(0,"ng-select",6),t&2){let e=l().$implicit;s("multiple",!0)("formControlName",e.attribute_id)("items",e.attribute_value_list?e.attribute_value_list:lt(4,vt))("placeholder","Pilih "+(e==null?null:e.name))}}function re(t,o){if(t&1&&_(0,"input",8),t&2){let e=l(2).$implicit;s("formControlName",e.attribute_id)("placeholder","Isi "+(e==null?null:e.name))}}function ae(t,o){if(t&1&&(m(0,"option",15),f(1),c()),t&2){let e=o.$implicit;s("value",e),p(),at(e)}}function le(t,o){if(t&1&&(m(0,"div",10),_(1,"input",12),m(2,"select",13)(3,"option",14),f(4,"Unit"),c(),M(5,ae,2,2,"option",15,w),c()()),t&2){let e=l(3).$implicit;s("formGroupName",e.attribute_id),p(),s("placeholder","Isi "+(e==null?null:e.name)),p(2),s("value",null),p(2),U(e==null||e.attribute_info==null?null:e.attribute_info.attribute_unit_list)}}function ce(t,o){if(t&1&&_(0,"input",11),t&2){let e=l(3).$implicit;s("formControlName",e.attribute_id)("placeholder","Isi "+(e==null?null:e.name))}}function me(t,o){if(t&1&&h(0,le,7,3,"div",10)(1,ce,1,2,"input",11),t&2){let e=l(2).$implicit,n=l(2);b((e==null||e.attribute_info==null?null:e.attribute_info.format_type)==n.formatType.FORMAT_QUANTITATIVE_WITH_UNIT?0:1)}}function pe(t,o){if(t&1&&_(0,"datepicker",9),t&2){let e=l(2).$implicit;s("formControlName",e.attribute_id)}}function se(t,o){if(t&1&&h(0,re,1,2,"input",8)(1,me,2,1)(2,pe,1,1,"datepicker",9),t&2){let e,n=l().$implicit,i=l(2);b((e=n==null||n.attribute_info==null?null:n.attribute_info.input_validation_type)===i.validationType.VALIDATOR_STRING_TYPE?0:e===i.validationType.VALIDATOR_FLOAT_TYPE?1:e===i.validationType.VALIDATOR_DATE_TYPE?2:-1)}}function de(t,o){if(t&1&&_(0,"ng-select",7),t&2){let e=l().$implicit;s("formControlName",e.attribute_id)("items",e.attribute_value_list?e.attribute_value_list:lt(3,vt))("placeholder","Pilih "+(e==null?null:e.name))}}function ue(t,o){if(t&1&&_(0,"ng-select",7),t&2){let e=l().$implicit;s("formControlName",e.attribute_id)("items",e.attribute_value_list?e.attribute_value_list:lt(3,vt))("placeholder","Pilih "+(e==null?null:e.name))}}function _e(t,o){if(t&1&&(m(0,"div",3)(1,"div",4),h(2,ne,2,0,"span",5),m(3,"span"),f(4),c()(),h(5,oe,1,5,"ng-select",6)(6,se,3,1)(7,de,1,4,"ng-select",7)(8,ue,1,4,"ng-select",7),c()),t&2){let e,n=o.$implicit,i=l(2);p(2),b(n.mandatory?2:-1),p(2),Z(" ",n==null?null:n.name," "),p(),b((e=n==null||n.attribute_info==null?null:n.attribute_info.input_type)===i.inputType.MULTI_COMBO_BOX?5:e===i.inputType.FREE_TEXT_FILED?6:e===i.inputType.SINGLE_COMBO_BOX?7:8)}}function fe(t,o){if(t&1&&(V(0),m(1,"form",1)(2,"div",2),M(3,_e,9,3,"div",3,w),c()(),D()),t&2){let e=o.ngIf,n=l();p(),s("formGroup",n.form),p(2),U(e)}}var Zt=(()=>{let o=class o{constructor(){this.formCategoryService=u(Ct),this.attributesChanges=new k,this.inputType=K,this.formatType=ot,this.validationType=bt}ngOnChanges(){g.IsNotEmpty(this.categoryId)&&g.IsNotEmpty(this.channelId)&&(this.attributes$=this.formCategoryService.getAttributes({categoryId:this.categoryId,channelId:this.channelId,channelType:this.channelType}).pipe(P(n=>{this.form=this.formCategoryService.createFormGroup(n),this.listenToFormChange(n)}),tt(1)))}listenToFormChange(n){let i=[];this.formSubscription=this.form.valueChanges.subscribe(a=>{i=this.formCategoryService.getFilteredAttributes(n,a),this.attributesChanges.emit(i)})}ngOnDestroy(){this.formSubscription&&this.formSubscription.unsubscribe()}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["shopee-attribute-form"]],inputs:{channelType:"channelType",categoryId:"categoryId",channelId:"channelId",channelProductUpload:"channelProductUpload"},outputs:{attributesChanges:"attributesChanges"},standalone:!0,features:[S([Ct]),O,T],decls:2,vars:3,consts:[[4,"ngIf"],[3,"formGroup"],[1,"row"],[1,"col-6","mb-3"],[1,"mb-1"],[1,"text-danger"],["bindLabel","name","bindValue","value_id",3,"multiple","formControlName","items","placeholder"],["bindLabel","name","bindValue","value_id",3,"formControlName","items","placeholder"],["type","text",1,"form-control",3,"formControlName","placeholder"],[1,"attribute-datepicker",3,"formControlName"],[1,"d-flex","align-items-center",3,"formGroupName"],["type","text","autoNum","",1,"form-control",3,"formControlName","placeholder"],["formControlName","value","type","text","autoNum","",1,"form-control","me-1",2,"width","200px",3,"placeholder"],["name","unit","id","unit","formControlName","unit",1,"form-control"],["disabled","","selected","",3,"value"],[3,"value"]],template:function(i,a){i&1&&(h(0,fe,5,1,"ng-container",0),v(1,"async")),i&2&&s("ngIf",y(1,1,a.attributes$))},dependencies:[F,$,I,G,R,B,J,wt,Mt,et,kt,L,X,z,Q,Ot,Yt,Qt,zt],styles:["input[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{height:36px;border-radius:4px} datepicker.attribute-datepicker>mat-form-field.mat-mdc-form-field>.mat-mdc-text-field-wrapper{height:36px} datepicker.attribute-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:11px!important;padding-bottom:11px!important;height:36px;min-height:36px!important} datepicker.attribute-datepicker mat-datepicker-toggle>button.mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size: 36px}"]});let t=o;return t})();var yt=(()=>{let o=class o{constructor(){this.httpService=u(nt),this.formBuilder=u(q),this.uploadProductService=u(st)}getAttributes(n,i){return this.httpService.get("api/product/tiktok/GetAttributes",[{key:"ID",value:n},{key:"CategoryID",value:i}]).pipe(It(r=>this.uploadProductService.selectedProduct$.pipe(E(d=>(r=this.mappingAttributeSalesProperty(r,d),r)))))}mappingAttributeSalesProperty(n,i){let a=0;return n.filter(r=>(r.type=="SALES_PROPERTY"&&(a+=1),a>1?(a=0,!1):!0)).map(r=>(r.type=="SALES_PROPERTY"&&(r.name="Jenis Variant",r.is_multiple_selection=!1,r.is_required=this.isProductHasMoreVariant(i),r.values=[{id:"Warna",name:"Warna"},{id:"Ukuran",name:"Ukuran"}]),r))}isProductHasMoreVariant(n){let i=!1,a=[];return n.forEach(r=>{r.Variants&&a.push(r.Variants.length)}),i=a.some(r=>r>1),i}createFormGroup(n){let i=this.formBuilder.group({}),a=[];return n.forEach(r=>{a=[],r.is_required&&a.push(ct.required),i.addControl(r.id,this.formBuilder.control(null,a))}),i}getFilteredAttributes(n,i){let a=JSON.parse(JSON.stringify(n)),r=Object.keys(i),d=a.filter(C=>r.findIndex(ft=>parseInt(ft)==C.id)!=-1);return d=this.filterSelectedAttributes(d,i),d}filterSelectedAttributes(n,i){return n.map(r=>(g.IsNotEmpty(r.values)?r.is_multiple_selection?r.values=r.values.filter(d=>i[r.id]?.includes(d.id)):r.values=r.values.filter(d=>d.id==i[r.id]):i[r.id]&&(r.values=[{id:null,name:i[r.id]}]),r)).filter(r=>r?.values?.length>0)}};o.\u0275fac=function(i){return new(i||o)},o.\u0275prov=N({token:o,factory:o.\u0275fac});let t=o;return t})();function he(t,o){t&1&&(m(0,"span",5),f(1,"*"),c())}function ge(t,o){if(t&1&&_(0,"ng-select",6),t&2){let e=l().$implicit;s("multiple",!0)("formControlName",e.id)("items",e.values)("placeholder","Pilih "+(e==null?null:e.name))}}function Ce(t,o){if(t&1&&_(0,"ng-select",7),t&2){let e=l().$implicit;s("formControlName",e.id)("items",e.values)("placeholder","Pilih "+(e==null?null:e.name))}}function be(t,o){if(t&1&&_(0,"input",8),t&2){let e=l().$implicit;s("formControlName",e.id)("placeholder",e==null?null:e.name)}}function ve(t,o){if(t&1&&(m(0,"small",5),f(1),c()),t&2){let e=l().$implicit;p(),Z(" ",e==null?null:e.name," is mandatory ")}}function ye(t,o){if(t&1&&(m(0,"div",3)(1,"div",4),h(2,he,2,0,"span",5),m(3,"span"),f(4),c()(),h(5,ge,1,4,"ng-select",6)(6,Ce,1,3,"ng-select",7)(7,be,1,2,"input",8)(8,ve,2,1,"small",5),c()),t&2){let e=o.$implicit;p(2),b(e.is_required?2:-1),p(2),Z(" ",e==null?null:e.name," "),p(),b(e.is_multiple_selection?5:e.values!==null&&e.values.length>0?6:7),p(3),b(e.is_required?8:-1)}}function xe(t,o){if(t&1&&(V(0),m(1,"form",1)(2,"div",2),M(3,ye,9,4,"div",3,w),c()(),D()),t&2){let e=o.ngIf,n=l();p(),s("formGroup",n.form),p(2),U(e)}}var Kt=(()=>{let o=class o{constructor(){this.tiktokAttributeFormService=u(yt),this.attributesChanges=new k}ngOnChanges(){g.IsNotEmpty(this.categoryId)&&g.IsNotEmpty(this.channelId)&&(this.attributes$=this.tiktokAttributeFormService.getAttributes(this.channelId,this.categoryId).pipe(E(n=>n.filter(i=>!(i.type=="PRODUCT_PROPERTY"&&(g.IsEmpty(i.values)||i.values?.length==0)&&i.is_customizable==!1))),P(n=>{this.form=this.tiktokAttributeFormService.createFormGroup(n),this.listenToFormChange(n)}),tt(1)))}listenToFormChange(n){let i=[];this.formSubscription=this.form.valueChanges.subscribe(a=>{i=this.tiktokAttributeFormService.getFilteredAttributes(n,a),this.attributesChanges.emit(i)})}ngOnDestroy(){this.formSubscription&&this.formSubscription.unsubscribe()}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["tiktok-attribute-form"]],inputs:{channelId:"channelId",categoryId:"categoryId"},outputs:{attributesChanges:"attributesChanges"},standalone:!0,features:[S([yt]),O,T],decls:2,vars:3,consts:[[4,"ngIf"],[3,"formGroup"],[1,"row"],[1,"col-6","mb-3"],[1,"mb-1"],[1,"text-danger"],["bindLabel","name","bindValue","id",3,"multiple","formControlName","items","placeholder"],["bindLabel","name","bindValue","id",3,"formControlName","items","placeholder"],["type","text",1,"form-control",3,"formControlName","placeholder"]],template:function(i,a){i&1&&(h(0,xe,5,1,"ng-container",0),v(1,"async")),i&2&&s("ngIf",y(1,1,a.attributes$))},dependencies:[F,$,I,G,R,B,J,et,L,X,z,Q,it]});let t=o;return t})();var xt=(()=>{let o=class o{constructor(){this.woocommerceUploadService=u(pt)}getAttributes(n,i){return this.woocommerceUploadService.getAttributes(n,i).pipe(E(a=>a.map(r=>({key:r.name,label:r.name}))))}};o.\u0275fac=function(i){return new(i||o)},o.\u0275prov=N({token:o,factory:o.\u0275fac});let t=o;return t})();var te=(()=>{let o=class o{constructor(){this.wooAttributeFormService=u(xt),this.channelId=ht(),this.categoryId=ht(),this.attributesChanges=new k}ngOnChanges(){g.IsNotEmpty(this.categoryId())&&g.IsNotEmpty(this.channelId())&&(this.attributes$=this.wooAttributeFormService.getAttributes(this.channelId(),this.categoryId()))}onSelectAttribute(n){this.attributesChanges.emit([n.key])}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["wooocommerce-attribute-form"]],inputs:{channelId:[1,"channelId"],categoryId:[1,"categoryId"]},outputs:{attributesChanges:"attributesChanges"},standalone:!0,features:[S([xt]),O,T],decls:6,vars:3,consts:[[1,"row"],[1,"col-6"],[1,"mb-1"],["bindLabel","label","bindValue","id","placeholder","Pilih Atribut",3,"change","items"]],template:function(i,a){i&1&&(m(0,"div",0)(1,"div",1)(2,"div",2),f(3,"Atribut"),c(),m(4,"ng-select",3),v(5,"async"),A("change",function(d){return a.onSelectAttribute(d)}),c()()()),i&2&&(p(4),s("items",y(5,1,a.attributes$)))},dependencies:[F,I,it,G,R,B]});let t=o;return t})();var St=(()=>{let o=class o{constructor(){this.httpService=u(nt),this.formBuilder=u(q)}getAttributes(n,i){return this.httpService.get("api/product/tokopedia/GetAttributes",[{key:"ID",value:n},{key:"CategoryID",value:i}]).pipe(E(r=>r))}createFormGroup(n){let i=this.formBuilder.group({});return n.forEach(a=>{i.addControl(a.variant,this.formBuilder.control(null))}),i}convertAttributes(n={}){return Object.values(n).filter(a=>a!==null).map(a=>JSON.stringify(a))}};o.\u0275fac=function(i){return new(i||o)},o.\u0275prov=N({token:o,factory:o.\u0275fac});let t=o;return t})();function Se(t,o){if(t&1&&(m(0,"div",3)(1,"div",4),f(2),c(),_(3,"ng-select",5),c()),t&2){let e=o.$implicit;p(2),Z(" ",e==null?null:e.variant," "),p(),s("formControlName",e.variant)("items",e.values)("placeholder","Pilih "+(e==null?null:e.variant))}}function Te(t,o){if(t&1&&(V(0),m(1,"form",1)(2,"div",2),M(3,Se,4,4,"div",3,w),c()(),D()),t&2){let e=o.ngIf,n=l();p(),s("formGroup",n.form),p(2),U(e)}}var ee=(()=>{let o=class o{constructor(){this.tokpedAttrFormService=u(St),this.attributesChanges=new k}ngOnInit(){}ngOnChanges(n){g.IsNotEmpty(this.categoryId)&&g.IsNotEmpty(this.channelId)&&(this.attributes$=this.tokpedAttrFormService.getAttributes(this.channelId,this.categoryId).pipe(P(i=>{this.form=this.tokpedAttrFormService.createFormGroup(i),this.listenToFormChange()})))}listenToFormChange(){let n=[];this.formSubscription=this.form.valueChanges.subscribe(i=>{n=this.tokpedAttrFormService.convertAttributes(i),this.attributesChanges.emit(n)})}ngOnDestroy(){this.formSubscription&&this.formSubscription.unsubscribe()}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["tokopedia-attribute-form"]],inputs:{channelId:"channelId",categoryId:"categoryId"},outputs:{attributesChanges:"attributesChanges"},standalone:!0,features:[S([St]),O,T],decls:2,vars:3,consts:[[4,"ngIf"],[3,"formGroup"],[1,"row"],[1,"col-6","mb-3"],[1,"mb-1"],["bindLabel","name","bindValue","id",3,"formControlName","items","placeholder"]],template:function(i,a){i&1&&(h(0,Te,5,1,"ng-container",0),v(1,"async")),i&2&&s("ngIf",y(1,1,a.attributes$))},dependencies:[F,$,I,G,R,B,J,L,X,z,Q]});let t=o;return t})();var Tt=(()=>{let o=class o{constructor(){this.httpService=u(nt),this.formBuilder=u(q)}getAttributes(n){return this.httpService.get("api/product/shopify/GetAttributes",[{key:"ID",value:n}]).pipe(P(a=>(a.Options.StatusOptions=a.Options.Status.map(r=>({id:r,name:r})),a)))}createFormGroup(n){let i=this.formBuilder.group({});return Object.keys(n.Attribute).forEach(r=>{i.addControl(r,this.formBuilder.control(null))}),i}};o.\u0275fac=function(i){return new(i||o)},o.\u0275prov=N({token:o,factory:o.\u0275fac});let t=o;return t})();function Ie(t,o){if(t&1&&(V(0),m(1,"form",1)(2,"div",2)(3,"div",3)(4,"div",4),f(5," Brand "),c(),_(6,"input",5),c(),m(7,"div",6)(8,"div",4),f(9," Product Type "),c(),_(10,"input",7),c(),m(11,"div",6)(12,"div",4),f(13," Status "),c(),_(14,"ng-select",8),c()()(),D()),t&2){let e=o.ngIf,n=l();p(),s("formGroup",n.form),p(13),s("items",e.Options.StatusOptions)}}var ie=(()=>{let o=class o{constructor(){this.attributesChanges=new k,this.shopifyFormService=u(Tt)}ngOnChanges(n){n.channelId&&(this.attributes$=this.shopifyFormService.getAttributes(this.channelId).pipe(P(i=>{this.form=this.shopifyFormService.createFormGroup(i),this.listenToFormChange()})))}listenToFormChange(){this.formSubscription=this.form.valueChanges.pipe(Ft(500)).subscribe(n=>{this.attributesChanges.emit([n])})}ngOnDestroy(){this.formSubscription.unsubscribe()}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["shopify-attribute-form"]],inputs:{channelId:"channelId"},outputs:{attributesChanges:"attributesChanges"},standalone:!0,features:[S([Tt]),O,T],decls:2,vars:3,consts:[[4,"ngIf"],[3,"formGroup"],[1,"row"],[1,"col-6","mb-3"],[1,"mb-1"],["formControlName","Brand","type","text","placeholder","brand",1,"form-control"],[1,"col-6"],["formControlName","ProductType","type","text","placeholder","Product Type",1,"form-control"],["formControlName","Status","bindLabel","name","bindValue","id","placeholder","Status",3,"items"]],template:function(i,a){i&1&&(h(0,Ie,15,2,"ng-container",0),v(1,"async")),i&2&&s("ngIf",y(1,1,a.attributes$))},dependencies:[F,$,I,B,J,et,L,X,z,Q,G,R]});let t=o;return t})();function Fe(t,o){if(t&1&&(m(0,"div",6),_(1,"app-product-card",9),c()),t&2){let e=o.$implicit;p(),s("productId",e==null?null:e.ID)("title",e==null?null:e.Name)("image",e==null?null:e.ThumbnailUrl)("description",(e==null||e.Variants==null?null:e.Variants.length)>1?(e==null||e.Variants==null?null:e.Variants.length)+" Variants":null)("imageForZoom",e==null?null:e.ImageUrl)("code",e==null||e.Variants[0]==null?null:e.Variants[0].Code)("showFooter",!1)}}function Ae(t,o){if(t&1){let e=H();V(0),m(1,"mat-checkbox",21),Pt("ngModelChange",function(i){W(e);let a=l().$implicit;return Et(a.selected,i)||(a.selected=i),Y(i)}),A("ngModelChange",function(){let i=W(e).ngIf,a=l(),r=a.$implicit,d=a.$index,C=l();return Y(C.onSelectChannel(r,d,i))}),c(),D()}if(t&2){let e=l().$implicit;p(),At("ngModel",e.selected)}}function Ee(t,o){t&1&&(m(0,"div",18),_(1,"input",22),c())}function Pe(t,o){if(t&1){let e=H();m(0,"app-channel-category-select",23),A("selectedCategory",function(i){W(e);let a=l().$index,r=l();return Y(r.onCategoryChange(a,i))}),c()}if(t&2){let e=l().$implicit,n=l();s("disabled",!e.selected||e.selected&&e.type==n.channelType.Lazada)("channelId",e.id)("channelType",e.type)("categoryId",e.categoryId)}}function Ne(t,o){if(t&1){let e=H();m(0,"shopee-attribute-form",27),A("attributesChanges",function(i){W(e);let a=l(2).$index,r=l();return Y(r.onAttributesChange(a,i))}),c()}if(t&2){let e=l(2).$implicit;s("categoryId",e.categoryId)("channelId",e.id)("channelType",e.type)}}function Oe(t,o){if(t&1){let e=H();m(0,"tiktok-attribute-form",28),A("attributesChanges",function(i){W(e);let a=l(2).$index,r=l();return Y(r.onAttributesChange(a,i))}),c()}if(t&2){let e=l(2).$implicit;s("categoryId",e.categoryId)("channelId",e.id)}}function ke(t,o){if(t&1){let e=H();m(0,"wooocommerce-attribute-form",28),A("attributesChanges",function(i){W(e);let a=l(2).$index,r=l();return Y(r.onAttributesChange(a,i))}),c()}if(t&2){let e=l(2).$implicit;s("categoryId",e.categoryId)("channelId",e.id)}}function we(t,o){if(t&1){let e=H();m(0,"tokopedia-attribute-form",28),A("attributesChanges",function(i){W(e);let a=l(2).$index,r=l();return Y(r.onAttributesChange(a,i))}),c()}if(t&2){let e=l(2).$implicit;s("categoryId",e.categoryId)("channelId",e.id)}}function Me(t,o){if(t&1&&(m(0,"div",20)(1,"div",24),h(2,Ne,1,3,"shopee-attribute-form",25)(3,Oe,1,2,"tiktok-attribute-form",26)(4,ke,1,2,"wooocommerce-attribute-form",26)(5,we,1,2,"tokopedia-attribute-form",26),c()()),t&2){let e,n=l().$implicit,i=l();p(2),b((e=n.type)===i.channelType.Shopee?2:e===i.channelType.Tiktok?3:e===i.channelType.WooCommerce?4:e===i.channelType.Tokopedia?5:-1)}}function Ue(t,o){if(t&1){let e=H();m(0,"div",20)(1,"div",24)(2,"shopify-attribute-form",29),A("attributesChanges",function(i){W(e);let a=l().$index,r=l();return Y(r.onAttributesChange(a,i))}),c()()()}if(t&2){let e=l().$implicit;p(2),s("channelId",e.id)}}function Ve(t,o){if(t&1&&(m(0,"div",8)(1,"div",10)(2,"div",11)(3,"div",12)(4,"div",13)(5,"div"),h(6,Ae,2,1,"ng-container",14),v(7,"async"),c(),m(8,"div"),_(9,"app-channel-logo",15),c(),m(10,"div",16)(11,"span"),f(12),c()()()(),m(13,"div",12)(14,"div",17),h(15,Ee,2,0,"div",18)(16,Pe,1,4,"app-channel-category-select",19),c()()(),h(17,Me,6,1,"div",20)(18,Ue,3,1,"div",20),c()()),t&2){let e=o.$implicit,n=l();p(6),s("ngIf",y(7,8,n.defaultCategories$)),p(3),s("typeId",e.type)("showChannelName",!1),p(),s("matTooltip",e.name)("matTooltipShowDelay",2500),p(2),at(e.name),p(3),b(e.type==n.channelType.Shopify||e.type==n.channelType.Plugo?15:16),p(2),b(e.categoryId&&n.channelType.Lazada!=e.type&&e.selected?17:n.channelType.Shopify==e.type&&e.selected?18:-1)}}var oo=(()=>{let o=class o{constructor(){this.uploadProductService=u(st),this.selectedProducts$=this.uploadProductService.selectedProduct$,this.channelProductUploads=this.uploadProductService.channelProductUpload,this.channelType=Ut,this.defaultCategories$=this.uploadProductService.getDefaultCategory().pipe(tt(1))}onCategoryChange(n,i){this.channelProductUploads.update(a=>a.map((r,d)=>(d==n&&(r.categoryId=i,r.attributes=[]),r)))}onAttributesChange(n,i){this.channelProductUploads.update(a=>a.map((r,d)=>(d==n&&(r.attributes=i),r)))}onSelectChannel(n,i,a){this.channelProductUploads.update(r=>r.map((d,C)=>{if(C==i&&n.selected){let _t=this.findCategoryByChannelId(n.id,a);d.categoryId=_t?.DefaultCategoryID}return C==i&&!n.selected&&(d.categoryId=null),d}))}findCategoryByChannelId(n,i){return i.find(a=>a.ID===n)}onUploadProduct(){this.uploadProductService.onUploadProduct(this.channelProductUploads())}ngOnDestroy(){this.uploadProductService.clearSelectedProduct()}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["app-product-upload"]],standalone:!0,features:[S([mt,Gt,jt,pt]),T],decls:17,vars:5,consts:[["headerTitle","Upload Product To Channel",3,"hideSearchBox","hideSearchDropdown"],[1,"btn","btn-light","shadow","rounded","ms-2",3,"click","disabled"],["aria-hidden","true",1,"fa","fa-upload"],[1,"container-fluid","mt-6"],[1,"ps-3","mt-8","pb-5","fw-medium"],[1,"row","mb-10","ps-3"],[1,"col-12","col-md-6","col-xl-4","px-3","my-3"],[1,"ps-3","mb-8","border-bottom","pb-5","fw-medium"],[1,"row","mb-6"],[3,"productId","title","image","description","imageForZoom","code","showFooter"],[1,"col-12"],[1,"row"],[1,"col-3"],[1,"d-flex","align-items-center"],[4,"ngIf"],[3,"typeId","showChannelName"],[2,"overflow","hidden","text-overflow","ellipsis","white-space","nowrap",3,"matTooltip","matTooltipShowDelay"],[1,"w-100"],["matTooltip","Cannot change category, please change category in admin.shopify.com","matTooltipPosition","above"],[3,"disabled","channelId","channelType","categoryId"],[1,"row","my-3"],["color","primary",1,"example-margin",3,"ngModelChange","ngModel"],["disabled","","type","text","placeholder","Category Unavailable",1,"form-control","rounded-1",2,"height","35px"],[3,"selectedCategory","disabled","channelId","channelType","categoryId"],[1,"col-12","ps-11"],[3,"categoryId","channelId","channelType"],[3,"categoryId","channelId"],[3,"attributesChanges","categoryId","channelId","channelType"],[3,"attributesChanges","categoryId","channelId"],[3,"attributesChanges","channelId"]],template:function(i,a){if(i&1&&(m(0,"mainpanel",0)(1,"actions")(2,"button",1),A("click",function(){return a.onUploadProduct()}),_(3,"i",2),f(4," Upload "),c()(),m(5,"content")(6,"div",3)(7,"h3",4),f(8,"Product To Upload"),c(),m(9,"div",5),M(10,Fe,2,7,"div",6,w),v(12,"async"),c(),m(13,"h3",7),f(14,"Channel To Upload"),c(),M(15,Ve,19,10,"div",8,w),c()()()),i&2){let r;s("hideSearchBox",!0)("hideSearchDropdown",!0),p(2),s("disabled",((r=a.channelProductUploads())==null?null:r.length)==0),p(8),U(y(12,3,a.selectedProducts$)),p(5),U(a.channelProductUploads())}},dependencies:[F,$,I,Ht,Lt,$t,Jt,Xt,Rt,Bt,it,L,Nt,Dt,Vt,Zt,Kt,te,ee,ie,Wt,qt],encapsulation:2});let t=o;return t})();export{oo as ProductUploadComponent};
1
+ import{b as qt}from"./chunk-P2A5AQIO.js";import{a as zt,b as Qt}from"./chunk-LJHZMQZD.js";import"./chunk-MY4B7K3R.js";import{b as Ht}from"./chunk-IJYSJN63.js";import"./chunk-X5Q6FPWS.js";import"./chunk-46AOM3SM.js";import{a as Xt,b as Jt}from"./chunk-JXTGH22T.js";import"./chunk-OULUJ2IO.js";import{a as Bt,b as Rt}from"./chunk-LB6JFX4H.js";import{a as mt,b as Gt,c as jt,d as pt,e as st}from"./chunk-GLSYEYGE.js";import"./chunk-FGPSBTFS.js";import"./chunk-QCC5ZGGN.js";import{a as Yt}from"./chunk-GCKSYCMI.js";import"./chunk-N32A3EYJ.js";import"./chunk-ADRVUMMW.js";import{a as Wt}from"./chunk-PNVJ62RQ.js";import"./chunk-FMV4LYKN.js";import"./chunk-XFTUE2ST.js";import"./chunk-HCDKYABV.js";import{d as R,e as G}from"./chunk-CCXKODFV.js";import"./chunk-VCO2YGPF.js";import{e as nt}from"./chunk-E3NPUJ23.js";import"./chunk-KCDL7SWP.js";import{m as $t,n as Lt}from"./chunk-BO4PPSB5.js";import{t as Vt,u as Dt}from"./chunk-HUUFOAKH.js";import"./chunk-E5GGIVK7.js";import{c as et,e as ct,h as L,i as X,l as gt,m as Nt,n as J,p as z,q as Ot,r as Q,s as kt,t as wt,u as Mt,x as q,y as it,z as B}from"./chunk-BSN7ZAXG.js";import{b as Ut,c as g}from"./chunk-64G3XLI6.js";import"./chunk-OVEJFFL6.js";import{$b as A,Ca as O,Cd as F,Da as W,Ea as Y,Eb as h,Gb as s,Gc as v,Hc as y,K as It,M as Ft,Ma as ht,Nb as b,Ob as w,Pa as k,Qb as M,Rb as U,Sb as m,Tb as c,Ub as _,Vb as V,Wb as D,Yb as H,Z as tt,bc as l,ea as P,ja as N,jb as p,nc as f,oc as at,pa as u,pc as Z,rc as At,sc as Et,ta as x,tc as Pt,uc as S,v as E,vc as T,vd as $,wc as lt,yd as I}from"./chunk-PQDPS2ID.js";import"./chunk-GNOSNGXM.js";var K=function(t){return t[t.SINGLE_DROP_DOWN=1]="SINGLE_DROP_DOWN",t[t.SINGLE_COMBO_BOX=2]="SINGLE_COMBO_BOX",t[t.FREE_TEXT_FILED=3]="FREE_TEXT_FILED",t[t.MULTI_DROP_DOWN=4]="MULTI_DROP_DOWN",t[t.MULTI_COMBO_BOX=5]="MULTI_COMBO_BOX",t}(K||{});var ot=function(t){return t[t.FORMAT_NORMAL=1]="FORMAT_NORMAL",t[t.FORMAT_QUANTITATIVE_WITH_UNIT=2]="FORMAT_QUANTITATIVE_WITH_UNIT",t}(ot||{});var Ct=(()=>{let o=class o{constructor(){this.shopeeUploadService=u(mt),this.formBuilder=u(q)}getAttributes(n){return this.shopeeUploadService.getAttributes(n.channelId,n.categoryId).pipe(E(i=>this.setLabelToIndonesian(i)))}setLabelToIndonesian(n=[]){let i,a;return n=n.map(r=>(i=r?.multi_lang?.find(d=>d.language=="id"),r.attribute_value_list=r?.attribute_value_list?.map(d=>(a=d?.multi_lang?.find(C=>C.language=="id"),d.name=a?.value,d)),r.name=i?.value?i?.value:r.name,r)),n}createFormGroup(n){let i=this.formBuilder.group({}),a=[];return n.forEach(r=>{if(a=[],r.mandatory&&a.push(ct.required),r?.attribute_info?.format_type==ot.FORMAT_QUANTITATIVE_WITH_UNIT&&r?.attribute_info?.input_type==K.FREE_TEXT_FILED){let d=this.formBuilder.group({unit:new gt(null),value:new gt(null,a)});i.addControl(JSON.stringify(r.attribute_id),d)}else i.addControl(JSON.stringify(r.attribute_id),this.formBuilder.control(null,a))}),i}getFilteredAttributes(n,i){let a=JSON.parse(JSON.stringify(n)),r=Object.keys(i),d=a.filter(C=>r.findIndex(ft=>parseInt(ft)==C.attribute_id||C.mandatory)!=-1);return d=this.filterSelectedAttributes(d,i),d}filterSelectedAttributes(n,i){return n.map(r=>{switch(r.attribute_info.input_type){case K.MULTI_COMBO_BOX:g.IsNotEmpty(i[r.attribute_id])?r.attribute_value_list=r.attribute_value_list.filter(d=>i[r.attribute_id]?.findIndex(C=>C==d.value_id)!=-1):r.attribute_value_list=[];break;case K.FREE_TEXT_FILED:r.attribute_info.format_type==ot.FORMAT_QUANTITATIVE_WITH_UNIT?r.attribute_value_list=this.setSelectedQuantitativeAttr(i[r.attribute_id]?.value,i[r.attribute_id]?.unit):g.IsNotEmpty(i[r.attribute_id])&&(r.attribute_value_list=[{value_id:0,name:i[r.attribute_id]}]);break;default:r.attribute_value_list=r.attribute_value_list.filter(d=>d.value_id==i[r.attribute_id])}return r}).filter(r=>r?.attribute_value_list?.length>0)}setSelectedQuantitativeAttr(n,i){let a=[];return g.IsNotEmpty(n)&&(a=[{value_id:0,original_value_name:JSON.stringify(n),value_unit:i}]),a}};o.\u0275fac=function(i){return new(i||o)},o.\u0275prov=N({token:o,factory:o.\u0275fac});let t=o;return t})();var bt=function(t){return t[t.VALIDATOR_NO_VALIDATE_TYPE=0]="VALIDATOR_NO_VALIDATE_TYPE",t[t.VALIDATOR_INT_TYPE=1]="VALIDATOR_INT_TYPE",t[t.VALIDATOR_STRING_TYPE=2]="VALIDATOR_STRING_TYPE",t[t.VALIDATOR_FLOAT_TYPE=3]="VALIDATOR_FLOAT_TYPE",t[t.VALIDATOR_DATE_TYPE=4]="VALIDATOR_DATE_TYPE",t}(bt||{});var vt=()=>[];function ne(t,o){t&1&&(m(0,"span",5),f(1,"*"),c())}function oe(t,o){if(t&1&&_(0,"ng-select",6),t&2){let e=l().$implicit;s("multiple",!0)("formControlName",e.attribute_id)("items",e.attribute_value_list?e.attribute_value_list:lt(4,vt))("placeholder","Pilih "+(e==null?null:e.name))}}function re(t,o){if(t&1&&_(0,"input",8),t&2){let e=l(2).$implicit;s("formControlName",e.attribute_id)("placeholder","Isi "+(e==null?null:e.name))}}function ae(t,o){if(t&1&&(m(0,"option",15),f(1),c()),t&2){let e=o.$implicit;s("value",e),p(),at(e)}}function le(t,o){if(t&1&&(m(0,"div",10),_(1,"input",12),m(2,"select",13)(3,"option",14),f(4,"Unit"),c(),M(5,ae,2,2,"option",15,w),c()()),t&2){let e=l(3).$implicit;s("formGroupName",e.attribute_id),p(),s("placeholder","Isi "+(e==null?null:e.name)),p(2),s("value",null),p(2),U(e==null||e.attribute_info==null?null:e.attribute_info.attribute_unit_list)}}function ce(t,o){if(t&1&&_(0,"input",11),t&2){let e=l(3).$implicit;s("formControlName",e.attribute_id)("placeholder","Isi "+(e==null?null:e.name))}}function me(t,o){if(t&1&&h(0,le,7,3,"div",10)(1,ce,1,2,"input",11),t&2){let e=l(2).$implicit,n=l(2);b((e==null||e.attribute_info==null?null:e.attribute_info.format_type)==n.formatType.FORMAT_QUANTITATIVE_WITH_UNIT?0:1)}}function pe(t,o){if(t&1&&_(0,"datepicker",9),t&2){let e=l(2).$implicit;s("formControlName",e.attribute_id)}}function se(t,o){if(t&1&&h(0,re,1,2,"input",8)(1,me,2,1)(2,pe,1,1,"datepicker",9),t&2){let e,n=l().$implicit,i=l(2);b((e=n==null||n.attribute_info==null?null:n.attribute_info.input_validation_type)===i.validationType.VALIDATOR_STRING_TYPE?0:e===i.validationType.VALIDATOR_FLOAT_TYPE?1:e===i.validationType.VALIDATOR_DATE_TYPE?2:-1)}}function de(t,o){if(t&1&&_(0,"ng-select",7),t&2){let e=l().$implicit;s("formControlName",e.attribute_id)("items",e.attribute_value_list?e.attribute_value_list:lt(3,vt))("placeholder","Pilih "+(e==null?null:e.name))}}function ue(t,o){if(t&1&&_(0,"ng-select",7),t&2){let e=l().$implicit;s("formControlName",e.attribute_id)("items",e.attribute_value_list?e.attribute_value_list:lt(3,vt))("placeholder","Pilih "+(e==null?null:e.name))}}function _e(t,o){if(t&1&&(m(0,"div",3)(1,"div",4),h(2,ne,2,0,"span",5),m(3,"span"),f(4),c()(),h(5,oe,1,5,"ng-select",6)(6,se,3,1)(7,de,1,4,"ng-select",7)(8,ue,1,4,"ng-select",7),c()),t&2){let e,n=o.$implicit,i=l(2);p(2),b(n.mandatory?2:-1),p(2),Z(" ",n==null?null:n.name," "),p(),b((e=n==null||n.attribute_info==null?null:n.attribute_info.input_type)===i.inputType.MULTI_COMBO_BOX?5:e===i.inputType.FREE_TEXT_FILED?6:e===i.inputType.SINGLE_COMBO_BOX?7:8)}}function fe(t,o){if(t&1&&(V(0),m(1,"form",1)(2,"div",2),M(3,_e,9,3,"div",3,w),c()(),D()),t&2){let e=o.ngIf,n=l();p(),s("formGroup",n.form),p(2),U(e)}}var Zt=(()=>{let o=class o{constructor(){this.formCategoryService=u(Ct),this.attributesChanges=new k,this.inputType=K,this.formatType=ot,this.validationType=bt}ngOnChanges(){g.IsNotEmpty(this.categoryId)&&g.IsNotEmpty(this.channelId)&&(this.attributes$=this.formCategoryService.getAttributes({categoryId:this.categoryId,channelId:this.channelId,channelType:this.channelType}).pipe(P(n=>{this.form=this.formCategoryService.createFormGroup(n),this.listenToFormChange(n)}),tt(1)))}listenToFormChange(n){let i=[];this.formSubscription=this.form.valueChanges.subscribe(a=>{i=this.formCategoryService.getFilteredAttributes(n,a),this.attributesChanges.emit(i)})}ngOnDestroy(){this.formSubscription&&this.formSubscription.unsubscribe()}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["shopee-attribute-form"]],inputs:{channelType:"channelType",categoryId:"categoryId",channelId:"channelId",channelProductUpload:"channelProductUpload"},outputs:{attributesChanges:"attributesChanges"},standalone:!0,features:[S([Ct]),O,T],decls:2,vars:3,consts:[[4,"ngIf"],[3,"formGroup"],[1,"row"],[1,"col-6","mb-3"],[1,"mb-1"],[1,"text-danger"],["bindLabel","name","bindValue","value_id",3,"multiple","formControlName","items","placeholder"],["bindLabel","name","bindValue","value_id",3,"formControlName","items","placeholder"],["type","text",1,"form-control",3,"formControlName","placeholder"],[1,"attribute-datepicker",3,"formControlName"],[1,"d-flex","align-items-center",3,"formGroupName"],["type","text","autoNum","",1,"form-control",3,"formControlName","placeholder"],["formControlName","value","type","text","autoNum","",1,"form-control","me-1",2,"width","200px",3,"placeholder"],["name","unit","id","unit","formControlName","unit",1,"form-control"],["disabled","","selected","",3,"value"],[3,"value"]],template:function(i,a){i&1&&(h(0,fe,5,1,"ng-container",0),v(1,"async")),i&2&&s("ngIf",y(1,1,a.attributes$))},dependencies:[F,$,I,G,R,B,J,wt,Mt,et,kt,L,X,z,Q,Ot,Yt,Qt,zt],styles:["input[_ngcontent-%COMP%], select[_ngcontent-%COMP%]{height:36px;border-radius:4px} datepicker.attribute-datepicker>mat-form-field.mat-mdc-form-field>.mat-mdc-text-field-wrapper{height:36px} datepicker.attribute-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:11px!important;padding-bottom:11px!important;height:36px;min-height:36px!important} datepicker.attribute-datepicker mat-datepicker-toggle>button.mat-mdc-icon-button.mat-mdc-button-base{--mdc-icon-button-state-layer-size: 36px}"]});let t=o;return t})();var yt=(()=>{let o=class o{constructor(){this.httpService=u(nt),this.formBuilder=u(q),this.uploadProductService=u(st)}getAttributes(n,i){return this.httpService.get("api/product/tiktok/GetAttributes",[{key:"ID",value:n},{key:"CategoryID",value:i}]).pipe(It(r=>this.uploadProductService.selectedProduct$.pipe(E(d=>(r=this.mappingAttributeSalesProperty(r,d),r)))))}mappingAttributeSalesProperty(n,i){let a=0;return n.filter(r=>(r.type=="SALES_PROPERTY"&&(a+=1),a>1?(a=0,!1):!0)).map(r=>(r.type=="SALES_PROPERTY"&&(r.name="Jenis Variant",r.is_multiple_selection=!1,r.is_required=this.isProductHasMoreVariant(i),r.values=[{id:"Warna",name:"Warna"},{id:"Ukuran",name:"Ukuran"}]),r))}isProductHasMoreVariant(n){let i=!1,a=[];return n.forEach(r=>{r.Variants&&a.push(r.Variants.length)}),i=a.some(r=>r>1),i}createFormGroup(n){let i=this.formBuilder.group({}),a=[];return n.forEach(r=>{a=[],r.is_required&&a.push(ct.required),i.addControl(r.id,this.formBuilder.control(null,a))}),i}getFilteredAttributes(n,i){let a=JSON.parse(JSON.stringify(n)),r=Object.keys(i),d=a.filter(C=>r.findIndex(ft=>parseInt(ft)==C.id)!=-1);return d=this.filterSelectedAttributes(d,i),d}filterSelectedAttributes(n,i){return n.map(r=>(g.IsNotEmpty(r.values)?r.is_multiple_selection?r.values=r.values.filter(d=>i[r.id]?.includes(d.id)):r.values=r.values.filter(d=>d.id==i[r.id]):i[r.id]&&(r.values=[{id:null,name:i[r.id]}]),r)).filter(r=>r?.values?.length>0)}};o.\u0275fac=function(i){return new(i||o)},o.\u0275prov=N({token:o,factory:o.\u0275fac});let t=o;return t})();function he(t,o){t&1&&(m(0,"span",5),f(1,"*"),c())}function ge(t,o){if(t&1&&_(0,"ng-select",6),t&2){let e=l().$implicit;s("multiple",!0)("formControlName",e.id)("items",e.values)("placeholder","Pilih "+(e==null?null:e.name))}}function Ce(t,o){if(t&1&&_(0,"ng-select",7),t&2){let e=l().$implicit;s("formControlName",e.id)("items",e.values)("placeholder","Pilih "+(e==null?null:e.name))}}function be(t,o){if(t&1&&_(0,"input",8),t&2){let e=l().$implicit;s("formControlName",e.id)("placeholder",e==null?null:e.name)}}function ve(t,o){if(t&1&&(m(0,"small",5),f(1),c()),t&2){let e=l().$implicit;p(),Z(" ",e==null?null:e.name," is mandatory ")}}function ye(t,o){if(t&1&&(m(0,"div",3)(1,"div",4),h(2,he,2,0,"span",5),m(3,"span"),f(4),c()(),h(5,ge,1,4,"ng-select",6)(6,Ce,1,3,"ng-select",7)(7,be,1,2,"input",8)(8,ve,2,1,"small",5),c()),t&2){let e=o.$implicit;p(2),b(e.is_required?2:-1),p(2),Z(" ",e==null?null:e.name," "),p(),b(e.is_multiple_selection?5:e.values!==null&&e.values.length>0?6:7),p(3),b(e.is_required?8:-1)}}function xe(t,o){if(t&1&&(V(0),m(1,"form",1)(2,"div",2),M(3,ye,9,4,"div",3,w),c()(),D()),t&2){let e=o.ngIf,n=l();p(),s("formGroup",n.form),p(2),U(e)}}var Kt=(()=>{let o=class o{constructor(){this.tiktokAttributeFormService=u(yt),this.attributesChanges=new k}ngOnChanges(){g.IsNotEmpty(this.categoryId)&&g.IsNotEmpty(this.channelId)&&(this.attributes$=this.tiktokAttributeFormService.getAttributes(this.channelId,this.categoryId).pipe(E(n=>n.filter(i=>!(i.type=="PRODUCT_PROPERTY"&&(g.IsEmpty(i.values)||i.values?.length==0)&&i.is_customizable==!1))),P(n=>{this.form=this.tiktokAttributeFormService.createFormGroup(n),this.listenToFormChange(n)}),tt(1)))}listenToFormChange(n){let i=[];this.formSubscription=this.form.valueChanges.subscribe(a=>{i=this.tiktokAttributeFormService.getFilteredAttributes(n,a),this.attributesChanges.emit(i)})}ngOnDestroy(){this.formSubscription&&this.formSubscription.unsubscribe()}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["tiktok-attribute-form"]],inputs:{channelId:"channelId",categoryId:"categoryId"},outputs:{attributesChanges:"attributesChanges"},standalone:!0,features:[S([yt]),O,T],decls:2,vars:3,consts:[[4,"ngIf"],[3,"formGroup"],[1,"row"],[1,"col-6","mb-3"],[1,"mb-1"],[1,"text-danger"],["bindLabel","name","bindValue","id",3,"multiple","formControlName","items","placeholder"],["bindLabel","name","bindValue","id",3,"formControlName","items","placeholder"],["type","text",1,"form-control",3,"formControlName","placeholder"]],template:function(i,a){i&1&&(h(0,xe,5,1,"ng-container",0),v(1,"async")),i&2&&s("ngIf",y(1,1,a.attributes$))},dependencies:[F,$,I,G,R,B,J,et,L,X,z,Q,it]});let t=o;return t})();var xt=(()=>{let o=class o{constructor(){this.woocommerceUploadService=u(pt)}getAttributes(n,i){return this.woocommerceUploadService.getAttributes(n,i).pipe(E(a=>a.map(r=>({key:r.name,label:r.name}))))}};o.\u0275fac=function(i){return new(i||o)},o.\u0275prov=N({token:o,factory:o.\u0275fac});let t=o;return t})();var te=(()=>{let o=class o{constructor(){this.wooAttributeFormService=u(xt),this.channelId=ht(),this.categoryId=ht(),this.attributesChanges=new k}ngOnChanges(){g.IsNotEmpty(this.categoryId())&&g.IsNotEmpty(this.channelId())&&(this.attributes$=this.wooAttributeFormService.getAttributes(this.channelId(),this.categoryId()))}onSelectAttribute(n){this.attributesChanges.emit([n.key])}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["wooocommerce-attribute-form"]],inputs:{channelId:[1,"channelId"],categoryId:[1,"categoryId"]},outputs:{attributesChanges:"attributesChanges"},standalone:!0,features:[S([xt]),O,T],decls:6,vars:3,consts:[[1,"row"],[1,"col-6"],[1,"mb-1"],["bindLabel","label","bindValue","id","placeholder","Pilih Atribut",3,"change","items"]],template:function(i,a){i&1&&(m(0,"div",0)(1,"div",1)(2,"div",2),f(3,"Atribut"),c(),m(4,"ng-select",3),v(5,"async"),A("change",function(d){return a.onSelectAttribute(d)}),c()()()),i&2&&(p(4),s("items",y(5,1,a.attributes$)))},dependencies:[F,I,it,G,R,B]});let t=o;return t})();var St=(()=>{let o=class o{constructor(){this.httpService=u(nt),this.formBuilder=u(q)}getAttributes(n,i){return this.httpService.get("api/product/tokopedia/GetAttributes",[{key:"ID",value:n},{key:"CategoryID",value:i}]).pipe(E(r=>r))}createFormGroup(n){let i=this.formBuilder.group({});return n.forEach(a=>{i.addControl(a.variant,this.formBuilder.control(null))}),i}convertAttributes(n={}){return Object.values(n).filter(a=>a!==null).map(a=>JSON.stringify(a))}};o.\u0275fac=function(i){return new(i||o)},o.\u0275prov=N({token:o,factory:o.\u0275fac});let t=o;return t})();function Se(t,o){if(t&1&&(m(0,"div",3)(1,"div",4),f(2),c(),_(3,"ng-select",5),c()),t&2){let e=o.$implicit;p(2),Z(" ",e==null?null:e.variant," "),p(),s("formControlName",e.variant)("items",e.values)("placeholder","Pilih "+(e==null?null:e.variant))}}function Te(t,o){if(t&1&&(V(0),m(1,"form",1)(2,"div",2),M(3,Se,4,4,"div",3,w),c()(),D()),t&2){let e=o.ngIf,n=l();p(),s("formGroup",n.form),p(2),U(e)}}var ee=(()=>{let o=class o{constructor(){this.tokpedAttrFormService=u(St),this.attributesChanges=new k}ngOnInit(){}ngOnChanges(n){g.IsNotEmpty(this.categoryId)&&g.IsNotEmpty(this.channelId)&&(this.attributes$=this.tokpedAttrFormService.getAttributes(this.channelId,this.categoryId).pipe(P(i=>{this.form=this.tokpedAttrFormService.createFormGroup(i),this.listenToFormChange()})))}listenToFormChange(){let n=[];this.formSubscription=this.form.valueChanges.subscribe(i=>{n=this.tokpedAttrFormService.convertAttributes(i),this.attributesChanges.emit(n)})}ngOnDestroy(){this.formSubscription&&this.formSubscription.unsubscribe()}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["tokopedia-attribute-form"]],inputs:{channelId:"channelId",categoryId:"categoryId"},outputs:{attributesChanges:"attributesChanges"},standalone:!0,features:[S([St]),O,T],decls:2,vars:3,consts:[[4,"ngIf"],[3,"formGroup"],[1,"row"],[1,"col-6","mb-3"],[1,"mb-1"],["bindLabel","name","bindValue","id",3,"formControlName","items","placeholder"]],template:function(i,a){i&1&&(h(0,Te,5,1,"ng-container",0),v(1,"async")),i&2&&s("ngIf",y(1,1,a.attributes$))},dependencies:[F,$,I,G,R,B,J,L,X,z,Q]});let t=o;return t})();var Tt=(()=>{let o=class o{constructor(){this.httpService=u(nt),this.formBuilder=u(q)}getAttributes(n){return this.httpService.get("api/product/shopify/GetAttributes",[{key:"ID",value:n}]).pipe(P(a=>(a.Options.StatusOptions=a.Options.Status.map(r=>({id:r,name:r})),a)))}createFormGroup(n){let i=this.formBuilder.group({});return Object.keys(n.Attribute).forEach(r=>{i.addControl(r,this.formBuilder.control(null))}),i}};o.\u0275fac=function(i){return new(i||o)},o.\u0275prov=N({token:o,factory:o.\u0275fac});let t=o;return t})();function Ie(t,o){if(t&1&&(V(0),m(1,"form",1)(2,"div",2)(3,"div",3)(4,"div",4),f(5," Brand "),c(),_(6,"input",5),c(),m(7,"div",6)(8,"div",4),f(9," Product Type "),c(),_(10,"input",7),c(),m(11,"div",6)(12,"div",4),f(13," Status "),c(),_(14,"ng-select",8),c()()(),D()),t&2){let e=o.ngIf,n=l();p(),s("formGroup",n.form),p(13),s("items",e.Options.StatusOptions)}}var ie=(()=>{let o=class o{constructor(){this.attributesChanges=new k,this.shopifyFormService=u(Tt)}ngOnChanges(n){n.channelId&&(this.attributes$=this.shopifyFormService.getAttributes(this.channelId).pipe(P(i=>{this.form=this.shopifyFormService.createFormGroup(i),this.listenToFormChange()})))}listenToFormChange(){this.formSubscription=this.form.valueChanges.pipe(Ft(500)).subscribe(n=>{this.attributesChanges.emit([n])})}ngOnDestroy(){this.formSubscription.unsubscribe()}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["shopify-attribute-form"]],inputs:{channelId:"channelId"},outputs:{attributesChanges:"attributesChanges"},standalone:!0,features:[S([Tt]),O,T],decls:2,vars:3,consts:[[4,"ngIf"],[3,"formGroup"],[1,"row"],[1,"col-6","mb-3"],[1,"mb-1"],["formControlName","Brand","type","text","placeholder","brand",1,"form-control"],[1,"col-6"],["formControlName","ProductType","type","text","placeholder","Product Type",1,"form-control"],["formControlName","Status","bindLabel","name","bindValue","id","placeholder","Status",3,"items"]],template:function(i,a){i&1&&(h(0,Ie,15,2,"ng-container",0),v(1,"async")),i&2&&s("ngIf",y(1,1,a.attributes$))},dependencies:[F,$,I,B,J,et,L,X,z,Q,G,R]});let t=o;return t})();function Fe(t,o){if(t&1&&(m(0,"div",6),_(1,"app-product-card",9),c()),t&2){let e=o.$implicit;p(),s("productId",e==null?null:e.ID)("title",e==null?null:e.Name)("image",e==null?null:e.ThumbnailUrl)("description",(e==null||e.Variants==null?null:e.Variants.length)>1?(e==null||e.Variants==null?null:e.Variants.length)+" Variants":null)("imageForZoom",e==null?null:e.ImageUrl)("code",e==null||e.Variants[0]==null?null:e.Variants[0].Code)("showFooter",!1)}}function Ae(t,o){if(t&1){let e=H();V(0),m(1,"mat-checkbox",21),Pt("ngModelChange",function(i){W(e);let a=l().$implicit;return Et(a.selected,i)||(a.selected=i),Y(i)}),A("ngModelChange",function(){let i=W(e).ngIf,a=l(),r=a.$implicit,d=a.$index,C=l();return Y(C.onSelectChannel(r,d,i))}),c(),D()}if(t&2){let e=l().$implicit;p(),At("ngModel",e.selected)}}function Ee(t,o){t&1&&(m(0,"div",18),_(1,"input",22),c())}function Pe(t,o){if(t&1){let e=H();m(0,"app-channel-category-select",23),A("selectedCategory",function(i){W(e);let a=l().$index,r=l();return Y(r.onCategoryChange(a,i))}),c()}if(t&2){let e=l().$implicit,n=l();s("disabled",!e.selected||e.selected&&e.type==n.channelType.Lazada)("channelId",e.id)("channelType",e.type)("categoryId",e.categoryId)}}function Ne(t,o){if(t&1){let e=H();m(0,"shopee-attribute-form",27),A("attributesChanges",function(i){W(e);let a=l(2).$index,r=l();return Y(r.onAttributesChange(a,i))}),c()}if(t&2){let e=l(2).$implicit;s("categoryId",e.categoryId)("channelId",e.id)("channelType",e.type)}}function Oe(t,o){if(t&1){let e=H();m(0,"tiktok-attribute-form",28),A("attributesChanges",function(i){W(e);let a=l(2).$index,r=l();return Y(r.onAttributesChange(a,i))}),c()}if(t&2){let e=l(2).$implicit;s("categoryId",e.categoryId)("channelId",e.id)}}function ke(t,o){if(t&1){let e=H();m(0,"wooocommerce-attribute-form",28),A("attributesChanges",function(i){W(e);let a=l(2).$index,r=l();return Y(r.onAttributesChange(a,i))}),c()}if(t&2){let e=l(2).$implicit;s("categoryId",e.categoryId)("channelId",e.id)}}function we(t,o){if(t&1){let e=H();m(0,"tokopedia-attribute-form",28),A("attributesChanges",function(i){W(e);let a=l(2).$index,r=l();return Y(r.onAttributesChange(a,i))}),c()}if(t&2){let e=l(2).$implicit;s("categoryId",e.categoryId)("channelId",e.id)}}function Me(t,o){if(t&1&&(m(0,"div",20)(1,"div",24),h(2,Ne,1,3,"shopee-attribute-form",25)(3,Oe,1,2,"tiktok-attribute-form",26)(4,ke,1,2,"wooocommerce-attribute-form",26)(5,we,1,2,"tokopedia-attribute-form",26),c()()),t&2){let e,n=l().$implicit,i=l();p(2),b((e=n.type)===i.channelType.Shopee?2:e===i.channelType.Tiktok?3:e===i.channelType.WooCommerce?4:e===i.channelType.Tokopedia?5:-1)}}function Ue(t,o){if(t&1){let e=H();m(0,"div",20)(1,"div",24)(2,"shopify-attribute-form",29),A("attributesChanges",function(i){W(e);let a=l().$index,r=l();return Y(r.onAttributesChange(a,i))}),c()()()}if(t&2){let e=l().$implicit;p(2),s("channelId",e.id)}}function Ve(t,o){if(t&1&&(m(0,"div",8)(1,"div",10)(2,"div",11)(3,"div",12)(4,"div",13)(5,"div"),h(6,Ae,2,1,"ng-container",14),v(7,"async"),c(),m(8,"div"),_(9,"app-channel-logo",15),c(),m(10,"div",16)(11,"span"),f(12),c()()()(),m(13,"div",12)(14,"div",17),h(15,Ee,2,0,"div",18)(16,Pe,1,4,"app-channel-category-select",19),c()()(),h(17,Me,6,1,"div",20)(18,Ue,3,1,"div",20),c()()),t&2){let e=o.$implicit,n=l();p(6),s("ngIf",y(7,8,n.defaultCategories$)),p(3),s("typeId",e.type)("showChannelName",!1),p(),s("matTooltip",e.name)("matTooltipShowDelay",2500),p(2),at(e.name),p(3),b(e.type==n.channelType.Shopify||e.type==n.channelType.Plugo?15:16),p(2),b(e.categoryId&&n.channelType.Lazada!=e.type&&e.selected?17:n.channelType.Shopify==e.type&&e.selected?18:-1)}}var oo=(()=>{let o=class o{constructor(){this.uploadProductService=u(st),this.selectedProducts$=this.uploadProductService.selectedProduct$,this.channelProductUploads=this.uploadProductService.channelProductUpload,this.channelType=Ut,this.defaultCategories$=this.uploadProductService.getDefaultCategory().pipe(tt(1))}onCategoryChange(n,i){this.channelProductUploads.update(a=>a.map((r,d)=>(d==n&&(r.categoryId=i,r.attributes=[]),r)))}onAttributesChange(n,i){this.channelProductUploads.update(a=>a.map((r,d)=>(d==n&&(r.attributes=i),r)))}onSelectChannel(n,i,a){this.channelProductUploads.update(r=>r.map((d,C)=>{if(C==i&&n.selected){let _t=this.findCategoryByChannelId(n.id,a);d.categoryId=_t?.DefaultCategoryID}return C==i&&!n.selected&&(d.categoryId=null),d}))}findCategoryByChannelId(n,i){return i.find(a=>a.ID===n)}onUploadProduct(){this.uploadProductService.onUploadProduct(this.channelProductUploads())}ngOnDestroy(){this.uploadProductService.clearSelectedProduct()}};o.\u0275fac=function(i){return new(i||o)},o.\u0275cmp=x({type:o,selectors:[["app-product-upload"]],standalone:!0,features:[S([mt,Gt,jt,pt]),T],decls:17,vars:5,consts:[["headerTitle","Upload Product To Channel",3,"hideSearchBox","hideSearchDropdown"],[1,"btn","btn-light","shadow","rounded","ms-2",3,"click","disabled"],["aria-hidden","true",1,"fa","fa-upload"],[1,"container-fluid","mt-6"],[1,"ps-3","mt-8","pb-5","fw-medium"],[1,"row","mb-10","ps-3"],[1,"col-12","col-md-6","col-xl-4","px-3","my-3"],[1,"ps-3","mb-8","border-bottom","pb-5","fw-medium"],[1,"row","mb-6"],[3,"productId","title","image","description","imageForZoom","code","showFooter"],[1,"col-12"],[1,"row"],[1,"col-3"],[1,"d-flex","align-items-center"],[4,"ngIf"],[3,"typeId","showChannelName"],[2,"overflow","hidden","text-overflow","ellipsis","white-space","nowrap",3,"matTooltip","matTooltipShowDelay"],[1,"w-100"],["matTooltip","Cannot change category, please change category in admin.shopify.com","matTooltipPosition","above"],[3,"disabled","channelId","channelType","categoryId"],[1,"row","my-3"],["color","primary",1,"example-margin",3,"ngModelChange","ngModel"],["disabled","","type","text","placeholder","Category Unavailable",1,"form-control","rounded-1",2,"height","35px"],[3,"selectedCategory","disabled","channelId","channelType","categoryId"],[1,"col-12","ps-11"],[3,"categoryId","channelId","channelType"],[3,"categoryId","channelId"],[3,"attributesChanges","categoryId","channelId","channelType"],[3,"attributesChanges","categoryId","channelId"],[3,"attributesChanges","channelId"]],template:function(i,a){if(i&1&&(m(0,"mainpanel",0)(1,"actions")(2,"button",1),A("click",function(){return a.onUploadProduct()}),_(3,"i",2),f(4," Upload "),c()(),m(5,"content")(6,"div",3)(7,"h3",4),f(8,"Product To Upload"),c(),m(9,"div",5),M(10,Fe,2,7,"div",6,w),v(12,"async"),c(),m(13,"h3",7),f(14,"Channel To Upload"),c(),M(15,Ve,19,10,"div",8,w),c()()()),i&2){let r;s("hideSearchBox",!0)("hideSearchDropdown",!0),p(2),s("disabled",((r=a.channelProductUploads())==null?null:r.length)==0),p(8),U(y(12,3,a.selectedProducts$)),p(5),U(a.channelProductUploads())}},dependencies:[F,$,I,Ht,Lt,$t,Jt,Xt,Rt,Bt,it,L,Nt,Dt,Vt,Zt,Kt,te,ee,ie,Wt,qt],encapsulation:2});let t=o;return t})();export{oo as ProductUploadComponent};
@@ -1,4 +1,4 @@
1
- import{b as S,e as g}from"./chunk-4SAJUEHO.js";import{c as o}from"./chunk-64G3XLI6.js";import{J as h,ea as i,ja as f,oa as d,r as c}from"./chunk-PQDPS2ID.js";var y=(()=>{let l=class l{constructor(e,t){this.httpService=e,this.toastrService=t}loader(e=o.GuidEMpty){return this.httpService.post("/api/product/Load",{ID:e})}LoadInPOS(e=o.GuidEMpty){return this.httpService.post("/api/product/LoadInPOS",{ID:e})}filterChannelByTypeId(e,t){return e.filter(a=>t.findIndex(s=>a.TypeID==s)!==-1)}getProductStatistic(){return this.httpService.post("/api/product/ProductStatistic",{})}getTotalProductLive(e){let t={ID:e};return this.httpService.post("/api/product/TotalProductLive",t)}clearCacheChannel(e){let t={ID:e};return this.httpService.post("/api/Channel/ClearCacheChannel",t)}detachProduct(e){return this.httpService.post("/api/product/Detach",e)}uploadSingleProduct(e,t){let a={Channel:t,Products:e};return this.httpService.post("api/product/UploadMultipleChannel",a).pipe(i(s=>{this.showToastrSuccessUploadSingle(s,e[0])}),h(s=>(this.showToastErrorUploadSingle(s,e[0]),c(()=>new Error(s)))))}uploadMultipleProduct(e,t){let a={Channel:t,Products:e};return this.httpService.post("api/product/UploadMultipleProductAndMultipleChannel",a).pipe(i(s=>{this.showToastrUploadMultiple(s.Message)}),h(s=>(this.showToastrUploadMultiple(s.error?.Message),c(()=>new Error(s)))))}uploadNotInChannel(e,t){let a={Products:e,Channel:t};return this.httpService.post("/api/product/UploadProductNotInChannelToChannel",a).pipe(i(s=>{this.showToastrUploadMultiple(s)}),h(s=>(this.showToastrUploadMultiple(s.error?.Message),c(()=>new Error(s)))))}scanSingle(e,t){let a={ID:e,SKU:t};return this.httpService.post("/api/product/ScanSingle",a)}scanNotInChannel(e){let t={ID:e};return this.httpService.post("/api/product/ScanNotinChannel",t)}findAllSoldInChannel(e){return this.httpService.post("/api/product/GetSoldInChannel",e)}scanAll(e,t,a,s=!1){let n={ID:e,ScanFull:t,UpdatedProduct:a,Async:s};return this.httpService.post("/api/product/ScanOptimized",n)}scanCompareToPos(e){return this.httpService.post("/api/product/CompareMarketplaceToPOS",e)}getVariantCodesProduct(e){return e.Variants.map(a=>a.Code)}downloadMultipleProduct(e){let t=e.map(a=>({ChannelItemID:a.ChannelItemID,ChannelID:a.ChannelID}));return this.httpService.post("/api/product/DownloadMultipleProductFromChannel",t).pipe(i(a=>{this.toastrService.success(`${a.Count} products downloaded to POS`,"Download Complete")}))}downloadProduct(e){let t={ChannelItemID:e.ChannelItemID,ChannelID:e.ChannelID};return this.httpService.post("/api/product/DownloadProductFromChannel",t).pipe(i(()=>{this.toastrService.success("Product successfully downloaded to POS","Download Complete")}))}getVariantCodesProducts(e=[]){let t=[];return e.forEach(a=>{a.Variants.forEach(s=>{t=[...t,s.Code]})}),t}filterUnselectedChannel(e,t){let a=[];e.forEach(n=>{a=[...a,...n.Channel]});let s;if(!a||a.length==0)s=t;else{let n=[];s=t.filter(r=>(n=a.filter(p=>p.ChannelID==r.ID),n.length!==e.length))}return s}findChannelById(e,t){return t.find(a=>a.ID==e)}sortChannel(e=[]){return e.sort((t,a)=>t.TypeID<a.TypeID?1:t.TypeID===a.TypeID?0:-1)}hasSelection(e=[]){return this.selectedProduct(e).length>0}selectedProduct(e=[]){return e.filter(t=>t.selected)}hasSelectionVariant(e){return this.selectedVariantProduct(e).length>0}selectedVariantProduct(e){let t=[];return e.forEach(a=>{t=[...t,...a.Variants!=null?a.Variants.filter(s=>s.selected):""]}),t}getChannelProduct(e){let t=e.Variants,a=[];for(let s of t)if(s.Channel!=null)for(let n of s.Channel)a.filter(r=>r.ChannelID==n.ChannelID).length==0&&a.push(n);return this.sortChannel(a)}successToastrScanAllProduct(e,t,a){let s=e.InChannel?e?.InChannel?.Product:0,n=e?.NotInPOS?.Product?e?.NotInPOS?.Product:0,r=o.IsNotEmpty(e.LastUpdate)?o.convertToReadableDate(e.LastUpdate):null;a?this.toastrService.success(`
1
+ import{b as S,e as g}from"./chunk-E3NPUJ23.js";import{c as o}from"./chunk-64G3XLI6.js";import{J as h,ea as i,ja as f,oa as d,r as c}from"./chunk-PQDPS2ID.js";var y=(()=>{let l=class l{constructor(e,t){this.httpService=e,this.toastrService=t}loader(e=o.GuidEMpty){return this.httpService.post("/api/product/Load",{ID:e})}LoadInPOS(e=o.GuidEMpty){return this.httpService.post("/api/product/LoadInPOS",{ID:e})}filterChannelByTypeId(e,t){return e.filter(a=>t.findIndex(s=>a.TypeID==s)!==-1)}getProductStatistic(){return this.httpService.post("/api/product/ProductStatistic",{})}getTotalProductLive(e){let t={ID:e};return this.httpService.post("/api/product/TotalProductLive",t)}clearCacheChannel(e){let t={ID:e};return this.httpService.post("/api/Channel/ClearCacheChannel",t)}detachProduct(e){return this.httpService.post("/api/product/Detach",e)}uploadSingleProduct(e,t){let a={Channel:t,Products:e};return this.httpService.post("api/product/UploadMultipleChannel",a).pipe(i(s=>{this.showToastrSuccessUploadSingle(s,e[0])}),h(s=>(this.showToastErrorUploadSingle(s,e[0]),c(()=>new Error(s)))))}uploadMultipleProduct(e,t){let a={Channel:t,Products:e};return this.httpService.post("api/product/UploadMultipleProductAndMultipleChannel",a).pipe(i(s=>{this.showToastrUploadMultiple(s.Message)}),h(s=>(this.showToastrUploadMultiple(s.error?.Message),c(()=>new Error(s)))))}uploadNotInChannel(e,t){let a={Products:e,Channel:t};return this.httpService.post("/api/product/UploadProductNotInChannelToChannel",a).pipe(i(s=>{this.showToastrUploadMultiple(s)}),h(s=>(this.showToastrUploadMultiple(s.error?.Message),c(()=>new Error(s)))))}scanSingle(e,t){let a={ID:e,SKU:t};return this.httpService.post("/api/product/ScanSingle",a)}scanNotInChannel(e){let t={ID:e};return this.httpService.post("/api/product/ScanNotinChannel",t)}findAllSoldInChannel(e){return this.httpService.post("/api/product/GetSoldInChannel",e)}scanAll(e,t,a,s=!1){let n={ID:e,ScanFull:t,UpdatedProduct:a,Async:s};return this.httpService.post("/api/product/ScanOptimized",n)}scanCompareToPos(e){return this.httpService.post("/api/product/CompareMarketplaceToPOS",e)}getVariantCodesProduct(e){return e.Variants.map(a=>a.Code)}downloadMultipleProduct(e){let t=e.map(a=>({ChannelItemID:a.ChannelItemID,ChannelID:a.ChannelID}));return this.httpService.post("/api/product/DownloadMultipleProductFromChannel",t).pipe(i(a=>{this.toastrService.success(`${a.Count} products downloaded to POS`,"Download Complete")}))}downloadProduct(e){let t={ChannelItemID:e.ChannelItemID,ChannelID:e.ChannelID};return this.httpService.post("/api/product/DownloadProductFromChannel",t).pipe(i(()=>{this.toastrService.success("Product successfully downloaded to POS","Download Complete")}))}getVariantCodesProducts(e=[]){let t=[];return e.forEach(a=>{a.Variants.forEach(s=>{t=[...t,s.Code]})}),t}filterUnselectedChannel(e,t){let a=[];e.forEach(n=>{a=[...a,...n.Channel]});let s;if(!a||a.length==0)s=t;else{let n=[];s=t.filter(r=>(n=a.filter(p=>p.ChannelID==r.ID),n.length!==e.length))}return s}findChannelById(e,t){return t.find(a=>a.ID==e)}sortChannel(e=[]){return e.sort((t,a)=>t.TypeID<a.TypeID?1:t.TypeID===a.TypeID?0:-1)}hasSelection(e=[]){return this.selectedProduct(e).length>0}selectedProduct(e=[]){return e.filter(t=>t.selected)}hasSelectionVariant(e){return this.selectedVariantProduct(e).length>0}selectedVariantProduct(e){let t=[];return e.forEach(a=>{t=[...t,...a.Variants!=null?a.Variants.filter(s=>s.selected):""]}),t}getChannelProduct(e){let t=e.Variants,a=[];for(let s of t)if(s.Channel!=null)for(let n of s.Channel)a.filter(r=>r.ChannelID==n.ChannelID).length==0&&a.push(n);return this.sortChannel(a)}successToastrScanAllProduct(e,t,a){let s=e.InChannel?e?.InChannel?.Product:0,n=e?.NotInPOS?.Product?e?.NotInPOS?.Product:0,r=o.IsNotEmpty(e.LastUpdate)?o.convertToReadableDate(e.LastUpdate):null;a?this.toastrService.success(`
2
2
  ${n+s} product updates in ${t.Name} </br>
3
3
  (${s} In Channel + ${n} Not In Pos)
4
4
  ${o.IsNotEmpty(r)?"since "+r:""}
@@ -1 +1 @@
1
- import{a as H}from"./chunk-LRU7GIXZ.js";import{a as V,b as G}from"./chunk-IJYSJN63.js";import{Y as q}from"./chunk-OULUJ2IO.js";import{k as j}from"./chunk-BO4PPSB5.js";import{t as W,u as $}from"./chunk-HUUFOAKH.js";import{a as R,h as A,m as D,y as U}from"./chunk-BSN7ZAXG.js";import{b as a,c as r}from"./chunk-64G3XLI6.js";import{$b as y,Cd as I,Eb as f,Gb as u,Gc as O,Hc as z,La as w,Ma as g,Nb as N,Pa as k,Sb as m,Tb as c,Z as S,bc as M,ia as T,jb as p,nc as C,pa as h,pc as v,rc as L,sc as P,ta as _,tc as B,uc as E,v as b,vc as x,xb as d,yd as F}from"./chunk-PQDPS2ID.js";function Q(s,n){if(s&1&&(m(0,"div",4),C(1),c()),s&2){let J=M();p(),v(" ",J.selectedCategoryLabel()," ")}}function X(s,n){s&1&&(m(0,"label",3),C(1,"Channel"),c())}var fe=(()=>{let n=class n{constructor(){this.multiwarehousTreeService=h(H),this.destroyRef=h(w),this.selectedCategoryLabel=d("Select a Channel"),this.disabled=d(!1),this.selectedNode=d(null),this.multiple=g(!1),this.floatingLabel=g(!1),this.onChannelChange=new k,this.channels$=this.multiwarehousTreeService.getChannelTree$().pipe(b(e=>e.map(t=>{t.children=t.children.map(i=>(i.icon="fa-solid fa-warehouse",i));let o=this.getChannelType(t.typeid);return t.icon=`custom-icon-${o}`,t.expandedIcon=null,t.collapsedIcon=null,t.styleClass=`custom-icon-${o}`,t.logo=r.getChannelLogoByTypeId(t.typeId),t})),S(1)),this.htmlBody=document.querySelector("body"),this.onChange=e=>{},this.onTouched=()=>{}}getChannelType(e){switch(e){case a.Tokopedia:return"tokopedia";case a.Shopee:return"shopee";case a.Lazada:return"lazada";case a.Shopify:return"shopify";case a.WooCommerce:return"woocommerce";case a.Tiktok:return"tiktok";case a.Plugo:return"plugo"}}initSelectedNode(e){this.channels$.pipe(j(this.destroyRef)).subscribe(t=>{if(this.multiple()){let o=[];for(let i of e){let l=r.searchByIdWithParentDFS(t,i),K=Object.assign({},l);o.push(K)}this.selectedNode.set(o),this.emitMultipleNodes()}else{let o=r.searchByIdWithParentDFS(t,e),i=Object.assign({},o);this.selectedNode.set(i),this.emitSingleNode(i)}})}onNodeSelect(e){let t=Object.assign({},e.node);this.multiple()?this.emitMultipleNodes():this.emitSingleNode(t)}emitMultipleNodes(){let e=Object.assign([],this.selectedNode()),t=e.map(o=>o.id);this.onChange(t),this.onChannelChange.emit(e),this.generateLabel()}emitSingleNode(e){this.onChange(e.id),this.onChannelChange.emit(e),this.generateLabel()}onNodeUnSelect(e){if(this.multiple()){let t=e.node;this.selectedNode.update(o=>o.filter(i=>i.id!==t.id)),this.emitMultipleNodes(),this.generateLabel()}}generateLabel(){let e="Select a Channel";if(this.multiple()){e="";for(let t of this.selectedNode())e+=r.getLabelPathTree(t)+", ";this.selectedCategoryLabel.set(e)}else{let t=this.selectedNode();t?(e=r.getLabelPathTree(t),this.selectedCategoryLabel.set(e)):this.selectedCategoryLabel.set(e)}}onClear(){this.onChange(null)}onClick(){let e=this.getBodyTop(),t=document.querySelector(".p-overlay.p-component"),o=e+t.getBoundingClientRect().top,i=t.getAttribute("style")||"";t.setAttribute("style",`${i} top: ${o+e}px;`)}getBodyTop(){return this.htmlBody.getBoundingClientRect().top*-1}writeValue(e){r.IsNotEmpty(e)&&this.initSelectedNode(e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabled.set(e)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=_({type:n,selectors:[["multiwarehouse-tree-select"]],inputs:{multiple:[1,"multiple"],floatingLabel:[1,"floatingLabel"]},outputs:{onChannelChange:"onChannelChange"},standalone:!0,features:[E([{provide:R,useExisting:T(()=>n),multi:!0}]),x],decls:5,vars:9,consts:[["matTooltipPosition","above",1,"p-float-label",3,"matTooltip"],["appendTo","body","containerStyleClass","w-100","id","selectChannel",1,"multiwarehouse-select",3,"click","onNodeSelect","ngModelChange","onClear","onNodeUnselect","filter","filterInputAutoFocus","options","ngModel","selectionMode"],["pTemplate","value","type","default"],["for","selectChannel"],["matTooltipPosition","above"]],template:function(t,o){t&1&&(m(0,"span",0)(1,"p-treeSelect",1),O(2,"async"),y("click",function(){return o.onClick()})("onNodeSelect",function(l){return o.onNodeSelect(l)}),B("ngModelChange",function(l){return P(o.selectedNode,l)||(o.selectedNode=l),l}),y("onClear",function(){return o.onClear()})("onNodeUnselect",function(l){return o.onNodeUnSelect(l)}),f(3,Q,2,1,"ng-template",2),c(),f(4,X,2,0,"label",3),c()),t&2&&(u("matTooltip",o.selectedCategoryLabel()),p(),u("filter",!0)("filterInputAutoFocus",!0)("options",z(2,7,o.channels$)),L("ngModel",o.selectedNode),u("selectionMode",o.multiple()?"multiple":"single"),p(3),N(o.floatingLabel()?4:-1))},dependencies:[I,F,G,V,q,U,A,D,$,W],styles:["[_nghost-%COMP%] .p-treeselect{width:100%;display:inline-flex;border:1px solid #ced4da;font-size:.875rem!important} .p-element .p-icon-wrapper{width:14px} .p-float-label .multiwarehouse-select.p-treeselect{padding:7px!important;min-height:.6rem!important} .custom-icon-tokopedia.p-tree-node-icon, .custom-icon-shopee.p-tree-node-icon, .custom-icon-woocommerce.p-tree-node-icon, .custom-icon-lazada.p-tree-node-icon, .custom-icon-tiktok.p-tree-node-icon, .custom-icon-shopify.p-tree-node-icon, .custom-icon-plugo.p-tree-node-icon{background-size:contain;background-repeat:no-repeat;width:20px;height:20px;display:inline-block} .custom-icon-tokopedia.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/v1598262221/icons/marketplace_icons/tokopedia.png)} .custom-icon-woocommerce.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/w_50/v1632447439/icons/WooCommerce/woocommerce-icon.webp)} .custom-icon-shopee.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/v1598262220/icons/marketplace_icons/shopee.png)} .custom-icon-tiktok.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/w_30/v1645761611/icons/Marketplace%20logo/tiktok.png)} .custom-icon-lazada.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/v1680681836/icons/marketplace_icons/Lazadanew.png)} .custom-icon-shopify.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/v1707987435/icons/marketplace_icons/shopify.png)} .custom-icon-plugo.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/v1739236419/icons/marketplace_icons/plugo.ico)} .custom-icon-shopee .fa-warehouse.p-tree-node-icon, .custom-icon-tiktok .fa-warehouse.p-tree-node-icon, .custom-icon-tokopedia .fa-warehouse.p-tree-node-icon, .custom-icon-lazada .fa-warehouse.p-tree-node-icon, .custom-icon-shopify .fa-warehouse.p-tree-node-icon, .custom-icon-woocommerce .fa-warehouse.p-tree-node-icon, .custom-icon-plugo .fa-warehouse.p-tree-node-icon{background-image:none!important;display:inline-block!important}"]});let s=n;return s})();export{fe as a};
1
+ import{a as H}from"./chunk-O4CRP4WO.js";import{a as V,b as G}from"./chunk-IJYSJN63.js";import{Y as q}from"./chunk-OULUJ2IO.js";import{k as j}from"./chunk-BO4PPSB5.js";import{t as W,u as $}from"./chunk-HUUFOAKH.js";import{a as R,h as A,m as D,y as U}from"./chunk-BSN7ZAXG.js";import{b as a,c as r}from"./chunk-64G3XLI6.js";import{$b as y,Cd as I,Eb as f,Gb as u,Gc as O,Hc as z,La as w,Ma as g,Nb as N,Pa as k,Sb as m,Tb as c,Z as S,bc as M,ia as T,jb as p,nc as C,pa as h,pc as v,rc as L,sc as P,ta as _,tc as B,uc as E,v as b,vc as x,xb as d,yd as F}from"./chunk-PQDPS2ID.js";function Q(s,n){if(s&1&&(m(0,"div",4),C(1),c()),s&2){let J=M();p(),v(" ",J.selectedCategoryLabel()," ")}}function X(s,n){s&1&&(m(0,"label",3),C(1,"Channel"),c())}var fe=(()=>{let n=class n{constructor(){this.multiwarehousTreeService=h(H),this.destroyRef=h(w),this.selectedCategoryLabel=d("Select a Channel"),this.disabled=d(!1),this.selectedNode=d(null),this.multiple=g(!1),this.floatingLabel=g(!1),this.onChannelChange=new k,this.channels$=this.multiwarehousTreeService.getChannelTree$().pipe(b(e=>e.map(t=>{t.children=t.children.map(i=>(i.icon="fa-solid fa-warehouse",i));let o=this.getChannelType(t.typeid);return t.icon=`custom-icon-${o}`,t.expandedIcon=null,t.collapsedIcon=null,t.styleClass=`custom-icon-${o}`,t.logo=r.getChannelLogoByTypeId(t.typeId),t})),S(1)),this.htmlBody=document.querySelector("body"),this.onChange=e=>{},this.onTouched=()=>{}}getChannelType(e){switch(e){case a.Tokopedia:return"tokopedia";case a.Shopee:return"shopee";case a.Lazada:return"lazada";case a.Shopify:return"shopify";case a.WooCommerce:return"woocommerce";case a.Tiktok:return"tiktok";case a.Plugo:return"plugo"}}initSelectedNode(e){this.channels$.pipe(j(this.destroyRef)).subscribe(t=>{if(this.multiple()){let o=[];for(let i of e){let l=r.searchByIdWithParentDFS(t,i),K=Object.assign({},l);o.push(K)}this.selectedNode.set(o),this.emitMultipleNodes()}else{let o=r.searchByIdWithParentDFS(t,e),i=Object.assign({},o);this.selectedNode.set(i),this.emitSingleNode(i)}})}onNodeSelect(e){let t=Object.assign({},e.node);this.multiple()?this.emitMultipleNodes():this.emitSingleNode(t)}emitMultipleNodes(){let e=Object.assign([],this.selectedNode()),t=e.map(o=>o.id);this.onChange(t),this.onChannelChange.emit(e),this.generateLabel()}emitSingleNode(e){this.onChange(e.id),this.onChannelChange.emit(e),this.generateLabel()}onNodeUnSelect(e){if(this.multiple()){let t=e.node;this.selectedNode.update(o=>o.filter(i=>i.id!==t.id)),this.emitMultipleNodes(),this.generateLabel()}}generateLabel(){let e="Select a Channel";if(this.multiple()){e="";for(let t of this.selectedNode())e+=r.getLabelPathTree(t)+", ";this.selectedCategoryLabel.set(e)}else{let t=this.selectedNode();t?(e=r.getLabelPathTree(t),this.selectedCategoryLabel.set(e)):this.selectedCategoryLabel.set(e)}}onClear(){this.onChange(null)}onClick(){let e=this.getBodyTop(),t=document.querySelector(".p-overlay.p-component"),o=e+t.getBoundingClientRect().top,i=t.getAttribute("style")||"";t.setAttribute("style",`${i} top: ${o+e}px;`)}getBodyTop(){return this.htmlBody.getBoundingClientRect().top*-1}writeValue(e){r.IsNotEmpty(e)&&this.initSelectedNode(e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabled.set(e)}};n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=_({type:n,selectors:[["multiwarehouse-tree-select"]],inputs:{multiple:[1,"multiple"],floatingLabel:[1,"floatingLabel"]},outputs:{onChannelChange:"onChannelChange"},standalone:!0,features:[E([{provide:R,useExisting:T(()=>n),multi:!0}]),x],decls:5,vars:9,consts:[["matTooltipPosition","above",1,"p-float-label",3,"matTooltip"],["appendTo","body","containerStyleClass","w-100","id","selectChannel",1,"multiwarehouse-select",3,"click","onNodeSelect","ngModelChange","onClear","onNodeUnselect","filter","filterInputAutoFocus","options","ngModel","selectionMode"],["pTemplate","value","type","default"],["for","selectChannel"],["matTooltipPosition","above"]],template:function(t,o){t&1&&(m(0,"span",0)(1,"p-treeSelect",1),O(2,"async"),y("click",function(){return o.onClick()})("onNodeSelect",function(l){return o.onNodeSelect(l)}),B("ngModelChange",function(l){return P(o.selectedNode,l)||(o.selectedNode=l),l}),y("onClear",function(){return o.onClear()})("onNodeUnselect",function(l){return o.onNodeUnSelect(l)}),f(3,Q,2,1,"ng-template",2),c(),f(4,X,2,0,"label",3),c()),t&2&&(u("matTooltip",o.selectedCategoryLabel()),p(),u("filter",!0)("filterInputAutoFocus",!0)("options",z(2,7,o.channels$)),L("ngModel",o.selectedNode),u("selectionMode",o.multiple()?"multiple":"single"),p(3),N(o.floatingLabel()?4:-1))},dependencies:[I,F,G,V,q,U,A,D,$,W],styles:["[_nghost-%COMP%] .p-treeselect{width:100%;display:inline-flex;border:1px solid #ced4da;font-size:.875rem!important} .p-element .p-icon-wrapper{width:14px} .p-float-label .multiwarehouse-select.p-treeselect{padding:7px!important;min-height:.6rem!important} .custom-icon-tokopedia.p-tree-node-icon, .custom-icon-shopee.p-tree-node-icon, .custom-icon-woocommerce.p-tree-node-icon, .custom-icon-lazada.p-tree-node-icon, .custom-icon-tiktok.p-tree-node-icon, .custom-icon-shopify.p-tree-node-icon, .custom-icon-plugo.p-tree-node-icon{background-size:contain;background-repeat:no-repeat;width:20px;height:20px;display:inline-block} .custom-icon-tokopedia.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/v1598262221/icons/marketplace_icons/tokopedia.png)} .custom-icon-woocommerce.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/w_50/v1632447439/icons/WooCommerce/woocommerce-icon.webp)} .custom-icon-shopee.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/v1598262220/icons/marketplace_icons/shopee.png)} .custom-icon-tiktok.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/w_30/v1645761611/icons/Marketplace%20logo/tiktok.png)} .custom-icon-lazada.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/v1680681836/icons/marketplace_icons/Lazadanew.png)} .custom-icon-shopify.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/v1707987435/icons/marketplace_icons/shopify.png)} .custom-icon-plugo.p-tree-node-icon{background-image:url(https://res.cloudinary.com/pos/image/upload/v1739236419/icons/marketplace_icons/plugo.ico)} .custom-icon-shopee .fa-warehouse.p-tree-node-icon, .custom-icon-tiktok .fa-warehouse.p-tree-node-icon, .custom-icon-tokopedia .fa-warehouse.p-tree-node-icon, .custom-icon-lazada .fa-warehouse.p-tree-node-icon, .custom-icon-shopify .fa-warehouse.p-tree-node-icon, .custom-icon-woocommerce .fa-warehouse.p-tree-node-icon, .custom-icon-plugo .fa-warehouse.p-tree-node-icon{background-image:none!important;display:inline-block!important}"]});let s=n;return s})();export{fe as a};