dealpos 25.32.0 → 25.32.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/{chunk-P3YO27X5.js → chunk-25QFQDV7.js} +1 -1
- package/browser/{chunk-YQM3WRXG.js → chunk-2PTTCVFQ.js} +1 -1
- package/browser/{chunk-JBDCESLL.js → chunk-3H43P5YA.js} +1 -1
- package/browser/{chunk-N6VH67NA.js → chunk-3M2BUDUB.js} +1 -1
- package/browser/{chunk-U765C72H.js → chunk-3SRUJJ6G.js} +1 -1
- package/browser/{chunk-RIGRHB27.js → chunk-47TF4O2L.js} +2 -2
- package/browser/{chunk-HWY3QH6A.js → chunk-5GH2UM6Y.js} +1 -1
- package/browser/{chunk-ZYLRH43R.js → chunk-5KFKRR6I.js} +1 -1
- package/browser/{chunk-U4E4GFA3.js → chunk-5XRERMVQ.js} +1 -1
- package/browser/{chunk-QYVR6FKS.js → chunk-6DCFTPUD.js} +1 -1
- package/browser/{chunk-5H4KL2KJ.js → chunk-6DO5AW57.js} +1 -1
- package/browser/{chunk-X7I2U4GR.js → chunk-6KABYQ7Y.js} +2 -2
- package/browser/{chunk-IXN5A6FJ.js → chunk-6THPJHMQ.js} +1 -1
- package/browser/{chunk-DZPKIRUW.js → chunk-6ZKXKIPB.js} +1 -1
- package/browser/{chunk-WULI4TL4.js → chunk-7P2INFVM.js} +1 -1
- package/browser/{chunk-DBK7DX7N.js → chunk-7UEXOSTA.js} +1 -1
- package/browser/{chunk-X7J7XCND.js → chunk-ADUMDXZG.js} +1 -1
- package/browser/{chunk-ALON6KSY.js → chunk-AIJM455Q.js} +1 -1
- package/browser/{chunk-DS5ZUU74.js → chunk-AVIHEFZ3.js} +1 -1
- package/browser/{chunk-UWM724IJ.js → chunk-C7SBDH6E.js} +1 -1
- package/browser/{chunk-X6OU5HV5.js → chunk-CU7IWKXB.js} +1 -1
- package/browser/chunk-DGM743IJ.js +2 -0
- package/browser/{chunk-S6XWBUA5.js → chunk-F2V3ZAGL.js} +1 -1
- package/browser/{chunk-7ZF6XZWY.js → chunk-F4Y6BS2M.js} +1 -1
- package/browser/{chunk-KO5IVQZS.js → chunk-GDXXQ6LD.js} +1 -1
- package/browser/{chunk-VWM4STKR.js → chunk-GX3N6CKR.js} +1 -1
- package/browser/{chunk-GIBMYPUI.js → chunk-H42QJQ56.js} +1 -1
- package/browser/{chunk-FWKNIZZ3.js → chunk-HCGM3SVB.js} +1 -1
- package/browser/{chunk-WMDD6KTG.js → chunk-HDG7HN7O.js} +1 -1
- package/browser/{chunk-ZB4GWUQV.js → chunk-HIFPWLFR.js} +1 -1
- package/browser/{chunk-5FA5XUCV.js → chunk-K6KQDJU7.js} +2 -2
- package/browser/chunk-KMVCVCCD.js +1 -0
- package/browser/{chunk-EANKU65K.js → chunk-KR3JCXDQ.js} +1 -1
- package/browser/{chunk-KTYLKTKA.js → chunk-KWLJQH42.js} +1 -1
- package/browser/{chunk-CSPZYSGN.js → chunk-L7235LXI.js} +1 -1
- package/browser/{chunk-75MGYBWY.js → chunk-LTIAN3DJ.js} +1 -1
- package/browser/{chunk-35BXZ4TH.js → chunk-MLEZTHWZ.js} +1 -1
- package/browser/{chunk-UP2OTHWF.js → chunk-MMCM7B5Z.js} +3 -3
- package/browser/{chunk-U6AHQ7OA.js → chunk-MZDT5S4Y.js} +1 -1
- package/browser/{chunk-CIEKEDPX.js → chunk-NT3GFLD4.js} +1 -1
- package/browser/{chunk-BR7ZRI7I.js → chunk-O36QNAMF.js} +1 -1
- package/browser/{chunk-KJGIGEWE.js → chunk-OAJ5KECL.js} +1 -1
- package/browser/{chunk-YH6FQJMF.js → chunk-OI47XFJO.js} +1 -1
- package/browser/{chunk-2TWP52P7.js → chunk-PYX4Z6HP.js} +1 -1
- package/browser/{chunk-TLVGFFQE.js → chunk-Q6DGG2JP.js} +1 -1
- package/browser/{chunk-AU5NSB5E.js → chunk-QB74573V.js} +2 -2
- package/browser/{chunk-5VBPLGVM.js → chunk-QLTG2D75.js} +1 -1
- package/browser/{chunk-4746NLIA.js → chunk-QSFZXQNP.js} +1 -1
- package/browser/{chunk-35MHVXKF.js → chunk-QZC2AATI.js} +1 -1
- package/browser/{chunk-YF5Z2Q2D.js → chunk-R3SYCIJT.js} +1 -1
- package/browser/{chunk-ZTCHNGR5.js → chunk-R5GVVUMP.js} +1 -1
- package/browser/{chunk-VUVNZP6V.js → chunk-RACFHMSM.js} +1 -1
- package/browser/{chunk-WYYDJSSS.js → chunk-S2GLPFVJ.js} +1 -1
- package/browser/{chunk-UUN5OBN5.js → chunk-SPYVACLB.js} +1 -1
- package/browser/{chunk-H73MVYHX.js → chunk-SVPBMCHF.js} +1 -1
- package/browser/{chunk-NVZO3MOZ.js → chunk-TKRCAX4C.js} +1 -1
- package/browser/{chunk-P23T2EVP.js → chunk-TNKIGPBP.js} +1 -1
- package/browser/{chunk-OVRODHEF.js → chunk-TYEOX5VV.js} +1 -1
- package/browser/{chunk-7JLLV4R2.js → chunk-U6GZZKLZ.js} +1 -1
- package/browser/{chunk-TTBALV7Z.js → chunk-UIL2X6EZ.js} +1 -1
- package/browser/chunk-UILC7AVT.js +125 -0
- package/browser/{chunk-CNMEDN2J.js → chunk-W5XUYOZS.js} +2 -2
- package/browser/{chunk-D6K7GLV2.js → chunk-WGKL5OIB.js} +1 -1
- package/browser/{chunk-Q45IFUGA.js → chunk-WPFM3ZGY.js} +1 -1
- package/browser/{chunk-EL2PFWZR.js → chunk-XBEEV2NG.js} +1 -1
- package/browser/{chunk-2SAQDBKA.js → chunk-XV2R2LYT.js} +1 -1
- package/browser/{chunk-KTMKLUKP.js → chunk-XVW4JKBX.js} +1 -1
- package/browser/{chunk-5W2FAFPB.js → chunk-ZZ33EHCQ.js} +1 -1
- package/browser/index.html +2 -2
- package/browser/{main-ZYWB664N.js → main-KYIE53MH.js} +2 -2
- package/package.json +1 -1
- package/browser/chunk-26RWIMQI.js +0 -125
- package/browser/chunk-7PVGAJ73.js +0 -1
- package/browser/chunk-TTISSB2D.js +0 -2
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as at}from"./chunk-GDU5B7WH.js";import{a as Mi,b as Vi}from"./chunk-UWUMG2GM.js";import{a as Pt,b as bi,c as Ei}from"./chunk-F6GAPEFT.js";import{a as wi}from"./chunk-ERF6BBPU.js";import{a as We}from"./chunk-U6AHQ7OA.js";import{a as Be,b as Ti}from"./chunk-IC6A5ZGJ.js";import{a as Ne}from"./chunk-WLRXTHLM.js";import{b as Le}from"./chunk-R5NT3ETF.js";import{a as Di,b as Pi}from"./chunk-X3ZDNOUY.js";import"./chunk-2MKL5ANY.js";import{a as tt,b as si}from"./chunk-GBLD5TDU.js";import"./chunk-4I5BIZRN.js";import{a as Ie}from"./chunk-VJO7M5YW.js";import{d as qe,e as Ii}from"./chunk-UAWD35O3.js";import"./chunk-7OMZTXCR.js";import"./chunk-5KITFB7J.js";import"./chunk-4OMN7S35.js";import"./chunk-3RK6DDJD.js";import"./chunk-CPVATKT5.js";import"./chunk-MC6ZRPRO.js";import"./chunk-5S6WJQZF.js";import"./chunk-GQZZBFFT.js";import"./chunk-YWYXEZ6N.js";import{a as ot,b as Xt}from"./chunk-34NAGBZT.js";import{b as ge}from"./chunk-NMEH2GFA.js";import{a as Oe}from"./chunk-WMDD6KTG.js";import"./chunk-H73MVYHX.js";import{d as nt,e as hi}from"./chunk-S5Y743CH.js";import{a as St,b as It,c as _i}from"./chunk-UDN6DKAR.js";import"./chunk-YBH7C53G.js";import"./chunk-I6HQHZRF.js";import"./chunk-PEI67MDS.js";import"./chunk-GX4UHBDK.js";import"./chunk-AGW24DIE.js";import"./chunk-TX5UVUTO.js";import{d as ui,f as gi,h as fi}from"./chunk-2PXEEOUO.js";import{a as Ci,b as pe}from"./chunk-C7X4JG6F.js";import{a as Si}from"./chunk-74Y7C2MG.js";import{h as ne,i as yi}from"./chunk-Q45IFUGA.js";import"./chunk-X6OU5HV5.js";import{b as ie}from"./chunk-2SAQDBKA.js";import"./chunk-GDLTEIKV.js";import"./chunk-PNVRIGOW.js";import{C as ee,D as te,E as Dt,N as Me,O as vi,u as z,v as ue,w as $}from"./chunk-KMVWE6IR.js";import{ga as Te,ha as ci}from"./chunk-4IJDCXOA.js";import{H as Ae,O as xi,P as we}from"./chunk-QMH4FATM.js";import"./chunk-3X3O55NN.js";import"./chunk-GIKR6Y2K.js";import{a as it,d as le}from"./chunk-P67FCS5T.js";import"./chunk-SRELAFRM.js";import"./chunk-HLZJPEJB.js";import"./chunk-O4T67QQ3.js";import{a as F}from"./chunk-2FWFPV5I.js";import"./chunk-WUSKRV4R.js";import{A as pi,D as ht,E as di,b as Se,c as j,h as q,l as _t,o as N,s as yt,y as et}from"./chunk-J577JGRK.js";import"./chunk-WULI4TL4.js";import"./chunk-VUVNZP6V.js";import{a as E,d as G}from"./chunk-EQ6536VC.js";import"./chunk-5W2FAFPB.js";import{$ as ct,$a as r,Db as O,Dc as Y,E as ce,Eb as ai,Gb as ri,Hb as mi,Ib as i,Jb as n,Kb as C,Lb as T,M as dt,Ma as De,Mb as w,Md as _e,Ob as g,Od as he,Pd as Z,Qb as x,Rb as c,Rd as Yt,Td as A,Uc as xt,Va as oi,Vb as Ve,Wc as X,Wd as R,Xc as L,Y as ke,aa as be,ad as Xe,bd as Ze,cd as $e,d as ii,db as f,dc as J,e as Ye,ec as d,ed as U,fa as gt,fc as b,gc as D,hc as Re,hd as vt,jc as y,ka as ft,kb as M,kc as h,lb as Ct,lc as S,na as st,ob as re,oc as k,pc as V,qb as s,qc as Jt,qd as li,t as He,u as Qt,va as _,vb as p,wa as u,wb as ye,xb as Ee,xc as I,yb as Kt,yc as P,z as ni,zb as K,zc as me}from"./chunk-ONCTFURX.js";import{a as ae,b as se}from"./chunk-7DCB7DB2.js";var Ui=()=>["/menu/Promotion/Main/Pricebook/Form"],ji=()=>["/menu/Promotion/Main/Pricebook/Info"],Gi=t=>({ID:t});function zi(t,m){if(t&1){let e=g();i(0,"button",20),x("click",function(){_(e);let o=c(2);return u(o.openExportModal())}),C(1,"i",21),d(2," Export "),n()}}function Hi(t,m){if(t&1){let e=g();i(0,"a",22),x("click",function(){_(e);let o=c(2);return u(o.httpPostListID("ProductSetup/RemovePricebooks"))}),C(1,"i",23),d(2,"Delete "),n()}}function Qi(t,m){t&1&&(i(0,"a",24),d(1,"Add"),n()),t&2&&p("routerLink",k(1,Ui))}function Ki(t,m){if(t&1){let e=g();i(0,"th",25)(1,"input",26),x("change",function(o){_(e);let l=c(2);return u(l.onSelectAllData(o.target.checked))}),n()()}}function Ji(t,m){if(t&1){let e=g();i(0,"td")(1,"input",33),S("ngModelChange",function(o){_(e);let l=c().$implicit;return h(l.selected,o)||(l.selected=o),u(o)}),n()()}if(t&2){let e=c().$implicit;r(),y("ngModel",e.selected)}}function Yi(t,m){if(t&1&&(i(0,"li"),d(1),n()),t&2){let e=c().$implicit;r(),b(e)}}function Xi(t,m){if(t&1&&(i(0,"ul",34),s(1,Yi,2,1,"li",28),n()),t&2){let e=m.$implicit;r(),p("ngIf",e!=null)}}function Zi(t,m){t&1&&(T(0),d(1," - "),w())}function $i(t,m){if(t&1&&(d(0),I(1,"date")),t&2){let e=c().$implicit;D(" ",me(1,1,e.StartDate,"dd MMM yyyy")," ")}}function en(t,m){t&1&&(T(0),d(1," - "),w())}function tn(t,m){if(t&1&&(d(0),I(1,"date")),t&2){let e=c().$implicit;D(" ",me(1,1,e.ExpirationDate,"dd MMM yyyy")," ")}}function nn(t,m){if(t&1&&(i(0,"tr",27),s(1,Ji,2,1,"td",28),i(2,"td")(3,"a",29),d(4),n()(),i(5,"td",30),d(6),n(),i(7,"td"),s(8,Xi,2,1,"ul",31),n(),i(9,"td"),s(10,Zi,2,0,"ng-container",32)(11,$i,2,4,"ng-template",null,0,Y),n(),i(13,"td"),s(14,en,2,0,"ng-container",32)(15,tn,2,4,"ng-template",null,1,Y),n(),i(17,"td"),d(18),n()()),t&2){let e=m.$implicit,a=J(12),o=J(16),l=c(2);K(e.expiredClass),p("cdkDragDisabled",!l.dragDrop.enabledDragItem),r(),p("ngIf",l.roleService.promotion.Delete),r(2),p("routerLink",k(14,ji))("queryParams",V(15,Gi,e.ID)),r(),b(e.Name),r(2),b(e.MinimumQuantity),r(2),p("ngForOf",e.Outlets),r(2),p("ngIf",e.StartDate==l.minDate)("ngIfElse",a),r(4),p("ngIf",e.ExpirationDate==l.minDate)("ngIfElse",o),r(4),b(e.Description)}}function on(t,m){if(t&1){let e=g();i(0,"mainpanel-cmp",3),S("textChange",function(o){_(e);let l=c();return h(l.pageData.Filter.Name,o)||(l.pageData.Filter.Name=o),u(o)}),x("onSubmit",function(){_(e);let o=c();return u(o.searchFromPageOne())}),i(1,"actions"),s(2,zi,3,0,"button",4),i(3,"button",5),x("click",function(){_(e);let o=c();return u(o.onPutSaveDragAndDrop("ProductSetup/SortPricebook"))}),C(4,"i",6),d(5),n(),s(6,Hi,3,0,"a",7)(7,Qi,2,2,"a",8),n(),i(8,"content")(9,"div",9)(10,"div",10)(11,"table",11)(12,"thead",12)(13,"tr"),s(14,Ki,2,0,"th",13),i(15,"th",14),d(16,"Name"),n(),i(17,"th",15),d(18," Min Qty "),n(),i(19,"th",14),d(20,"Outlet"),n(),i(21,"th",16),d(22,"Start"),n(),i(23,"th",16),d(24,"Expiration"),n(),i(25,"th"),d(26,"Description"),n()()(),i(27,"tbody",17),x("cdkDropListDropped",function(o){_(e);let l=c();return u(l.dragDrop.drop(o,l.data))}),s(28,nn,19,17,"tr",18),n()()(),i(29,"POS-complex-pagination",19),x("jumpToPage",function(){_(e);let o=c();return u(o.getListData())})("previousPage",function(){_(e);let o=c();return u(o.getListData())})("nextPage",function(){_(e);let o=c();return u(o.getListData())}),n()()()()}if(t&2){let e=c();p("pageData",e.menuData)("hideSearchDropdown",!0),y("text",e.pageData.Filter.Name),r(2),p("ngIf",e.roleService.global.Export),r(3),D("",e.dragDrop.enabledDragItem?"Save Changes":"Sort"," "),r(),p("ngIf",e.getSelectedData().length>0),r(),p("ngIf",e.roleService.promotion.Create),r(7),p("ngIf",e.roleService.promotion.Delete),r(14),p("ngForOf",e.data.Data),r(),p("total",e.data.Data.length)("pageData",e.pageData)}}var bt=class t extends Oe{constructor(e,a,o,l,v,B){super(e,a,"Promotion/GetPricebookList",null,o);this.roleService=l;this.matDialog=v;this.csvConverter=B}minDate=E.MinDate;postInit(e){e.Data=e?.Data?.map(a=>(a.expiredClass=this.setExpirationStatus(a),a))}openExportModal(){this.matDialog.open(ge,{data:{title:"Pricebook",exportTypes:[{ID:"PromotionExport/GetPricebookList",Value:"Default",FileName:"Pricebook"}],filterExport:this.pageData.Filter,getAllDataLengthAPI:"",pagination:!0}})}setExpirationStatus(e){let a=this.getTodayDate(),o,l=e.ExpirationDate==E.MinDate?null:new Date(e.ExpirationDate);if(l){let v=a.getTime(),B=l.getTime();v==B?o="bg-gradient-warning":v>B&&(o="bg-gradient-danger")}return o}getTodayDate(){let e=new Date;return e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0),e}static \u0275fac=function(a){return new(a||t)(f(ie),f(R),f(A),f(G),f($),f(Ie))};static \u0275cmp=M({type:t,selectors:[["POS-pricebook"]],standalone:!1,features:[re],decls:1,vars:1,consts:[["START_DATE",""],["END_DATE",""],[3,"pageData","hideSearchDropdown","text","textChange","onSubmit",4,"ngIf"],[3,"textChange","onSubmit","pageData","hideSearchDropdown","text"],["class","btn btn-outline-secondary",3,"click",4,"ngIf"],["title","Drag and drop the rows of the table below to the order you want then click Save",1,"btn","btn-outline-secondary","ms-3",3,"click"],[1,"fa-solid","fa-sort","me-3"],["class","btn btn-outline-secondary ms-3",3,"click",4,"ngIf"],["class","button btn btn-success ms-3",3,"routerLink",4,"ngIf"],[1,"container-fluid","mt-5"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],["style","width: 14px",4,"ngIf"],[2,"width","200px"],["matTooltipPosition","above","matTooltip","Minimum Quantity before this pricebook takes effect!",1,"text-end",2,"width","70px"],[2,"width","150px"],["cdkDropList","",3,"cdkDropListDropped"],["class","border-bottom","cdkDrag","",3,"class","cdkDragDisabled",4,"ngFor","ngForOf"],["api","Promotion/GetCountPricebook",3,"jumpToPage","previousPage","nextPage","total","pageData"],[1,"btn","btn-outline-secondary",3,"click"],["aria-hidden","true",1,"fa-solid","fa-upload"],[1,"btn","btn-outline-secondary","ms-3",3,"click"],[1,"fa-solid","fa-trash","me-3"],[1,"button","btn","btn-success","ms-3",3,"routerLink"],[2,"width","14px"],["type","checkbox",3,"change"],["cdkDrag","",1,"border-bottom",3,"cdkDragDisabled"],[4,"ngIf"],[3,"routerLink","queryParams"],[1,"text-end"],["class","mb-0",4,"ngFor","ngForOf"],[4,"ngIf","ngIfElse"],["type","checkbox",3,"ngModelChange","ngModel"],[1,"mb-0"]],template:function(a,o){a&1&&s(0,on,30,11,"mainpanel-cmp",2),a&2&&p("ngIf",o.data)},dependencies:[X,L,Z,ne,Se,q,N,ot,gi,ui,Te,$e],encapsulation:2})};var an=()=>["/menu/Promotion/Main/Pricebook/Form"],Ri=t=>({ID:t});function rn(t,m){if(t&1&&(i(0,"a",30),C(1,"i",31),d(2,"Edit"),n()),t&2){let e=c(2);p("routerLink",k(2,an))("queryParams",V(3,Ri,e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.ID))}}function mn(t,m){if(t&1){let e=g();i(0,"a",32),x("click",function(){_(e);let o=c(2);return u(o.delete(o.data==null||o.data.Data==null||o.data.Data.Info==null?null:o.data.Data.Info.ID))}),C(1,"i",33),d(2,"Delete "),n()}}function ln(t,m){if(t&1&&(i(0,"div",34),C(1,"POS-info-page-input",35),I(2,"IsMinDate"),n()),t&2){let e=c(2);r(),p("inputValue",me(2,1,e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.StartDate,"dd MMM yyyy"))}}function pn(t,m){if(t&1&&(i(0,"div",34),C(1,"POS-info-page-input",36),I(2,"IsMinDate"),n()),t&2){let e=c(2);r(),p("inputValue",me(2,1,e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.ExpirationDate,"dd MMM yyyy"))}}function dn(t,m){if(t&1&&(i(0,"tr",44)(1,"td",45),d(2),n()()),t&2){let e=m.$implicit;r(2),b(e==null?null:e.Name)}}function cn(t,m){if(t&1&&(i(0,"div",41)(1,"table",42)(2,"tbody"),s(3,dn,3,1,"tr",43),n()()()),t&2){let e=c(3);r(3),p("ngForOf",e.data==null||e.data.Data==null?null:e.data.Data.Entities)}}function sn(t,m){if(t&1){let e=g();i(0,"div",11)(1,"div",37)(2,"div",38),x("click",function(){_(e);let o=c(2);return u(o.toggleName=!o.toggleName)}),i(3,"h4",39),d(4,"Outlet"),n()(),s(5,cn,4,1,"div",40),n()()}if(t&2){let e=c(2);r(5),p("ngIf",!e.toggleName)}}function _n(t,m){if(t&1&&(T(0),i(1,"span"),d(2),n(),w()),t&2){let e=m.ngIf;r(2),D("(",e.ListTotal," Items)")}}function un(t,m){if(t&1){let e=g();i(0,"div",2)(1,"button",46),x("click",function(){_(e);let o=c(2);return u(o.openExportModal())}),C(2,"i",47),d(3,"Export "),n()()}}function gn(t,m){if(t&1&&(i(0,"tr",49)(1,"td")(2,"a",50),d(3),n()(),i(4,"td"),d(5),n(),i(6,"td",29),d(7),I(8,"number"),n(),i(9,"td",29),d(10),I(11,"number"),n(),i(12,"td",29),d(13),I(14,"number"),n()()),t&2){let e=m.$implicit;r(2),p("queryParams",V(12,Ri,e.VariantID)),r(),b(e.VariantName),r(2),b(e.VariantCode),r(2),D(" ",P(8,6,e.OriginalPrice)," "),r(3),b(P(11,8,e.UnitPrice)),r(3),D(" ",P(14,10,e.PriceDiscount)," ")}}function fn(t,m){if(t&1&&(T(0),s(1,gn,15,14,"tr",48),w()),t&2){let e=m.ngIf;r(),p("ngForOf",e.Data)}}function Cn(t,m){if(t&1){let e=g();i(0,"mat-paginator",52),x("page",function(o){_(e);let l=c(3);return u(l.onRequirementPaginationChange(o))}),n()}if(t&2){let e=m.ngIf,a=c().ngIf;p("length",e.ListTotal)("pageSize",e.Data.length)("pageIndex",a.pageIndex)}}function xn(t,m){if(t&1&&(T(0),s(1,Cn,1,3,"mat-paginator",51),I(2,"async"),w()),t&2){let e=c(2);r(),p("ngIf",P(2,1,e.promotionRequirement$))}}function vn(t,m){if(t&1&&(i(0,"mainpanel-cmp",1)(1,"actions")(2,"div",2),s(3,rn,3,5,"a",3)(4,mn,3,0,"a",4),n()(),i(5,"content")(6,"div",5)(7,"div",6)(8,"div",7)(9,"div",8)(10,"div",9)(11,"h3"),d(12,"General"),n()(),i(13,"div",10)(14,"div",6)(15,"div",11)(16,"div",12),C(17,"POS-info-page-input",13),n()(),i(18,"div",11)(19,"div",12),C(20,"POS-info-page-input",14),n()()()()()(),i(21,"div",7)(22,"div",8)(23,"div",9)(24,"h3"),d(25,"Configuration"),n()(),i(26,"div",10)(27,"div",6),s(28,ln,3,4,"div",15)(29,pn,3,4,"div",15),i(30,"div",11)(31,"div",12),C(32,"POS-info-page-input",16),n()(),s(33,sn,6,1,"div",17),n()()()(),i(34,"div",11)(35,"div",8)(36,"div",18)(37,"div",19)(38,"div",20)(39,"h3"),d(40,"Product"),n(),s(41,_n,3,1,"ng-container",21),I(42,"async"),n()(),i(43,"div",22),C(44,"input",23),s(45,un,4,0,"div",24),n()(),i(46,"div",10)(47,"div",6)(48,"div",25)(49,"table",26)(50,"thead",27)(51,"tr")(52,"th"),d(53,"Name"),n(),i(54,"th",28),d(55,"Code"),n(),i(56,"th",29),d(57,"Original Price"),n(),i(58,"th",29),d(59,"Pricebook Price"),n(),i(60,"th",29),d(61,"Price Disc.(%)"),n()()(),i(62,"tbody"),s(63,fn,2,1,"ng-container",21),I(64,"async"),n()()()(),i(65,"div"),s(66,xn,3,3,"ng-container",21),I(67,"async"),n()()()()()()()()),t&2){let e=c();p("pageData",e.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(3),p("ngIf",e.roleService.promotion.Edit),r(),p("ngIf",e.roleService.promotion.Delete),r(13),p("inputValue",e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.Name),r(3),p("inputValue",e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.Description),r(8),p("ngIf",(e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.StartDate)!=e.minDate),r(),p("ngIf",(e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.ExpirationDate)!=e.minDate),r(3),p("inputValue",e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.MinimumQuantity),r(),p("ngIf",e.data==null||e.data.Data==null||e.data.Data.Entities==null?null:e.data.Data.Entities.length),r(8),p("ngIf",P(42,16,e.promotionRequirement$)),r(3),p("formControl",e.promotionRequirementQuery),r(),p("ngIf",e.roleService.global.Export),r(18),p("ngIf",P(64,18,e.promotionRequirement$)),r(3),p("ngIf",P(67,20,e.promotionRequirementPagination))}}var Tt=class t extends We{constructor(e,a,o,l,v,B,Pe,pt){super(e,a,"Promotion/PricebooksInfo",o);this.router=l;this.csvConverter=v;this.roleService=B;this.matDialog=Pe;this.toastr=pt;let W=o.snapshot.queryParams.ID;this.promotionRequirement$=this.promotionRequirementQuery.valueChanges.pipe(dt(700),ct("")).pipe(gt(()=>this.promotionRequirementPagination.next({pageIndex:0})),He(Q=>({query:Q,pagination:0})),be(({query:Q,pagination:Je})=>this.onPageChange.asObservable().pipe(He(()=>({query:Q,pagination:this.promotionRequirementPagination.value})))),be(({query:Q,pagination:Je})=>a.post("/API/Promotion/PriceBookList",{ID:W,PageNumber:Je.pageIndex+1,RowCount:20,Text:Q})),ke(1))}minDate=E.MinDate;toggleName=!1;promotionRequirementQuery=new _t("");promotionRequirementPagination=new Ye({pageIndex:0});promotionRequirement$;onPageChange=new Ye(null);preInitList(){this.menuData.H=this.data.PageTitle}delete(e){if(confirm("Are you sure you want to delete this pricebook?")){let a={ID:e};this.httpService.post("/API/Promotion/RemovePricebookInfoById",a).subscribe(()=>{this.toastr.success("Success delete pricebook",F.Success),this.router.navigate(["/menu/Promotion/Main/Pricebook"])})}}onRequirementPaginationChange(e){this.promotionRequirementPagination.next(e),this.onPageChange.next()}openExportModal(){this.matDialog.open(ge,{data:{title:"Pricebook",exportTypes:[{ID:"PromotionExport/ExportPriceBook",Value:"Default"}],filterExport:se(ae({},this.data.Filter),{ID:this.route.snapshot.queryParamMap.get("ID")||""}),getAllDataLengthAPI:"",pagination:!1}})}static \u0275fac=function(a){return new(a||t)(f(ie),f(R),f(_e),f(he),f(Ie),f(G),f($),f(A))};static \u0275cmp=M({type:t,selectors:[["POS-pricebook-info"]],standalone:!1,features:[re],decls:1,vars:1,consts:[[3,"pageData","hideSearchBox","hideSearchDropdown",4,"ngIf"],[3,"pageData","hideSearchBox","hideSearchDropdown"],[1,"btn-group"],["class","button btn btn-outline-secondary border-end-0",3,"routerLink","queryParams",4,"ngIf"],["class","btn btn-outline-secondary",3,"click",4,"ngIf"],[1,"container-fluid","mt-5","form-horizontal"],[1,"row"],[1,"col-md-6"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"col-md-12"],[1,"form-floating-outline"],["labelValue","Name",3,"inputValue"],["labelValue","Description",3,"inputValue"],["class","form-floating-outline col-sm-6",4,"ngIf"],["labelValue","Minimum Quantity",3,"inputValue"],["class","col-md-12",4,"ngIf"],[1,"card-header","d-flex"],[1,"me-auto","mt-5"],[1,"d-flex","gap-2","align-items-baseline"],[4,"ngIf"],[1,"d-flex","mt-2",2,"column-gap","10px"],["type","text","placeholder","Search variant...",1,"form-control","input",2,"width","250px","font-size","1rem",3,"formControl"],["class","btn-group",4,"ngIf"],[1,"col-sm-12"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[2,"width","45px"],[1,"text-end"],[1,"button","btn","btn-outline-secondary","border-end-0",3,"routerLink","queryParams"],[1,"fa-solid","fa-pen-to-square","me-3"],[1,"btn","btn-outline-secondary",3,"click"],[1,"fa-solid","fa-trash","me-3"],[1,"form-floating-outline","col-sm-6"],["labelValue","Start Date",3,"inputValue"],["labelValue","Expiration Date",3,"inputValue"],[1,"card","p-5"],[1,"header",3,"click"],[1,"title","fw-bold","mb-4","ms-3"],["class","content",4,"ngIf"],[1,"content"],[1,"table","table-borderless"],["class","mt-5",4,"ngFor","ngForOf"],[1,"mt-5"],[1,"ps-4","py-1"],[1,"btn","btn-outline-secondary","btn-sm",3,"click"],[1,"fa","fa-upload","me-3"],["class","border-bottom",4,"ngFor","ngForOf"],[1,"border-bottom"],["routerLink","/menu/Products/Catalog/Variants/Info","target","_blank",3,"queryParams"],[3,"length","pageSize","pageIndex","page",4,"ngIf"],[3,"page","length","pageSize","pageIndex"]],template:function(a,o){a&1&&s(0,vn,68,22,"mainpanel-cmp",0),a&2&&p("ngIf",o.data)},dependencies:[X,L,Z,ne,j,q,tt,Be,yt,Xe,U,Ae],styles:["input[_ngcontent-%COMP%]{background-color:#fff!important}"]})};var wt=class t{constructor(m,e,a,o){this.httpService=m;this.data=e;this.dialogRef=a;this.toastr=o;this.config=new ee,this.products=this.data.products,this.item=Object.assign({},this.data.item),this.index=this.data.index,E.IsEmpty(this.item.VariantID)?(this.config.title="Add New Variant",this.item={},this.item.VariantCode=""):(this.config.title="Edit Variant",this.isEdit=!0)}item;index;products;config;isAlreadyRegistered;isEdit;changeVariant(m){this.httpService.get(we.GetVariantOnSelectedIDByID,[{key:"ID",value:m}]).subscribe(e=>{this.products.findIndex(o=>m===o.VariantID)!=-1?(this.isAlreadyRegistered=!0,this.toastr.error(`${e.Name} already registered`,F.Error)):(this.isAlreadyRegistered=!1,this.item.UnitPrice=e.UnitPrice,this.item.Discount=e.PriceDiscount,this.item.ExtraCost=e.ExtraCost,this.item.CostDiscount=e.OrderPriceDiscount,this.item.VariantID=e.ID,this.item.VariantName=e.Name,this.item.OriginalCost=e.UnitCost,this.item.OriginalPrice=e.UnitPrice,this.item.VariantCode=e.Code)})}onOk(){E.IsNotEmpty(this.item.VariantID)&&(!this.isAlreadyRegistered&&!this.isEdit&&this.products.push(this.item),this.isEdit&&(this.products[this.index]=this.item)),this.dialogRef.close()}static \u0275fac=function(e){return new(e||t)(f(R),f(ue),f(z),f(A))};static \u0275cmp=M({type:t,selectors:[["POS-modal-add-variant"]],standalone:!1,decls:30,vars:10,consts:[[3,"onCancel","onClose","onOk","config"],[1,"section-content",2,"width","390px"],[1,"row"],[1,"col-sm-12"],[1,"form-floating-outline"],["requestUrl","/API/AC/GetVariantSuggestionByCodeNName","placeholder","Name",1,"w-100",3,"onSelect","keyup.enter","renderThumbnail","inputTextValue"],["type","text","id","inputVariantCode","placeholder","Variant Code","readonly","",1,"form-control",3,"value"],["for","inputVariantCode"],[1,"col-sm-4"],["type","text","readonly","","name","originalPrice",1,"form-control",3,"value"],["for","originalPrice"],[1,"col-sm-5","ps-2"],["autoNum","","type","text","id","PbPrice","placeholder","Promotion Price",1,"form-control",3,"ngModelChange","ngModel"],["for","PbPrice"],[1,"col-sm-3","px-2"],["autoNum","","type","text","placeholder","Disc %",1,"form-control",2,"width","85px",3,"ngModelChange","ngModel","max"],["for","disc"]],template:function(e,a){e&1&&(i(0,"modal-material",0),x("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),i(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"autocompleteV2",5),x("onSelect",function(l){return a.changeVariant(l)})("keyup.enter",function(l){return l.stopPropagation()}),n()()()(),i(7,"div",2)(8,"div",3)(9,"div",4),C(10,"input",6),i(11,"label",7),d(12,"Variant Code"),n()()()(),i(13,"div",2)(14,"div",8)(15,"div",4),C(16,"input",9),I(17,"number"),i(18,"label",10),d(19,"Original Price"),n()()(),i(20,"div",11)(21,"div",4)(22,"input",12),S("ngModelChange",function(l){return h(a.item.UnitPrice,l)||(a.item.UnitPrice=l),l}),n(),i(23,"label",13),d(24,"Pricebook Price"),n()()(),i(25,"div",14)(26,"div",4)(27,"input",15),S("ngModelChange",function(l){return h(a.item.PriceDiscount,l)||(a.item.PriceDiscount=l),l}),n(),i(28,"label",16),d(29,"Disc %"),n()()()()()()()),e&2&&(p("config",a.config),r(6),p("renderThumbnail",!0)("inputTextValue",a.item.VariantName),r(4),p("value",a.item.VariantCode),r(6),p("value",P(17,8,a.item.OriginalPrice)),r(6),y("ngModel",a.item.UnitPrice),r(5),y("ngModel",a.item.PriceDiscount),p("max",100))},dependencies:[j,q,N,te,pe,Me,U],styles:["autocompletev2[_ngcontent-%COMP%] input{font-size:16px!important;height:58px}"]})};function yn(t,m){if(t&1){let e=g();T(0),i(1,"POS-uppy",3),x("fileUploaded",function(o){_(e);let l=c(2);return u(l.assignFile(o))}),n(),w()}if(t&2){let e=c(2);r(),p("sampleUrl",e.sampleUrl)("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function hn(t,m){if(t&1){let e=g();T(0),i(1,"POS-uppy",3),x("fileUploaded",function(o){_(e);let l=c(2);return u(l.assignFile(o))}),n(),w()}if(t&2){let e=c(2);r(),p("sampleUrl",e.sampleUrl)("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function Sn(t,m){if(t&1&&s(0,yn,2,2,"ng-container",2)(1,hn,2,2,"ng-container",2),t&2){let e=c();p("ngIf",e.uploadState()===e.uploadStateEnum.Idle||e.uploadState()===e.uploadStateEnum.Uploading),r(),p("ngIf",e.uploadState()===e.uploadStateEnum.Success||e.uploadState()===e.uploadStateEnum.Error)}}var Vt=class t{constructor(m,e){this.dialogRef=m;this.config=e.config}httpService=st(R);fileInput;sampleUrl="https://res.cloudinary.com/pos/raw/upload/v1647931293/POS/CSV/Pricebook.csv";config;uploadState=De(0);uploadStateEnum=Ne;fil;matDialogRef=st(z);onOk(){this.uploadState.set(1);let m=new FormData;m.append("Data",this.fileInput),this.httpService.postFormData("/API/Promotion/ImportPriceBook",m).pipe().subscribe({next:e=>{this.uploadState.set(2),this.dialogRef.close(e)},error:e=>{this.uploadState.set(3)}})}assignFile(m){this.fileInput=m}static \u0275fac=function(e){return new(e||t)(f(z),f(ue))};static \u0275cmp=M({type:t,selectors:[["POS-modal-import-price-book"]],standalone:!1,decls:3,vars:1,consts:[["modalContent",""],[3,"onOk","onCancel","onClose","config"],[4,"ngIf"],[3,"fileUploaded","sampleUrl","subtitle"]],template:function(e,a){if(e&1){let o=g();i(0,"modal-material",1),x("onOk",function(){return _(o),u(a.onOk())})("onCancel",function(){return _(o),u(a.dialogRef.close())})("onClose",function(){return _(o),u(a.dialogRef.close())}),s(1,Sn,2,2,"ng-template",null,0,Y),n()}e&2&&p("config",a.config)},dependencies:[L,te,Le],encapsulation:2})};var In=()=>["/menu/Promotion/Main/Pricebook"],Dn=t=>({selected:t});function Pn(t,m){t&1&&(i(0,"small",42),d(1,"Name is required."),n())}function bn(t,m){if(t&1&&(C(0,"input",43),d(1),I(2,"uppercase")),t&2){let e=m.item,a=m.item$,o=m.index;Ve("id","item-",o,""),p("ngModel",a.selected),r(),D(" ",P(2,4,e.selectAll)," ")}}function En(t,m){if(t&1&&(C(0,"input",43),d(1)),t&2){let e=m.item,a=m.item$,o=m.index;Ve("id","item-",o,""),p("ngModel",a.selected),r(),D(" ",e.Name," ")}}function Tn(t,m){if(t&1&&(i(0,"span"),d(1),n()),t&2){let e=c(2);r(),D("(",e.data.List.length," Items)")}}function wn(t,m){if(t&1){let e=g();i(0,"div",44)(1,"a",34),x("click",function(){_(e);let o=c(2);return u(o.openVariantDialog())}),C(2,"span",45),d(3," Add a Variant "),n()()}}function Mn(t,m){t&1&&C(0,"th",46)}function Vn(t,m){if(t&1){let e=g();i(0,"td")(1,"i",50),x("click",function(){_(e);let o=c().index,l=c(2);return u(l.data.List.splice(o,1))}),n()()}}function Fn(t,m){if(t&1){let e=g();i(0,"a",51),x("click",function(){_(e);let o=c(),l=o.$implicit,v=o.index,B=c(2);return u(B.openVariantDialog(l,v))}),d(1),n()}if(t&2){let e=c().$implicit;r(),D(" ",e.VariantName," ")}}function kn(t,m){if(t&1&&d(0),t&2){let e=c().$implicit;D(" ",e.VariantName," ")}}function Rn(t,m){if(t&1&&(i(0,"tr",47),s(1,Vn,2,0,"td",31),i(2,"td",48),s(3,Fn,2,1,"a",49)(4,kn,1,1),n(),i(5,"td"),d(6),n(),i(7,"td",40),d(8),I(9,"number"),n(),i(10,"td",40),d(11),I(12,"number"),n(),i(13,"td",40),d(14),I(15,"number"),n()()),t&2){let e=m.$implicit,a=c(2);r(),p("ngIf",a.roleService.promotion.Create||a.roleService.promotion.Edit),r(2),O(a.roleService.promotion.Create||a.roleService.promotion.Edit?3:4),r(3),b(e.VariantCode),r(2),b(P(9,6,e.OriginalPrice)),r(3),b(P(12,8,e.UnitPrice)),r(3),b(P(15,10,e.PriceDiscount))}}function On(t,m){if(t&1){let e=g();i(0,"mainpanel-cmp",3)(1,"actions")(2,"a",4),d(3,"Cancel"),n(),i(4,"a",5),x("click",function(){_(e);let o=c();return u(o.validate())}),d(5,"Save"),n()(),i(6,"content")(7,"div",6)(8,"div",7)(9,"div",8)(10,"div",9)(11,"div",10)(12,"h3"),d(13,"General"),n()(),i(14,"div",11)(15,"div",7)(16,"div",12)(17,"div",13)(18,"input",14,0),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.Name,o)||(l.formData.Name=o),u(o)}),n(),i(20,"label",15),d(21,"Name"),n(),s(22,Pn,2,0,"small",16),n()(),i(23,"div",12)(24,"div",13)(25,"textarea",17),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.Description,o)||(l.formData.Description=o),u(o)}),n(),i(26,"label",18),d(27,"Description"),n()()()()()()(),i(28,"div",8)(29,"div",9)(30,"div",10)(31,"h3"),d(32,"Configuration"),n()(),i(33,"div",11)(34,"div",7)(35,"div",19)(36,"datepicker",20),S("dateChange",function(o){_(e);let l=c();return h(l.formData.StartDate,o)||(l.formData.StartDate=o),u(o)}),n()(),i(37,"div",19)(38,"datepicker",21),S("dateChange",function(o){_(e);let l=c();return h(l.formData.ExpirationDate,o)||(l.formData.ExpirationDate=o),u(o)}),n()(),i(39,"div",12)(40,"div",13)(41,"input",22),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.MinimumQuantity,o)||(l.formData.MinimumQuantity=o),u(o)}),n(),i(42,"label",23),d(43,"Minimum Quantity"),n()()(),i(44,"div",12)(45,"div",24)(46,"ng-select",25,1),S("ngModelChange",function(o){_(e);let l=c();return h(l.entities,o)||(l.entities=o),u(o)}),s(48,bn,3,6,"ng-template",26)(49,En,2,4,"ng-template",27),n(),i(50,"label",28),d(51,"Outlet"),n()()()()()()(),i(52,"div",12)(53,"div",9)(54,"div",29)(55,"div",30)(56,"h3"),d(57,"Product"),n(),s(58,Tn,2,1,"span",31),n(),i(59,"div",32)(60,"div",33)(61,"a",34),x("click",function(){_(e);let o=c();return u(o.openImportDialog())}),d(62," Import Price Book "),n()(),s(63,wn,4,0,"div",35),n()(),i(64,"div",11)(65,"div",7)(66,"div",12)(67,"table",36)(68,"thead",37)(69,"tr"),s(70,Mn,1,0,"th",38),i(71,"th"),d(72,"Name"),n(),i(73,"th",39),d(74,"Code"),n(),i(75,"th",40),d(76,"Original Price"),n(),i(77,"th",40),d(78,"Pricebook Price"),n(),i(79,"th",40),d(80,"Price Disc.(%)"),n()()(),i(81,"tbody"),s(82,Rn,16,12,"tr",41),n()()()()()()()()()()()}if(t&2){let e=J(19),a=J(47),o=c();p("pageData",o.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(2),p("routerLink",k(26,In)),r(16),y("ngModel",o.formData.Name),r(4),p("ngIf",e.touched&&(e.errors==null?null:e.errors.required)),r(3),y("ngModel",o.formData.Description),r(11),y("date",o.formData.StartDate),p("showPlaceholder",!0),r(2),y("date",o.formData.ExpirationDate),p("showPlaceholder",!0),r(3),y("ngModel",o.formData.MinimumQuantity),r(4),K(V(27,Dn,o.entities)),r(),p("items",o.options.Entities)("multiple",!0)("selectableGroup",!0)("selectableGroupAsModel",!1)("closeOnSelect",!1),y("ngModel",o.entities),r(4),ye("z-index",a.isOpen?"9999":""),r(8),p("ngIf",o.data.List.length>0),r(5),p("ngIf",o.roleService.promotion.Create||o.roleService.promotion.Edit),r(7),p("ngIf",o.roleService.promotion.Create||o.roleService.promotion.Edit),r(12),p("ngForOf",o.data.List)}}var Ft=class t extends We{constructor(e,a,o,l,v,B,Pe){super(e,a,"Promotion/PricebooksFormInitials",o);this.toastr=l;this.router=v;this.matDialog=B;this.roleService=Pe;this.products=[]}products;entities;uploadState=De(0);uploadStateEnum=Ne;timeoutID;state="edit";postBindForm(e){this.products=e.List,this.entities=e.ListEntityID,this.menuData.H=e.PageTitle?`Editing ${e.PageTitle}`:"Pricebook Form",this.options.Entities=this.options.Entities.map(a=>se(ae({},a),{selectAll:"Select All"}))}validate(){if(E.IsEmpty(this.formData.Name)){this.toastr.error("Name is required.",F.Error);return}this.onSubmit("Promotion/SubmitPricebook")}preSubmitForm(){let e={list:this.products,model:this.formData,listEntityId:this.entities};this.data.Form=e}onSubmitSuccess(){let e="edit";E.IsEmpty(this.formData.model.ID)&&(e="add",this.state=e),this.toastr.success(`Success ${e} pricebook`,F.Success),this.router.navigate(["/menu/Promotion/Main/Pricebook"])}openVariantDialog(e,a){this.matDialog.open(wt,{data:{products:this.products,item:e,index:a}})}openImportDialog(){let e=new ee;e.title="Import Price Book",this.matDialog.open(Vt,{data:{config:e}}).afterClosed().pipe(ce(a=>E.IsNotEmpty(a))).subscribe({next:a=>{a.forEach(o=>{let l=this.products.findIndex(v=>v.VariantID==o.VariantID);l!=-1?this.products[l]=o:this.products.push(o)})}})}static \u0275fac=function(a){return new(a||t)(f(ie),f(R),f(_e),f(A),f(he),f($),f(G))};static \u0275cmp=M({type:t,selectors:[["POS-pricebook-form"]],standalone:!1,features:[re],decls:1,vars:1,consts:[["name","ngModel"],["outlet",""],[3,"pageData","hideSearchBox","hideSearchDropdown",4,"ngIf"],[3,"pageData","hideSearchBox","hideSearchDropdown"],[1,"button","btn","btn-outline-secondary","me-5",3,"routerLink"],[1,"btn","btn-success",3,"click"],[1,"container-fluid","mt-5"],[1,"row"],[1,"col-sm-6"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"col-sm-12"],[1,"form-floating-outline"],["type","text","name","name","id","nameid","placeholder","Name","autofocus","","required","",1,"form-control",3,"ngModelChange","ngModel"],["for","nameid"],["style","color: red",4,"ngIf"],["placeholder","Description","id","descId",1,"form-control",3,"ngModelChange","ngModel"],["for","decId"],[1,"form-floating-outline","col-sm-6"],["placeholder","Start Date","appearance","outline",3,"dateChange","date","showPlaceholder"],["placeholder","Expiration Date","appearance","outline",3,"dateChange","date","showPlaceholder"],["type","text","autoNum","","matTooltip","Minimum quantity to get the pricebook price","id","minqty","placeholder","Minimum Quantity",1,"form-control",3,"ngModelChange","ngModel"],["for","minqty"],[1,"form-floating-outline","multiple","outlet-multiselect"],["bindLabel","Name","groupBy","selectAll","bindValue","ID",3,"ngModelChange","items","multiple","selectableGroup","selectableGroupAsModel","closeOnSelect","ngModel"],["ng-optgroup-tmp",""],["ng-option-tmp",""],["for","inputOutlet"],[1,"card-header","d-lg-flex"],[1,"me-auto","mt-5","d-flex","gap-2","align-items-baseline"],[4,"ngIf"],[1,"d-sm-block","mt-2"],[1,"btn-group","me-5"],["role","button",1,"btn","btn-outline-secondary","btn-sm",3,"click"],["class","btn-group",4,"ngIf"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],["width","15px",4,"ngIf"],[2,"width","45px"],[1,"text-end"],["class","border-bottom",4,"ngFor","ngForOf"],[2,"color","red"],["type","checkbox",3,"id","ngModel"],[1,"btn-group"],[1,"fa-solid","fa-circle-plus"],["width","15px"],[1,"border-bottom"],[1,"cursor-pointer"],[1,"text-info"],["aria-hidden","true",1,"fa","fa-xmark","text-danger","fa-2x",2,"cursor","pointer",3,"click"],[1,"text-info",3,"click"]],template:function(a,o){a&1&&s(0,On,83,29,"mainpanel-cmp",2),a&2&&p("ngIf",o.data&&o.formData)},dependencies:[X,L,Z,ne,j,Se,q,et,N,le,pe,qe,Te,it,Ze,U],styles:[".outlet-multiselect[_ngcontent-%COMP%] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:10px;padding-left:10px}"]})};function An(t,m){if(t&1){let e=g();T(0),i(1,"POS-uppy",3),x("fileUploaded",function(o){_(e);let l=c(2);return u(l.onSelectFile(o))}),n(),w()}t&2&&(r(),p("subtitle","Accepted file formats: .csv & max file size: 1 MB"))}function qn(t,m){if(t&1){let e=g();T(0),i(1,"POS-uppy",3),x("fileUploaded",function(o){_(e);let l=c(2);return u(l.onSelectFile(o))}),n(),w()}t&2&&(r(),p("subtitle","Accepted file formats: .csv & max file size: 1 MB"))}function Ln(t,m){if(t&1&&s(0,An,2,1,"ng-container",2)(1,qn,2,1,"ng-container",2),t&2){let e=c();p("ngIf",e.uploadState()===e.uploadStateEnum.Idle||e.uploadState()===e.uploadStateEnum.Uploading),r(),p("ngIf",e.uploadState()===e.uploadStateEnum.Success||e.uploadState()===e.uploadStateEnum.Error)}}var kt=class t{constructor(m,e,a){this.dialogRef=m;this.toastService=e;this.httpService=a;this.config=new ee,this.config.title="Upload Generate Key"}config;file;uploadState=De(0);uploadStateEnum=Ne;onSelectFile(m){this.file=m}onOk(){this.uploadState.set(1);let m=new FormData;m.append("File",this.file),this.httpService.postFormData("/api/Promotion/ImportKey",m).subscribe({next:e=>{this.uploadState.set(2),this.toastService.success(e.Message,F.Success),this.dialogRef.close("Success")},error:e=>{this.uploadState.set(3)}})}onClose(){this.dialogRef.close()}static \u0275fac=function(e){return new(e||t)(f(z),f(A),f(R))};static \u0275cmp=M({type:t,selectors:[["POS-modal-upload-generate-key"]],standalone:!1,decls:3,vars:1,consts:[["modalContent",""],[3,"onOk","onCancel","onClose","config"],[4,"ngIf"],["sampleUrl","https://res.cloudinary.com/pos/raw/upload/v1717749035/POS/CSV/Promotion-Coupon-New",3,"fileUploaded","subtitle"]],template:function(e,a){if(e&1){let o=g();i(0,"modal-material",1),x("onOk",function(){return _(o),u(a.onOk())})("onCancel",function(){return _(o),u(a.onClose())})("onClose",function(){return _(o),u(a.onClose())}),s(1,Ln,2,2,"ng-template",null,0,Y),n()}e&2&&p("config",a.config)},dependencies:[L,te,Le],encapsulation:2})};var Nn=t=>({"border-end-0":t}),Bn=()=>["/menu/Promotion/Main/Coupon/Form"],Wn=()=>["/menu/Promotion/Main/Coupon/Info"],Un=t=>({ID:t});function jn(t,m){if(t&1){let e=g();i(0,"a",16),x("click",function(){_(e);let o=c(2);return u(o.httpPostListID("Promotion/RemoveKey"))}),C(1,"i",17),d(2,"Delete "),n()}}function Gn(t,m){if(t&1){let e=g();i(0,"button",16),x("click",function(){_(e);let o=c(2);return u(o.onImport())}),C(1,"i",18),d(2,"Import "),n()}if(t&2){let e=c(2);K(V(2,Nn,e.roleService.global.Export))}}function zn(t,m){if(t&1){let e=g();i(0,"button",16),x("click",function(){_(e);let o=c(2);return u(o.openExportModal())}),C(1,"i",19),d(2," Export "),n()}}function Hn(t,m){t&1&&(i(0,"a",20),d(1,"Add"),n()),t&2&&p("routerLink",k(1,Bn))}function Qn(t,m){if(t&1){let e=g();i(0,"div",21)(1,"h6"),d(2,"Balance From - To"),n(),i(3,"div",22)(4,"input",23),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.FromUsageBalance,o)||(l.pageData.Filter.FromUsageBalance=o),u(o)}),n(),d(5," - "),i(6,"input",23),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.ToUsageBalance,o)||(l.pageData.Filter.ToUsageBalance=o),u(o)}),n()(),i(7,"h6"),d(8,"Customer"),n(),i(9,"autocompleteV2",24),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.CustomerID,o)||(l.pageData.Filter.CustomerID=o),u(o)}),n(),i(10,"h6"),d(11,"Type"),n(),i(12,"ng-select",25),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.TypeID,o)||(l.pageData.Filter.TypeID=o),u(o)}),n(),i(13,"h6"),d(14,"Usage Status"),n(),i(15,"ng-select",25),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.UsageStatusID,o)||(l.pageData.Filter.UsageStatusID=o),u(o)}),n(),i(16,"h6"),d(17,"Created"),n(),i(18,"div",26)(19,"datepicker",27),S("dateChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.FromCreated,o)||(l.pageData.Filter.FromCreated=o),u(o)}),n(),i(20,"datepicker",28),S("dateChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.ToCreated,o)||(l.pageData.Filter.ToCreated=o),u(o)}),n()(),i(21,"h6"),d(22,"Expiry"),n(),i(23,"div",26)(24,"datepicker",27),S("dateChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.FromExpiry,o)||(l.pageData.Filter.FromExpiry=o),u(o)}),n(),i(25,"datepicker",28),S("dateChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.ToExpiry,o)||(l.pageData.Filter.ToExpiry=o),u(o)}),n()(),i(26,"h6"),d(27,"Reference ID"),n(),i(28,"div")(29,"input",29),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.ReferenceID,o)||(l.pageData.Filter.ReferenceID=o),u(o)}),n()()()}if(t&2){let e=c(2);r(4),y("ngModel",e.pageData.Filter.FromUsageBalance),r(2),y("ngModel",e.pageData.Filter.ToUsageBalance),r(3),y("ngModel",e.pageData.Filter.CustomerID),r(3),p("items",e.pageData.Options.AuthorizationTypes),y("ngModel",e.pageData.Filter.TypeID),r(3),p("items",e.pageData.Options.StatusTypes),y("ngModel",e.pageData.Filter.UsageStatusID),r(4),p("isFloatingLabel",!1),y("date",e.pageData.Filter.FromCreated),r(),p("isFloatingLabel",!1),y("date",e.pageData.Filter.ToCreated),r(4),p("isFloatingLabel",!1),y("date",e.pageData.Filter.FromExpiry),r(),p("isFloatingLabel",!1),y("date",e.pageData.Filter.ToExpiry),r(4),y("ngModel",e.pageData.Filter.ReferenceID)}}function Kn(t,m){if(t&1){let e=g();i(0,"th",30)(1,"input",31),x("change",function(o){_(e);let l=c(2);return u(l.onSelectAllData(o.target.checked))}),n()()}}function Jn(t,m){if(t&1){let e=g();i(0,"td")(1,"input",36),S("ngModelChange",function(o){_(e);let l=c().$implicit;return h(l.selected,o)||(l.selected=o),u(o)}),n()()}if(t&2){let e=c().$implicit;r(),y("ngModel",e.selected)}}function Yn(t,m){if(t&1&&(i(0,"a",34),d(1),n()),t&2){let e=c().$implicit;p("routerLink",k(3,Wn))("queryParams",V(4,Un,e.ID)),r(),D("",e.Code," ")}}function Xn(t,m){if(t&1&&(i(0,"span"),d(1),n()),t&2){let e=c().$implicit;r(),b(e.Code)}}function Zn(t,m){if(t&1&&(i(0,"span"),d(1),I(2,"number"),I(3,"number"),n()),t&2){let e=c().$implicit;r(),Re("",P(2,2,e.UsageBalance)," / ",P(3,4,e.UsageLimit),"")}}function $n(t,m){t&1&&(i(0,"span"),d(1,"\u221E"),n())}function eo(t,m){if(t&1&&(i(0,"span"),d(1),I(2,"number"),n()),t&2){let e=c().$implicit;r(),D("",P(2,1,e.Discount),"%")}}function to(t,m){if(t&1&&(i(0,"span"),d(1),I(2,"number"),n()),t&2){let e=c().$implicit;r(),b(P(2,1,e.Discount))}}function io(t,m){t&1&&(i(0,"span"),d(1,"-"),n())}function no(t,m){if(t&1&&(T(0),i(1,"div")(2,"span",37),d(3),n()(),w()),t&2){let e=c().$implicit;r(3),D("Specific ",e.RequirementTypeID==1?"Products":"Categories","")}}function oo(t,m){if(t&1&&(T(0),i(1,"div")(2,"span",37),d(3,"Customer:"),n(),d(4),n(),w()),t&2){let e=c().$implicit;r(4),D(" ",e.CustomerName," ")}}function ao(t,m){if(t&1&&(i(0,"li"),d(1),n()),t&2){let e=m.$implicit;r(),D(" ",e," ")}}function ro(t,m){if(t&1&&(T(0),i(1,"div",37),d(2,"Outlets:"),n(),i(3,"ul",38),s(4,ao,2,1,"li",39),n(),w()),t&2){let e=c().$implicit;r(4),p("ngForOf",e.Outlets)}}function mo(t,m){if(t&1&&(T(0),i(1,"div")(2,"span",37),d(3,"Min Spending:"),n(),d(4),I(5,"number"),n(),w()),t&2){let e=c().$implicit;r(4),D(" ",P(5,1,e.MinimumAmount)," ")}}function lo(t,m){if(t&1&&(i(0,"tr",32),s(1,Jn,2,1,"td",33),i(2,"td"),s(3,Yn,2,6,"a",34)(4,Xn,2,1,"span"),n(),i(5,"td"),s(6,Zn,4,6,"span",33)(7,$n,2,0,"span",33),n(),i(8,"td"),d(9),n(),i(10,"td",35),s(11,eo,3,3,"span",33)(12,to,3,3,"span",33)(13,io,2,0,"span",33),n(),i(14,"td"),d(15),I(16,"IsMinDate"),n(),i(17,"td"),d(18),I(19,"IsMinDate"),n(),i(20,"td"),s(21,no,4,1,"ng-container",33)(22,oo,5,1,"ng-container",33)(23,ro,5,1,"ng-container",33)(24,mo,6,3,"ng-container",33),n()()),t&2){let e=m.$implicit,a=c(2);r(),p("ngIf",a.roleService.promotion.Delete),r(2),O(!(a.roleService==null||a.roleService.promotion==null)&&a.roleService.promotion.View?3:4),r(3),p("ngIf",e.UsageLimit!=0),r(),p("ngIf",e.UsageLimit==0),r(2),b(e.AuthorizationTypeString),r(2),p("ngIf",e.AuthorizationType==1),r(),p("ngIf",e.AuthorizationType==2),r(),p("ngIf",e.AuthorizationType>2),r(2),b(P(16,14,e.StartDate)),r(3),b(P(19,16,e.ExpiryDate)),r(3),p("ngIf",e.RequirementTypeID!=0),r(),p("ngIf",e.CustomerName),r(),p("ngIf",(e.Outlets==null?null:e.Outlets.length)>0),r(),p("ngIf",e.MinimumAmount)}}function po(t,m){if(t&1){let e=g();i(0,"mat-paginator",40),x("page",function(o){_(e);let l=c(2);return u(l.onPaginationChange(o))}),n()}if(t&2){let e=c(2);p("length",e.pagination.listTotal)("pageSize",e.pagination.pageSize)("pageIndex",e.pageData.Filter.PageNumber==0?0:e.pageData.Filter.PageNumber-1)}}function co(t,m){if(t&1){let e=g();i(0,"mainpanel-cmp",2),S("textChange",function(o){_(e);let l=c();return h(l.pageData.Filter.code,o)||(l.pageData.Filter.code=o),u(o)}),x("onSubmit",function(){_(e);let o=c();return u(o.searchFromPageOne())}),S("filterChange",function(o){_(e);let l=c();return h(l.pageData.Filter,o)||(l.pageData.Filter=o),u(o)}),i(1,"actions"),s(2,jn,3,0,"a",3),i(3,"div",4),s(4,Gn,3,4,"button",5)(5,zn,3,0,"button",3),n(),s(6,Hn,2,2,"a",6),n(),i(7,"filters"),s(8,Qn,30,16,"ng-template",null,0,Y),n(),i(10,"content")(11,"div",7)(12,"div",8)(13,"table",9)(14,"thead",10)(15,"tr"),s(16,Kn,2,0,"th",11),i(17,"th"),d(18,"Coupon"),n(),i(19,"th"),d(20,"Balance"),n(),i(21,"th"),d(22,"Type"),n(),i(23,"th",12),d(24,"Discount"),n(),i(25,"th",13),d(26,"Start"),n(),i(27,"th",13),d(28,"Expiry"),n(),i(29,"th"),d(30,"Requirement"),n()()(),i(31,"tbody"),s(32,lo,25,18,"tr",14),n()()(),i(33,"div"),s(34,po,1,3,"mat-paginator",15),n()()()()}if(t&2){let e=c();p("pageData",e.menuData),y("text",e.pageData.Filter.code),p("isFilterOnDropdown",!1),y("filter",e.pageData.Filter),r(2),p("ngIf",e.getSelectedData().length>0),r(2),p("ngIf",e.roleService.promotion.Create),r(),p("ngIf",e.roleService.global.Export),r(),p("ngIf",e.roleService.promotion.Create),r(10),p("ngIf",e.roleService.promotion.Delete),r(16),p("ngForOf",e.data.Data),r(2),p("ngIf",e.pagination.listTotal>0)}}var Rt=class t extends Oe{constructor(e,a,o,l,v,B,Pe){super(e,a,"Promotion/GetPromotionCouponList","PromotionLoader/PromotionLoader",o,Pe);this.csvConverter=l;this.matDialog=v;this.roleService=B}onImport(){this.matDialog.open(kt).afterClosed().pipe(ce(e=>E.IsNotEmpty(e))).subscribe(()=>this.getListData())}openExportModal(){this.matDialog.open(ge,{data:{title:"Promotion Coupon",exportTypes:[{ID:"PromotionExport/ExportPromotionCouponList",Value:"Default",FileName:"Promotion Coupon"}],filterExport:this.pageData.Filter,getAllDataLengthAPI:"",pagination:!0}})}static \u0275fac=function(a){return new(a||t)(f(ie),f(R),f(A),f(Ie),f($),f(G),f(_e))};static \u0275cmp=M({type:t,selectors:[["POS-promotion-coupon"]],standalone:!1,features:[re],decls:1,vars:1,consts:[["pageFilterTemplate",""],[3,"pageData","text","isFilterOnDropdown","filter","textChange","onSubmit","filterChange",4,"ngIf"],[3,"textChange","onSubmit","filterChange","pageData","text","isFilterOnDropdown","filter"],["class","btn btn-outline-secondary",3,"click",4,"ngIf"],[1,"btn-group","ms-3"],["class","btn btn-outline-secondary",3,"class","click",4,"ngIf"],["class","button btn btn-success ms-3",3,"routerLink",4,"ngIf"],[1,"container-fluid","mt-5"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],["style","width: 14px",4,"ngIf"],[1,"text-end",2,"width","100px"],[2,"width","150px"],["class","border-bottom",4,"ngFor","ngForOf"],[3,"length","pageSize","pageIndex","page",4,"ngIf"],[1,"btn","btn-outline-secondary",3,"click"],["data-cy","DeleteCoupon",1,"fa-solid","fa-trash","me-3"],[1,"fa","fa-download","me-3"],["aria-hidden","true",1,"fa-solid","fa-upload"],[1,"button","btn","btn-success","ms-3",3,"routerLink"],[1,"dialog-filter"],[1,"d-flex","align-items-center",2,"column-gap","8px"],["type","text","autoNum","",1,"form-control","input-filter",3,"ngModelChange","ngModel"],["requestUrl","/API/AC/GetCustomerSuggestion","notFoundMessageFor","customer","placeholder","Search Customer",1,"w-100","ac-filter",3,"ngModelChange","ngModel"],["placeholder","Choose..","bindLabel","Value","bindValue","Key",3,"ngModelChange","items","ngModel"],[1,"d-flex"],["placeholder","From","appearance","outline","name","From",1,"w-50","pe-2",3,"dateChange","isFloatingLabel","date"],["placeholder","To","appearance","outline","name","To",1,"w-50","ps-2",3,"dateChange","isFloatingLabel","date"],["type","text",1,"form-control","input-filter",3,"ngModelChange","ngModel"],[2,"width","14px"],["type","checkbox",3,"change"],[1,"border-bottom"],[4,"ngIf"],[3,"routerLink","queryParams"],[1,"text-end"],["type","checkbox",3,"ngModelChange","ngModel"],[1,"fw-bold"],[1,"ps-3","ms-12","mb-0"],[4,"ngFor","ngForOf"],[3,"page","length","pageSize","pageIndex"]],template:function(a,o){a&1&&s(0,co,35,11,"mainpanel-cmp",1),a&2&&p("ngIf",o.data)},dependencies:[X,L,Z,ne,j,Se,q,N,le,pe,Me,tt,qe,U,Ae],styles:["ng-select[_ngcontent-%COMP%] div.ng-option{white-space:normal!important}"]})};var so=()=>["/menu/Promotion/Main/Coupon/Form"],At=t=>({ID:t}),_o=t=>({CategoryID:t}),uo=t=>({Filter:t}),go=()=>["/menu/Orders/Orders/Customer_Invoice/Info"];function fo(t,m){if(t&1&&(i(0,"a",28),C(1,"i",29),d(2,"Edit "),n()),t&2){let e=c(2);p("routerLink",k(2,so))("queryParams",V(3,At,e.data.Detail.ID))}}function Co(t,m){if(t&1){let e=g();i(0,"button",30),x("click",function(){_(e);let o=c(2);return u(o.delete(o.data.Detail.ID))}),C(1,"i",31),d(2,"Delete "),n()}}function xo(t,m){if(t&1&&(i(0,"div",14)(1,"div",12),C(2,"POS-info-page-input",32),I(3,"number"),n()()),t&2){let e=c(2);r(2),p("inputValue",e.data.Detail.AuthorizationType==1?e.data.Detail.Discount+"%":P(3,1,e.data.Detail.Discount))}}function vo(t,m){if(t&1&&(i(0,"div",14)(1,"div",12),C(2,"POS-info-page-input",33),n()()),t&2){let e=c(2);r(2),p("inputValue",e.data.Detail.EmptyCartOnApplyCoupon?"Yes":"No")}}function yo(t,m){if(t&1&&(i(0,"div",8)(1,"div",12),C(2,"POS-info-page-input",34),n()()),t&2){let e=c(2);r(2),p("inputValue",e.data.Detail.ReferenceID)}}function ho(t,m){if(t&1){let e=g();T(0),i(1,"div",35)(2,"div",36)(3,"ng-select",37,0),S("ngModelChange",function(o){_(e);let l=c(3);return h(l.outletIDs,o)||(l.outletIDs=o),u(o)}),n(),i(5,"label",38),d(6,"Outlet"),n()()(),w()}if(t&2){let e=J(4),a=c(3);r(3),p("items",a.data.Outlets)("readonly",!0),y("ngModel",a.outletIDs),p("multiple",!0),r(2),ye("z-index",e.isOpen?"9999":"")}}function So(t,m){if(t&1&&(i(0,"div",35)(1,"div",12)(2,"a",39),C(3,"POS-info-page-input",40),n()()()),t&2){let e=c(3);r(2),p("queryParams",V(2,At,e.data.Detail==null?null:e.data.Detail.CustomerID)),r(),p("inputValue",e.data==null?null:e.data.CustomerName)}}function Io(t,m){if(t&1&&(T(0),i(1,"div",35)(2,"div",12),C(3,"POS-info-page-input",41),I(4,"number"),n()(),w()),t&2){let e=c(3);r(3),p("inputValue",P(4,1,e.data==null||e.data.Detail==null?null:e.data.Detail.MinimumAmount))}}function Do(t,m){if(t&1&&(T(0),i(1,"div",35)(2,"div",12),C(3,"POS-info-page-input",42),I(4,"number"),n()(),w()),t&2){let e=c(3);r(3),p("inputValue",P(4,1,e.data==null||e.data.Detail==null?null:e.data.Detail.MaximumDiscount))}}function Po(t,m){if(t&1&&(T(0),i(1,"div",35)(2,"div",12),C(3,"POS-info-page-input",43),n()(),w()),t&2){let e=c(3);r(3),p("inputValue",!(e.data==null||e.data.Detail==null)&&e.data.Detail.FullPriceProductOnly?"Yes":"No")}}function bo(t,m){if(t&1&&(i(0,"div",35)(1,"div",12),C(2,"POS-info-page-input",44),n()()),t&2){let e=c(3);r(2),p("inputValue",(e.data==null||e.data.Detail==null?null:e.data.Detail.MultipleItemRequirementDiscount)==0?"All":"Selected Item")}}function Eo(t,m){if(t&1&&(T(0),i(1,"div",9)(2,"div",10)(3,"h3"),d(4,"Requirements"),n()(),i(5,"div",11)(6,"div",7),s(7,ho,7,6,"ng-container",17)(8,So,4,4,"div",35)(9,Io,5,3,"ng-container",17)(10,Do,5,3,"ng-container",17)(11,Po,4,1,"ng-container",17)(12,bo,3,1,"div",35),n()()(),w()),t&2){let e=c(2);r(7),p("ngIf",e.data.Outlets.length>0),r(),O(e.data!=null&&e.data.CustomerName?8:-1),r(),p("ngIf",e.data==null||e.data.Detail==null?null:e.data.Detail.MinimumAmount),r(),p("ngIf",e.data==null||e.data.Detail==null?null:e.data.Detail.MaximumDiscount),r(),p("ngIf",(e.data==null||e.data.Detail==null?null:e.data.Detail.TypeId)==e.couponType.DiscountPercentage),r(),O((e.data==null||e.data.Detail==null?null:e.data.Detail.RequirementTypeID)>0?12:-1)}}function To(t,m){if(t&1&&(i(0,"span"),d(1),n()),t&2){let e=c(4);r(),D("(",e.data.ListRequirementVariants.length," Items)")}}function wo(t,m){if(t&1&&s(0,To,2,1,"span",17),t&2){let e=c(3);p("ngIf",e.data.ListRequirementVariants.length)}}function Mo(t,m){if(t&1&&(i(0,"span"),d(1),n()),t&2){let e=c(4);r(),D("(",e.data.ListRequirementCategories.length," Items)")}}function Vo(t,m){if(t&1&&s(0,Mo,2,1,"span",17),t&2){let e=c(3);p("ngIf",e.data.ListRequirementCategories.length)}}function Fo(t,m){if(t&1&&(i(0,"tr",55)(1,"td"),d(2),n(),i(3,"td")(4,"a",56),d(5),n()(),i(6,"td"),d(7),n(),i(8,"td",53),d(9),I(10,"number"),n()()),t&2){let e=m.$implicit,a=m.index;r(2),b(a+1+"."),r(2),p("queryParams",V(7,At,e.VariantID)),r(),D(" ",e.VariantName," "),r(2),b(e.VariantCode),r(2),D(" ",P(10,5,e.UnitPrice)," ")}}function ko(t,m){if(t&1&&(T(0),i(1,"div",48)(2,"table",49)(3,"thead",50)(4,"tr")(5,"th",51),d(6,"No"),n(),i(7,"th"),d(8,"Name"),n(),i(9,"th",52),d(10,"Code"),n(),i(11,"th",53),d(12,"Price"),n()()(),i(13,"tbody"),s(14,Fo,11,9,"tr",54),n()()(),w()),t&2){let e=c(3);r(14),p("ngForOf",e.data.ListRequirementVariants)}}function Ro(t,m){if(t&1&&(i(0,"tr",55)(1,"td"),d(2),n(),i(3,"td",57)(4,"a",58),d(5),n()()()),t&2){let e=m.$implicit,a=m.index;r(2),b(a+1+"."),r(2),p("queryParams",V(3,_o,e.CategoryID)),r(),D(" ",e.CategoryName," ")}}function Oo(t,m){if(t&1&&(T(0),i(1,"div",48)(2,"table",49)(3,"thead",50)(4,"tr")(5,"th",51),d(6,"No"),n(),i(7,"th"),d(8,"Name"),n()()(),i(9,"tbody"),s(10,Ro,6,5,"tr",54),n()()(),w()),t&2){let e=c(3);r(10),p("ngForOf",e.data.ListRequirementCategories)}}function Ao(t,m){if(t&1&&(i(0,"div",7)(1,"div",21)(2,"div",9)(3,"div",45)(4,"div",46)(5,"h3"),d(6),n(),s(7,wo,1,1,"span")(8,Vo,1,1,"span"),n()(),i(9,"div",11)(10,"div",7)(11,"div",21)(12,"div",47),s(13,ko,15,1,"ng-container",17)(14,Oo,11,1,"ng-container",17),n()()()()()()()),t&2){let e,a=c(2);r(6),D(" ",a.data.Detail.RequirementTypeID==1?"Requirement":"Category"," "),r(),O((e=a.data.Detail.RequirementTypeID)===1?7:e===2?8:-1),r(6),p("ngIf",a.data.Detail.RequirementTypeID==1),r(),p("ngIf",a.data.Detail.RequirementTypeID==2)}}function qo(t,m){if(t&1&&(i(0,"span"),d(1),n()),t&2){let e=c(2).ngIf;r(),D("(",e.Data.length," Invoices)")}}function Lo(t,m){if(t&1&&(i(0,"tr")(1,"td",64),d(2),n(),i(3,"td"),d(4),n(),i(5,"td"),C(6,"a",71),n(),i(7,"td"),d(8),n(),i(9,"td"),d(10),I(11,"date"),n(),i(12,"td",53),d(13),I(14,"number"),n()()),t&2){let e=m.$implicit,a=m.index;r(2),b(a+1),r(2),b(e.Outlet),r(2),p("routerLink",k(13,go))("queryParams",V(14,At,e.ID))("innerHTML",e.Number,oi),r(2),b(e.Name),r(2),b(me(11,8,e.Date,"dd MMM yyyy")),r(3),b(P(14,11,e.Total))}}function No(t,m){if(t&1){let e=g();i(0,"div",9)(1,"div",59)(2,"div",60)(3,"h2",61),d(4,"Invoices"),n(),s(5,qo,2,1,"span",17),n(),i(6,"button",30),x("click",function(){_(e);let o=c(3);return u(o.openExportModal())}),C(7,"i",62),d(8,"Export "),n()(),i(9,"div",11)(10,"table",63)(11,"thead",50)(12,"tr")(13,"th",64),d(14,"No"),n(),i(15,"th",65),d(16,"Outlet"),n(),i(17,"th",66),d(18,"Number"),n(),i(19,"th",65),d(20,"Customer"),n(),i(21,"th",67),d(22,"Date"),n(),i(23,"th",68),d(24,"Amount"),n()()(),i(25,"tbody"),s(26,Lo,15,16,"tr",69),n()(),i(27,"POS-complex-pagination",70),x("jumpToPage",function(){_(e);let o=c(3);return u(o.initObsInvoices())})("previousPage",function(){_(e);let o=c(3);return u(o.initObsInvoices())})("nextPage",function(){_(e);let o=c(3);return u(o.initObsInvoices())}),n()()()}if(t&2){let e=c().ngIf,a=c(2);r(5),p("ngIf",e.Data),r(21),p("ngForOf",e.Data),r(),p("total",e==null||e.Data==null?null:e.Data.length)("pageData",V(4,uo,a.invoiceFilter))}}function Bo(t,m){if(t&1&&(T(0),s(1,No,28,6,"div",9),w()),t&2){let e=m.ngIf;r(),O((e.Data==null?null:e.Data.length)>0?1:-1)}}function Wo(t,m){if(t&1&&(i(0,"div",72)(1,"div",9)(2,"div",10)(3,"h3"),d(4,"Point Deduction"),n()(),i(5,"div",11)(6,"div",7)(7,"div",20)(8,"div",73),C(9,"radio-options",74),i(10,"label",75),d(11,"Deduction Settings"),n()()(),i(12,"div",20)(13,"div",12),C(14,"input",76),i(15,"label",77),d(16,"Deduction Amount"),n()()()()()()()),t&2){let e=c(2);r(9),p("model",e.data.Detail.DeductionCustomer),r(5),p("ngModel",e.data.Detail.DeductionPoint)}}function Uo(t,m){if(t&1&&(i(0,"span")(1,"b"),d(2,"Modified:"),n(),d(3),n()),t&2){let e=c(2);r(3),Re(" ",e.data.DocumentInfo.Modified.Date," / ",e.data.DocumentInfo.Modified.User," ")}}function jo(t,m){if(t&1&&(i(0,"mainpanel-cmp",2)(1,"actions")(2,"div",3),s(3,fo,3,5,"a",4)(4,Co,3,0,"button",5),n()(),i(5,"content")(6,"div",6)(7,"div",7)(8,"div",8)(9,"div",9)(10,"div",10)(11,"h3"),d(12,"Coupon Info"),n()(),i(13,"div",11)(14,"div",7)(15,"div",8)(16,"div",12),C(17,"POS-info-page-input",13),n()(),i(18,"div",14)(19,"div",12),C(20,"POS-info-page-input",15),n()(),i(21,"div",8)(22,"div",12),C(23,"POS-info-page-input",16),n()(),s(24,xo,4,3,"div",14)(25,vo,3,1,"div",14)(26,yo,3,1,"div",8),n()()(),s(27,Eo,13,6,"ng-container",17)(28,Ao,15,4,"div",18)(29,Bo,2,1,"ng-container",17),I(30,"async"),n(),i(31,"div",19)(32,"div",7)(33,"div",20)(34,"div",7)(35,"div",21)(36,"div",9)(37,"div",10)(38,"h3"),d(39,"Expiration Info"),n()(),i(40,"div",11)(41,"div",7)(42,"div",21)(43,"div",12),C(44,"POS-info-page-input",22),I(45,"IsMinDate"),n()(),i(46,"div",21)(47,"div",12),C(48,"POS-info-page-input",23),I(49,"IsMinDate"),n()(),i(50,"div",21)(51,"div",12),C(52,"POS-info-page-input",24),n()()()()()()()(),s(53,Wo,17,2,"div",25),n()()(),i(54,"div",26),C(55,"i",27),i(56,"span")(57,"b"),d(58,"Created:"),n(),d(59),n(),s(60,Uo,4,2,"span",17),n()()()()),t&2){let e=c();p("pageData",e.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(3),p("ngIf",e.roleService.promotion.Edit),r(),p("ngIf",e.roleService.promotion.Delete),r(13),p("inputValue",e.data.Detail.Code),r(3),p("inputValue",e.data.Detail.UsageLimit==0?"\u221E":e.data.Detail.UsageBalance+" / "+e.data.Detail.UsageLimit),r(3),p("inputValue",e.data.Detail.AuthorizationTypeString),r(),O(e.data.Detail.AuthorizationType<3?24:-1),r(),O(e.data.Detail.AuthorizationType>3?25:-1),r(),O(e.data.Detail!=null&&e.data.Detail.ReferenceID?26:-1),r(),p("ngIf",e.data.Outlets.length>0||(e.data==null?null:e.data.CustomerName)||(e.data==null||e.data.Detail==null?null:e.data.Detail.MinimumAmount)||(e.data==null||e.data.Detail==null?null:e.data.Detail.MaximumDiscount)>0||(e.data==null||e.data.Detail==null?null:e.data.Detail.TypeId)==e.couponType.DiscountPercentage),r(),p("ngIf",e.data.Detail.RequirementTypeID),r(),p("ngIf",P(30,21,e.invoices$)),r(15),p("inputValue",me(45,23,e.data.Detail.Created,"dd MMM yyyy")),r(4),p("inputValue",me(49,26,e.data.Detail.ExpiryDate,"dd MMM yyyy")),r(4),p("inputValue",e.data.Detail.Description),r(),p("ngIf",e.data.Detail.DeductionCustomer),r(6),Re(" ",e.data.DocumentInfo.Created.Date," / ",e.data.DocumentInfo.Created.User," "),r(),p("ngIf",e.data.DocumentInfo.Modified.User)}}var Ot=class t extends Oe{constructor(e,a,o,l,v,B,Pe,pt){super(e,a,"Promotion/Info",null,o,v);this.toastr=o;this.router=l;this.csvConverter=B;this.roleService=Pe;this.dialog=pt}outletIDs;invoices$;invoiceFilter={ID:null,PageNumber:1,RowCount:100};couponType=Pt;ngOnInit(){let e=this.route.snapshot.queryParams.ID;this.invoiceFilter.ID=e,this.initObsInvoices()}postInit(e){this.menuData.H=`${this.data.Detail.Code} Coupon Info`,this.outletIDs=this.data.Outlets.map(a=>a.ID)}preInitList(){let a={ID:this.route.snapshot.queryParams.ID};this.pageData.Filter=a}initObsInvoices(){this.invoices$=this.httpService.post("/api/Promotion/GetInvoicesUsedPromotion",this.invoiceFilter)}openExportModal(){this.dialog.open(ge,{data:{title:"Promotion Used History",exportTypes:[{ID:"promotionexport/ExportUsedDetail",Value:"Default",FileName:"Promotion_Used_History"}],filterExport:this.invoiceFilter,getAllDataLengthAPI:"Promotion/GetCountInvoicesUsedPromotion",pagination:!0}})}delete(e){if(!confirm("Are you sure you want to delete this coupon"))return;let a={ID:e};this.httpService.post("/API/Promotion/DeleteSinglePromotion",a).subscribe(()=>{this.toastr.success("Success delete promotion coupon",F.Success),this.router.navigate(["/menu/Promotion/Main/Coupon"])})}static \u0275fac=function(a){return new(a||t)(f(ie),f(R),f(A),f(he),f(_e),f(Ie),f(G),f($))};static \u0275cmp=M({type:t,selectors:[["POS-promotion-coupon-info"]],standalone:!1,features:[re],decls:1,vars:1,consts:[["outlet",""],[3,"pageData","hideSearchBox","hideSearchDropdown",4,"ngIf"],[3,"pageData","hideSearchBox","hideSearchDropdown"],[1,"btn-group","me-5"],["class","btn btn-outline-secondary",3,"routerLink","queryParams",4,"ngIf"],["class","btn btn-outline-secondary",3,"click",4,"ngIf"],[1,"container-fluid","mt-5"],[1,"row"],[1,"col-sm-8"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"form-floating-outline"],["labelValue","Coupon Code",3,"inputValue"],[1,"col-sm-4"],["labelValue","Usage Limit",3,"inputValue"],["labelValue","Type",3,"inputValue"],[4,"ngIf"],["class","row",4,"ngIf"],[1,"col-4"],[1,"col-12"],[1,"col-sm-12"],["labelValue","Created on",3,"inputValue"],["labelValue","Expired on",3,"inputValue"],["labelValue","Description",3,"inputValue"],["class","col",4,"ngIf"],[1,"alert","alert-warning","mt-5"],["aria-hidden","true",1,"fa-regular","fa-file","me-3"],[1,"btn","btn-outline-secondary",3,"routerLink","queryParams"],[1,"fa","fa-pen-to-square","me-3"],[1,"btn","btn-outline-secondary",3,"click"],[1,"fa","fa-trash","me-3"],["labelValue","Value",3,"inputValue"],["labelValue","Empty Cart On Remove",3,"inputValue"],["labelValue","Reference ID",3,"inputValue"],[1,"col-sm-6"],[1,"form-floating-outline","multiple","selected"],["bindLabel","Name","name","inputOutlet","bindValue","ID",1,"restrict-outlet",3,"ngModelChange","items","readonly","ngModel","multiple"],["for","inputOutlet"],["routerLink","/menu/Contacts/Contact/Customers/Info","target","_blank",3,"queryParams"],["labelValue","Customer",3,"inputValue"],["labelValue","Minimum Spending Amount",3,"inputValue"],["labelValue","Maximum Discount",3,"inputValue"],["labelValue","Full Price Item Only",3,"inputValue"],["labelValue","Discount Application Scope",3,"inputValue"],[1,"card-header","d-lg-flex"],[1,"me-auto","mt-2","d-flex","gap-2","align-items-baseline"],[1,"row","mt-2"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[2,"width","20px"],[2,"width","80px"],[1,"text-end"],["class","border-bottom",4,"ngFor","ngForOf"],[1,"border-bottom"],["routerLink","/menu/Products/Catalog/Variants/Info","target","_blank",3,"queryParams"],[2,"cursor","pointer"],["routerLink","/menu/Products/Catalog/Products","target","_blank",3,"queryParams"],[1,"card-header","d-flex","justify-content-between","align-items-center"],[1,"d-flex","gap-2","align-items-baseline"],[1,"title"],["aria-hidden","true",1,"fa-solid","fa-upload","me-2"],[1,"table","table-bordered","custom-table"],[2,"width","50px"],[2,"width","220px"],[2,"width","175px"],[2,"width","150px"],[1,"text-end",2,"width","90px"],[4,"ngFor","ngForOf"],["api","Promotion/GetCountInvoicesUsedPromotion",3,"jumpToPage","previousPage","nextPage","total","pageData"],["target","_blank",3,"routerLink","queryParams","innerHTML"],[1,"col"],[1,"form-floating-outline","radio","border","rounded",2,"padding-top","16px"],[3,"model"],["for","type"],["type","text","id","deductionPoint","name","deductionPoint","placeholder","Deduction Amount","autoNum","",1,"form-control","block",3,"ngModel"],["for","deductionPoint"]],template:function(a,o){a&1&&s(0,jo,61,29,"mainpanel-cmp",1),a&2&&p("ngIf",o.data)},dependencies:[X,L,Z,ne,j,q,N,le,pe,nt,ot,Be,Xe,U,$e,Ae],styles:["input[_ngcontent-%COMP%]{background-color:#fff!important} ng-select.restrict-outlet.ng-select.ng-select-disabled>.ng-select-container{background-color:#fff!important}"]})};var mt=class t{constructor(m,e,a,o){this.httpService=m;this.data=e;this.dialogRef=a;this.toastr=o;this.config=new ee,this.variantList=this.data.variantList,this.rewardItems=this.data.rewardItems,this.item=Object.assign({},this.data.item),this.index=this.data.index,E.IsEmpty(this.item.VariantID)?(this.config.title="Add Purchase Requirement Item",this.item={},this.item.VariantCode=null,this.item.UnitPrice=null):(this.config.title="Edit Purchase Requirement Item",this.isUpdate=!0)}rewardItems;variantList;item;index;config;isUpdate=!1;isAlreadyRegistered=!1;changeVariant(m){this.httpService.get(we.GetVariantOnSelectedIDByID,[{key:"ID",value:m}]).subscribe(e=>{this.rewardItems.findIndex(o=>m===o.VariantID)!=-1?(this.isAlreadyRegistered=!0,this.toastr.error(`${e.Name} already registered`,F.Error)):(this.isAlreadyRegistered=!1,this.item.UnitPrice=e.UnitPrice,this.item.Discount=e.PriceDiscount,this.item.ExtraCost=e.ExtraCost,this.item.CostDiscount=e.OrderPriceDiscount,this.item.VariantID=e.ID,this.item.VariantName=e.Name,this.item.OriginalCost=e.UnitCost,this.item.OriginalPrice=e.UnitPrice,this.item.VariantCode=e.Code)})}onOk(){E.IsNotEmpty(this.item.VariantName)?(!this.isAlreadyRegistered&&!this.isUpdate&&(this.data.isEdit?(this.item.added=!0,this.data.addedRequirementItem.push(this.item)):this.variantList.push(this.item)),this.isUpdate&&(this.variantList[this.index]=this.item),this.dialogRef.close()):this.toastr.error("Item required is empty",F.Error)}static \u0275fac=function(e){return new(e||t)(f(R),f(ue),f(z),f(A))};static \u0275cmp=M({type:t,selectors:[["POS-modal-purchase-item"]],standalone:!1,decls:12,vars:5,consts:[[3,"onCancel","onClose","onOk","config"],[1,"section-content",2,"width","390px"],[1,"row"],[1,"col-sm-12"],[1,"form-floating-outline"],["requestUrl","/API/AC/GetVariantSuggestionByCodeNName","placeholder","Name",1,"w-100",3,"onSelect","inputTextValue","renderThumbnail"],[1,"col-sm-6"],["labelValue","Variant Code",3,"inputValue"],["labelValue","Selling Price",3,"inputValue"]],template:function(e,a){e&1&&(i(0,"modal-material",0),x("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),i(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"autocompleteV2",5),x("onSelect",function(l){return a.changeVariant(l)}),n()()()(),i(7,"div",2)(8,"div",6),C(9,"POS-info-page-input",7),n(),i(10,"div",6),C(11,"POS-info-page-input",8),n()()()()()),e&2&&(p("config",a.config),r(6),p("inputTextValue",a.item.VariantName)("renderThumbnail",!0),r(3),p("inputValue",a.item.VariantCode),r(2),p("inputValue",a.item.UnitPrice))},dependencies:[te,Me,Be],styles:["autocompletev2[_ngcontent-%COMP%] input{font-size:16px!important;height:58px}"]})};function Go(t,m){if(t&1){let e=g();T(0),i(1,"POS-uppy",3),x("fileUploaded",function(o){_(e);let l=c(2);return u(l.assignFile(o))}),n(),w()}if(t&2){let e=c(2);r(),p("sampleUrl",e.sampleUrl())("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function zo(t,m){if(t&1){let e=g();T(0),i(1,"POS-uppy",3),x("fileUploaded",function(o){_(e);let l=c(2);return u(l.assignFile(o))}),n(),w()}if(t&2){let e=c(2);r(),p("sampleUrl",e.sampleUrl())("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function Ho(t,m){if(t&1&&s(0,Go,2,2,"ng-container",2)(1,zo,2,2,"ng-container",2),t&2){let e=c();p("ngIf",e.uploadState()===e.uploadStateEnum.Idle||e.uploadState()===e.uploadStateEnum.Uploading),r(),p("ngIf",e.uploadState()===e.uploadStateEnum.Success||e.uploadState()===e.uploadStateEnum.Error)}}var Ke=class t{constructor(m,e,a){this.dialogRef=m;this.httpService=e;this.data=a;this.flag=!1,this.csvResult=[],this.type=this.data.type,this.sampleUrl.set(this.data?.sampleUrl)}fileInput;modalConfig;flag;csvResult;type;csvLink;API;uploadState=De(0);uploadStateEnum=Ne;sampleUrl=De(null);ngOnInit(){this.initModalConfig()}initModalConfig(){this.modalConfig=new ee,this.type=="Purchase"?(this.modalConfig.title="Import Purchase Requirement Items",this.csvLink="//res.cloudinary.com/pos/raw/upload/POS/CSV/PurchaseRequirement.csv",this.API="/API/Promotion/ImportPurchaseRequirementCSV"):(this.modalConfig.title="Import Variant Items",this.csvLink="//res.cloudinary.com/pos/raw/upload/POS/CSV/New_Promotion_DealPOS.csv",this.API="/API/Promotion/ImportProductCSV"),this.modalConfig.customWidth="500px"}onSelectFile(m){this.csvResult=m.files[0]}onOk(){this.uploadState.set(1);let m=new FormData;m.append("Data",this.fileInput),this.httpService.postFormData(this.API,m).pipe().subscribe({next:e=>{this.uploadState.set(2),this.dialogRef.close(e)},error:e=>{e instanceof li&&this.uploadState.set(3)}})}onClose(){this.dialogRef.close()}assignFile(m){this.fileInput=m}static \u0275fac=function(e){return new(e||t)(f(z),f(R),f(ue))};static \u0275cmp=M({type:t,selectors:[["POS-modal-import-variant-items"]],standalone:!1,decls:3,vars:1,consts:[["modalContent",""],[3,"onOk","onCancel","onClose","config"],[4,"ngIf"],[3,"fileUploaded","sampleUrl","subtitle"]],template:function(e,a){if(e&1){let o=g();i(0,"modal-material",1),x("onOk",function(){return _(o),u(a.onOk())})("onCancel",function(){return _(o),u(a.onClose())})("onClose",function(){return _(o),u(a.onClose())}),s(1,Ho,2,2,"ng-template",null,0,Y),n()}e&2&&p("config",a.modalConfig)},dependencies:[L,te,Le],encapsulation:2})};var Qo=t=>({selected:t}),lt=class t{constructor(m,e){this.data=m;this.dialogRef=e;this.config=new ee,this.categories=this.data.categories,this.categoryID=this.data.category?.CategoryID,this.categoryList=this.data.categoryList,this.index=this.data.index,E.IsEmpty(this.categoryID)?(this.config.title="Add Category",this.index=this.categoryList.length):this.config.title="Change Current Category",this.config.customWidth="422px"}categoryList;categories;categoryID;category;index;config;selectCategory(m){this.category=m}onOk(){if(E.IsNotEmpty(this.category)){let m=this.categories.find(a=>a.Key==this.categoryID),e={CategoryID:m.Key,CategoryName:m.Value};this.data.isEdit?this.data.addedRequirementItemCategory.push(e):this.categoryList[this.index]=e}this.dialogRef.close()}static \u0275fac=function(e){return new(e||t)(f(ue),f(z))};static \u0275cmp=M({type:t,selectors:[["POS-modal-category"]],standalone:!1,decls:6,vars:7,consts:[["category",""],[3,"onCancel","onClose","onOk","config"],[1,"container-fluid"],[1,"form-floating-outline"],["appendTo","body","bindLabel","Value","bindValue","Key","placeholder","Category",1,"productform",3,"ngModelChange","change","items","ngModel"]],template:function(e,a){if(e&1){let o=g();i(0,"modal-material",1),x("onCancel",function(){return _(o),u(a.dialogRef.close())})("onClose",function(){return _(o),u(a.dialogRef.close())})("onOk",function(){return _(o),u(a.onOk())}),i(1,"content")(2,"div",2)(3,"div",3)(4,"ng-select",4,0),S("ngModelChange",function(v){return _(o),h(a.categoryID,v)||(a.categoryID=v),u(v)}),x("change",function(v){return _(o),u(a.selectCategory(v))}),n()()()()()}e&2&&(p("config",a.config),r(4),K(V(5,Qo,a.categoryID)),p("items",a.categories),y("ngModel",a.categoryID))},dependencies:[q,N,le,te],styles:[`ng-dropdown-panel.category-select{z-index:1100}
|
|
2
|
-
`],encapsulation:2})};var qi=t=>({selected:t}),Jo=()=>["/menu/Promotion/Main/Coupon/Info"],Yo=t=>({ID:t}),Xo=()=>["/menu/Promotion/Main/Coupon"];function Zo(t,m){if(t&1&&(i(0,"a",45),d(1,"Cancel"),n()),t&2){let e=c(2);p("routerLink",k(2,Jo))("queryParams",V(3,Yo,e.data.Form.ID))}}function $o(t,m){t&1&&(i(0,"a",46),d(1,"Cancel"),n()),t&2&&p("routerLink",k(1,Xo))}function ea(t,m){if(t&1){let e=g();i(0,"div",47)(1,"radio-options",48),S("modelChange",function(o){_(e);let l=c(2);return h(l.formData.GenerateType,o)||(l.formData.GenerateType=o),u(o)}),n(),i(2,"label",49),d(3,"Generate Type"),n()()}if(t&2){let e=c(2);r(),y("model",e.formData.GenerateType),p("options",e.typeOptions)("title",e.typeTooltips)}}function ta(t,m){if(t&1){let e=g();i(0,"div",30)(1,"input",52),S("ngModelChange",function(o){_(e);let l=c(3);return h(l.formData.TotalCode,o)||(l.formData.TotalCode=o),u(o)}),n(),i(2,"label",53),d(3,"Total Coupon"),n()()}if(t&2){let e=c(3);r(),y("ngModel",e.formData.TotalCode)}}function ia(t,m){if(t&1&&(i(0,"div",50),s(1,ta,4,1,"div",51),n()),t&2){let e=c(2);r(),p("ngIf",!e.data.IsEdit)}}function na(t,m){if(t&1){let e=g();i(0,"div",50)(1,"div",30)(2,"input",54),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.CustomPrefix,o)||(l.formData.CustomPrefix=o),u(o)}),n(),i(3,"label",55),d(4,"Prefix"),n()()()}if(t&2){let e=c(2);r(2),y("ngModel",e.formData.CustomPrefix)}}function oa(t,m){if(t&1){let e=g();i(0,"div",15)(1,"div",30)(2,"input",56),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.CustomCode,o)||(l.formData.CustomCode=o),u(o)}),n(),i(3,"label",57),d(4,"Coupon Code"),n()()()}if(t&2){let e=c(2);r(2),y("ngModel",e.formData.CustomCode)}}function aa(t,m){if(t&1){let e=g();i(0,"div",15)(1,"div",30)(2,"input",58),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.CustomCode,o)||(l.formData.CustomCode=o),u(o)}),n(),i(3,"label",59),d(4,"Coupon Code"),n()()()}if(t&2){let e=c(2);r(2),y("ngModel",e.formData.CustomCode)}}function ra(t,m){if(t&1){let e=g();i(0,"div",50)(1,"div",30)(2,"input",60),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.GeneratedCodeDigit,o)||(l.formData.GeneratedCodeDigit=o),u(o)}),n(),i(3,"label",61),d(4,"Total Digit"),n()()()}if(t&2){let e=c(2);r(2),y("ngModel",e.formData.GeneratedCodeDigit)}}function ma(t,m){if(t&1){let e=g();i(0,"div",22)(1,"div",47)(2,"radio-options",62),S("modelChange",function(o){_(e);let l=c(2);return h(l.formData.EmptyCartOnApplyCoupon,o)||(l.formData.EmptyCartOnApplyCoupon=o),u(o)}),n(),i(3,"label",63),d(4,"Empty Cart on Remove"),n()()()}if(t&2){let e=c(2);p("ngClass",e.formData.GenerateType==1&&!e.data.IsEdit?"col-sm-3":"col-sm-6"),r(2),y("model",e.formData.EmptyCartOnApplyCoupon)}}function la(t,m){if(t&1){let e=g();i(0,"div",22)(1,"div",30)(2,"input",64,1),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.Discount,o)||(l.formData.Discount=o),u(o)}),n(),i(4,"label",65),d(5,"Discount (%)"),n()()()}if(t&2){let e=c(2);p("ngClass",e.formData.GenerateType==1&&!e.data.IsEdit?"col-sm-3":"col-sm-6"),r(2),p("disabled",e.data.IsEdit),y("ngModel",e.formData.Discount),p("preventNegative",!0)}}function pa(t,m){if(t&1){let e=g();i(0,"div",66)(1,"div",30)(2,"input",67),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.Discount,o)||(l.formData.Discount=o),u(o)}),n(),i(3,"label",65),d(4,"Discount Amount"),n()()()}if(t&2){let e=c(2);p("ngClass",e.formData.GenerateType==1&&!e.data.IsEdit?"col-sm-3":"col-sm-6"),r(2),p("disabled",e.data.IsEdit),y("ngModel",e.formData.Discount)}}function da(t,m){if(t&1&&(C(0,"input",68),d(1),I(2,"uppercase")),t&2){let e=m.item,a=m.item$,o=m.index;Ve("id","item-",o,""),p("ngModel",a.selected),r(),D(" ",P(2,4,e.selectAll)," ")}}function ca(t,m){if(t&1&&(C(0,"input",68),d(1)),t&2){let e=m.item,a=m.item$,o=m.index;Ve("id","item-",o,""),p("ngModel",a.selected),r(),D(" ",e.Name," ")}}function sa(t,m){if(t&1){let e=g();T(0),i(1,"div",15)(2,"div",30)(3,"input",69),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.MinimumAmount,o)||(l.formData.MinimumAmount=o),u(o)}),n(),i(4,"label",65),d(5,"Minimum Spending Amount"),n()()(),w()}if(t&2){let e=c(2);r(3),y("ngModel",e.formData.MinimumAmount)}}function _a(t,m){if(t&1){let e=g();T(0),i(1,"div",15)(2,"div",47)(3,"radio-options",70),S("modelChange",function(o){_(e);let l=c(2);return h(l.formData.FullPriceProductOnly,o)||(l.formData.FullPriceProductOnly=o),u(o)}),n(),i(4,"label",49),d(5,"Full Price Item Only"),n()()(),w()}if(t&2){let e=c(2);r(3),y("model",e.formData.FullPriceProductOnly),p("disabled",e.data.IsEdit)}}function ua(t,m){if(t&1){let e=g();i(0,"div",15)(1,"div",30)(2,"input",71),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.MaximumDiscount,o)||(l.formData.MaximumDiscount=o),u(o)}),n(),i(3,"label",65),d(4,"Maximum Discount"),n()()()}if(t&2){let e=c(2);r(2),p("disabled",e.data.IsEdit),y("ngModel",e.formData.MaximumDiscount)}}function ga(t,m){if(t&1){let e=g();i(0,"div",15)(1,"div",72)(2,"label"),d(3,"Requirement Type"),n(),i(4,"radio-options",73),S("modelChange",function(o){_(e);let l=c(2);return h(l.formData.RequirementTypeID,o)||(l.formData.RequirementTypeID=o),u(o)}),n()()()}if(t&2){let e=c(2);r(4),p("options",e.requirementOptions),y("model",e.formData.RequirementTypeID),p("title",e.requirementOptionsTooltip)}}function fa(t,m){if(t&1){let e=g();i(0,"div",33)(1,"div",47)(2,"radio-options",48),S("modelChange",function(o){_(e);let l=c(2);return h(l.formData.RequirementDiscountType,o)||(l.formData.RequirementDiscountType=o),u(o)}),n(),i(3,"label",49),d(4,"Multiple Item Requirement Discount"),n()()()}if(t&2){let e=c(2);r(2),y("model",e.formData.RequirementDiscountType),p("options",e.options==null?null:e.options.DiscountScope)("title",e.RequirementDiscountTypeTooltips)}}function Ca(t,m){if(t&1){let e=g();i(0,"input",74),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.UsageBalance,o)||(l.formData.UsageBalance=o),u(o)}),n()}if(t&2){let e=c(2);y("ngModel",e.formData.UsageBalance)}}function xa(t,m){if(t&1&&C(0,"input",75),t&2){let e=c(2);p("value",e.formData.UsageLimit==0?"\u221E":e.formData.UsageBalance+" / "+e.formData.UsageLimit)}}function va(t,m){if(t&1){let e=g();i(0,"div",35)(1,"div",30)(2,"input",80),S("ngModelChange",function(o){_(e);let l=c(3);return h(l.formData.DeductionPoint,o)||(l.formData.DeductionPoint=o),u(o)}),n(),i(3,"label",81),d(4,"Deduction Amount"),n()()()}if(t&2){let e=c(3);r(2),y("ngModel",e.formData.DeductionPoint),p("disabled",!e.formData.DeductionCustomer)}}function ya(t,m){if(t&1){let e=g();i(0,"div",76)(1,"div",11)(2,"div",12)(3,"h3"),d(4,"Point Deduction"),n()(),i(5,"div",13)(6,"div",14)(7,"div",35)(8,"div",77)(9,"radio-options",78),S("modelChange",function(o){_(e);let l=c(2);return h(l.formData.DeductionCustomer,o)||(l.formData.DeductionCustomer=o),u(o)}),n(),i(10,"label",49),d(11,"Deduction Settings"),n()()(),s(12,va,5,2,"div",79),n()()()()}if(t&2){let e=c(2);r(9),y("model",e.formData.DeductionCustomer),r(3),p("ngIf",e.formData.DeductionCustomer)}}function ha(t,m){if(t&1&&(T(0),i(1,"span"),d(2),n(),w()),t&2){let e=c(4);r(2),D("(",e.data.Form.ListRequirementVariants.length," Items)")}}function Sa(t,m){if(t&1&&s(0,ha,3,1,"ng-container",32),t&2){let e=c(3);p("ngIf",e.data.Form.ListRequirementVariants.length>0)}}function Ia(t,m){if(t&1&&(T(0),i(1,"span"),d(2),n(),w()),t&2){let e=c(4);r(2),D("(",e.data.Form.ListRequirementCategories.length," Items)")}}function Da(t,m){if(t&1&&s(0,Ia,3,1,"ng-container",32),t&2){let e=c(3);p("ngIf",e.data.Form.ListRequirementCategories.length>0)}}function Pa(t,m){if(t&1){let e=g();i(0,"mat-button-toggle-group",89),S("ngModelChange",function(o){_(e);let l=c(3);return h(l.requirementButtonToggleState,o)||(l.requirementButtonToggleState=o),u(o)}),i(1,"mat-button-toggle",90),d(2),n(),i(3,"mat-button-toggle",91),d(4),n(),i(5,"mat-button-toggle",92),d(6),n()()}if(t&2){let e=c(3);y("ngModel",e.requirementButtonToggleState),r(2),D("Current (",e.data.Form.ListRequirementVariants.length,")"),r(2),D("Added (",e.addedRequirementItem.length,")"),r(2),D("Deleted (",e.removedRequirementItem.length,")")}}function ba(t,m){if(t&1){let e=g();i(0,"mat-button-toggle-group",89),S("ngModelChange",function(o){_(e);let l=c(3);return h(l.categoryButtonToggleState,o)||(l.categoryButtonToggleState=o),u(o)}),i(1,"mat-button-toggle",90),d(2),n(),i(3,"mat-button-toggle",91),d(4),n(),i(5,"mat-button-toggle",92),d(6),n()()}if(t&2){let e=c(3);y("ngModel",e.categoryButtonToggleState),r(2),D("Current (",e.data.Form.ListRequirementCategories.length,")"),r(2),D("Added (",e.addedRequirementItemCategory.length,")"),r(2),D("Deleted (",e.removedRequirementItemCategory.length,")")}}function Ea(t,m){if(t&1){let e=g();i(0,"div",95)(1,"a",96),x("click",function(){_(e);let o=c(4);return u(o.openVariantDialog())}),C(2,"span",97),d(3," Add "),n(),i(4,"a",96),x("click",function(){_(e);let o=c(4);return u(o.openImportPurchaseItem())}),C(5,"span",98),d(6," Import "),n()()}}function Ta(t,m){if(t&1&&(i(0,"div",93),s(1,Ea,7,0,"div",94),n()),t&2){let e=c(3);r(),p("ngIf",e.roleService.promotion.Create||e.roleService.promotion.Edit)}}function wa(t,m){if(t&1){let e=g();i(0,"div",93)(1,"div",95)(2,"a",96),x("click",function(){_(e);let o=c(3);return u(o.openAddCategory())}),C(3,"span",97),d(4," Add a Category "),n()()()}}function Ma(t,m){t&1&&C(0,"th",107)}function Va(t,m){if(t&1){let e=g();i(0,"td")(1,"i",110),x("click",function(){_(e);let o=c().index,l=c(4);return u(l.removeRequirementItem(o))}),n()()}if(t&2){let e=c(5);r(),Ee("fa-xmark",e.requirementButtonToggleState!="Deleted")("fa-trash-undo",e.requirementButtonToggleState=="Deleted")}}function Fa(t,m){if(t&1){let e=g();T(0),i(1,"a",111),x("click",function(){_(e);let o=c(),l=o.$implicit,v=o.index,B=c(4);return u(B.openVariantDialog(l,v))}),d(2),n(),w()}if(t&2){let e=c().$implicit;r(2),b(e.VariantName)}}function ka(t,m){if(t&1&&d(0),t&2){let e=c().$implicit;D(" ",e.VariantName," ")}}function Ra(t,m){if(t&1&&(i(0,"tr",108),s(1,Va,2,4,"td",32),i(2,"td"),d(3),n(),i(4,"td"),s(5,Fa,3,1,"ng-container",109)(6,ka,1,1,"ng-template",null,2,Y),n(),i(8,"td"),d(9),n(),i(10,"td",105),d(11),I(12,"number"),n()()),t&2){let e=m.$implicit,a=m.index,o=J(7),l=c(4);Ee("bg-gradient-warning",e.modified)("bg-gradient-success",l.requirementButtonToggleState=="Added")("bg-gradient-danger",l.requirementButtonToggleState=="Deleted"),r(),p("ngIf",l.roleService.promotion.Delete),r(2),b(a+1+"."),r(2),p("ngIf",l.roleService.promotion.Create||l.roleService.promotion.Edit)("ngIfElse",o),r(4),b(e.VariantCode),r(2),D(" ",P(12,12,e.UnitPrice)," ")}}function Oa(t,m){if(t&1&&(i(0,"div",99)(1,"table",100)(2,"thead",101)(3,"tr"),s(4,Ma,1,0,"th",102),i(5,"th",103),d(6,"No"),n(),i(7,"th"),d(8,"Name"),n(),i(9,"th",104),d(10,"Code"),n(),i(11,"th",105),d(12,"Price"),n()()(),i(13,"tbody"),s(14,Ra,13,14,"tr",106),n()()()),t&2){let e=c(3);r(4),p("ngIf",e.roleService.promotion.Delete),r(10),p("ngForOf",e.requirementButtonToggleState=="Added"?e.addedRequirementItem:e.requirementButtonToggleState=="Current"?e.data.Form.ListRequirementVariants:e.removedRequirementItem)}}function Aa(t,m){t&1&&C(0,"th",107)}function qa(t,m){if(t&1){let e=g();i(0,"td")(1,"i",114),x("click",function(){_(e);let o=c().index,l=c(4);return u(l.removeCategory(o))}),n()()}}function La(t,m){if(t&1){let e=g();i(0,"td",115)(1,"a",111),x("click",function(){_(e);let o=c(),l=o.$implicit,v=o.index,B=c(4);return u(B.openAddCategory(l,v))}),d(2),n()()}if(t&2){let e=c().$implicit;r(2),b(e.CategoryName)}}function Na(t,m){if(t&1&&(i(0,"tr",108),s(1,qa,2,0,"td",32),i(2,"td"),d(3),n(),s(4,La,3,1,"td",113),n()),t&2){let e=m.index,a=c(4);r(),p("ngIf",a.roleService.promotion.Create||a.roleService.promotion.Edit),r(2),b(e+1+"."),r(),p("ngIf",a.roleService.promotion.Create||a.roleService.promotion.Edit)}}function Ba(t,m){if(t&1&&(i(0,"div",99)(1,"table",100)(2,"thead",101)(3,"tr"),s(4,Aa,1,0,"th",102),i(5,"th",103),d(6,"No"),n(),i(7,"th"),d(8,"Name"),n()()(),i(9,"tbody"),s(10,Na,5,3,"tr",112),n()()()),t&2){let e=c(3);r(4),p("ngIf",e.roleService.promotion.Create||e.roleService.promotion.Edit),r(6),p("ngForOf",e.categoryButtonToggleState=="Added"?e.addedRequirementItemCategory:e.categoryButtonToggleState=="Current"?e.data.Form.ListRequirementCategories:e.removedRequirementItemCategory)}}function Wa(t,m){if(t&1&&(i(0,"div",14)(1,"div",33)(2,"div",11)(3,"div",82)(4,"div",83)(5,"div",84)(6,"h3"),d(7,"Requirement"),n(),s(8,Sa,1,1,"ng-container")(9,Da,1,1,"ng-container"),n(),s(10,Pa,7,4,"mat-button-toggle-group",85)(11,ba,7,4,"mat-button-toggle-group",85),n(),s(12,Ta,2,1,"div",86)(13,wa,5,0,"div",86),n(),i(14,"div",13)(15,"div",14)(16,"div",33)(17,"div",87),s(18,Oa,15,2,"div",88)(19,Ba,11,2,"div",88),n()()()()()()()),t&2){let e,a=c(2);r(8),O((e=a.formData.RequirementTypeID)===1?8:e===2?9:-1),r(2),p("ngIf",a.data.isEdit&&a.formData.RequirementTypeID==1),r(),p("ngIf",a.data.isEdit&&a.formData.RequirementTypeID==2),r(),p("ngIf",a.formData.RequirementTypeID==1),r(),p("ngIf",a.formData.RequirementTypeID==2),r(5),p("ngIf",a.formData.RequirementTypeID==1),r(),p("ngIf",a.formData.RequirementTypeID==2)}}function Ua(t,m){if(t&1){let e=g();i(0,"mainpanel-cmp",4)(1,"actions"),s(2,Zo,2,5,"a",5)(3,$o,2,2,"a",6),i(4,"button",7),x("click",function(){_(e);let o=c();return u(o.validate())}),d(5," Save "),n()(),i(6,"content")(7,"div",8)(8,"div",9)(9,"div",10)(10,"div",11)(11,"div",12)(12,"h3"),d(13,"General"),n()(),i(14,"div",13)(15,"div",14)(16,"div",15),s(17,ea,4,3,"div",16),n(),s(18,ia,2,1,"div",17)(19,na,5,1,"div",17)(20,oa,5,1,"div",18)(21,aa,5,1,"div",18),i(22,"div",15)(23,"div",19)(24,"ng-select",20),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.AuthorizationType,o)||(l.formData.AuthorizationType=o),u(o)}),n(),i(25,"label",21),d(26,"Type"),n()()(),s(27,ra,5,1,"div",17)(28,ma,5,2,"div",22)(29,la,6,4,"div",23)(30,pa,5,3,"div",24),n()()(),i(31,"div",11)(32,"div",12)(33,"h3"),d(34,"Requirements"),n()(),i(35,"div",13)(36,"div",14)(37,"div",15)(38,"div",25)(39,"ng-select",26,0),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.OutletIDs,o)||(l.formData.OutletIDs=o),u(o)}),s(41,da,3,6,"ng-template",27)(42,ca,2,4,"ng-template",28),n(),i(43,"label",29),d(44,"Outlet"),n()()(),i(45,"div",15)(46,"div",30)(47,"autocompleteV2",31),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.CustomerID,o)||(l.formData.CustomerID=o),u(o)}),n()()(),s(48,sa,6,1,"ng-container",32)(49,_a,6,2,"ng-container",32)(50,ua,5,2,"div",18)(51,ga,5,3,"div",18)(52,fa,5,3,"div",33),n()()()(),i(53,"div",34)(54,"div",14)(55,"div",35)(56,"div",11)(57,"div",12)(58,"h3"),d(59,"Coupon Properties"),n()(),i(60,"div",13)(61,"div",14)(62,"div",33)(63,"div",30),s(64,Ca,1,1,"input",36)(65,xa,1,1,"input",37),i(66,"label",38),d(67,"Usage Limit"),n()()(),i(68,"div",33)(69,"datepicker",39),S("dateChange",function(o){_(e);let l=c();return h(l.formData.StartDate,o)||(l.formData.StartDate=o),u(o)}),n()(),i(70,"div",40)(71,"datepicker",41),S("dateChange",function(o){_(e);let l=c();return h(l.formData.ExpiryDate,o)||(l.formData.ExpiryDate=o),u(o)}),n()(),i(72,"div",40)(73,"div",30)(74,"textarea",42),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.Description,o)||(l.formData.Description=o),u(o)}),n(),i(75,"label",43),d(76,"Description"),n()()()()()()(),s(77,ya,13,2,"div",44),n()()(),s(78,Wa,20,7,"div",14),n()()()}if(t&2){let e=J(40),a=c();p("pageData",a.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(2),p("ngIf",a.data.IsEdit),r(),p("ngIf",!a.data.IsEdit),r(14),p("ngIf",!a.data.IsEdit),r(),p("ngIf",a.formData.GenerateType==1),r(),p("ngIf",a.formData.GenerateType==1&&!a.data.IsEdit),r(),p("ngIf",a.formData.GenerateType==0&&!a.data.IsEdit),r(),p("ngIf",a.data.IsEdit),r(2),K(V(47,qi,a.formData.AuthorizationType)),r(),p("items",a.data.Options.AuthorizationTypes)("readonly",a.data.IsEdit),y("ngModel",a.formData.AuthorizationType),p("clearable",!1),r(3),p("ngIf",a.formData.GenerateType==1&&!a.data.IsEdit),r(),O(a.formData.AuthorizationType==4||a.formData.AuthorizationType==5?28:-1),r(),p("ngIf",a.formData.AuthorizationType==1),r(),p("ngIf",a.formData.AuthorizationType==2),r(8),K(V(49,qi,(a.formData.OutletIDs==null?null:a.formData.OutletIDs.length)>0)),r(),p("items",a.data.Options.Outlets)("multiple",!0)("selectableGroup",!0)("selectableGroupAsModel",!1)("closeOnSelect",!1),y("ngModel",a.formData.OutletIDs),r(4),ye("z-index",e.isOpen?"9999":""),r(4),p("customStyle",!0),y("ngModel",a.formData.CustomerID),p("inputTextValue",a.data.CustomerName),r(),p("ngIf",a.formData.AuthorizationType<3),r(),p("ngIf",a.formData.AuthorizationType==a.couponType.DiscountPercentage),r(),p("ngIf",a.formData.AuthorizationType==a.couponType.DiscountPercentage),r(),p("ngIf",a.formData.AuthorizationType==1||a.formData.AuthorizationType==2),r(),O(a.formData.RequirementTypeID>0?52:-1),r(12),p("ngIf",!a.data.IsEdit),r(),p("ngIf",a.data.IsEdit),r(4),y("date",a.formData.StartDate),p("showPlaceholder",!0),r(2),y("date",a.formData.ExpiryDate),p("showPlaceholder",!0),r(3),y("ngModel",a.formData.Description),r(3),p("ngIf",a.formData.CustomerID),r(),O((a.formData.AuthorizationType==1||a.formData.AuthorizationType==2)&&(a.formData.RequirementTypeID==1||a.formData.RequirementTypeID==2)?78:-1)}}var qt=class t extends We{constructor(e,a,o,l,v,B,Pe){super(e,a,"PromotionLoader/GenerateCouponLoader2",o);this.toastr=l;this.router=v;this.roleService=B;this.matDialog=Pe}requirementOptions=[{Key:0,Value:"None"},{Key:1,Value:"Variant"},{Key:2,Value:"Category"}];RequirementDiscountTypeTooltips=["Discount applies to all cart items meeting coupon requirements.","User picks 1 qualifying item; discount applies to all quantities of that item.","User picks 1 item; only 1 quantity gets discounted."];requirementOptionsTooltip=["No product requirement to apply the coupon.","Coupon applies only to specific variants.","Coupon applies to variants within selected categories."];removedRequirementItem=[];addedRequirementItem=[];requirementButtonToggleState="Current";addedRequirementItemCategory=[];removedRequirementItemCategory=[];categoryButtonToggleState="Current";typeTooltips=["Manually input a custom coupon number/name","Coupon number will automatically generated by system"];typeOptions=[{Key:0,Value:"Manually Typed"},{Key:1,Value:"Automatic Generated"}];multipleRequirementDiscountOptions=[{Key:1,Value:"No"},{Key:0,Value:"Yes"}];deductionSettingsOptions=[{Key:!1,Value:"No"},{Key:!0,Value:"Yes"}];couponType=Pt;get isDeductionCustomer(){return!!this.formData.DeductionCustomer}postBindForm(e){console.log("postBindForm",e),e.Form.DeductionCustomer=e.Form.DeductionCustomer??!1,e.Form.DeductionPoint=e.Form.DeductionPoint??0,e.Form.GenerateType=1,e.Form.FullPriceProductOnly=E.IsEmpty(e.Form.FullPriceProductOnly)?!1:e.Form.FullPriceProductOnly,e.IsEdit&&(this.menuData.H="Edit Promotion Coupon - "+this.data.Form.CustomCode),this.options.Outlets=this.options.Outlets.map(a=>se(ae({},a),{selectAll:"Select All"}))}validate(){if(this.formData.DeductionCustomer&&this.formData.DeductionPoint<=0){this.toastr.error("Deduction amount must be greater than zero!",F.Error);return}if(this.validateCouponRequirement()){if(!this.data.IsEdit&&this.formData.AuthorizationType==1&&(this.formData.Discount===void 0||this.formData.Discount==0)){this.toastr.error("Discount must be greater than zero",F.Error);return}this.onSubmit("Promotion/Generate")}}openVariantDialog(e,a){this.matDialog.open(mt,{data:{variantList:this.data.Form.ListRequirementVariants,addedRequirementItem:this.addedRequirementItem,rewardItems:[],item:e,index:a,isEdit:this.data.isEdit}}).afterClosed().subscribe(()=>{E.IsEmpty(e)&&this.data.isEdit&&(this.requirementButtonToggleState="Added")})}openImportPurchaseItem(){this.matDialog.open(Ke,{data:{type:"Purchase",sampleUrl:"https://cdn.dealpos.xyz/web-import-template/PromotionCoupon_ItemRequirement_Import_TemplateV2.csv"}}).afterClosed().pipe(ce(e=>E.IsNotEmpty(e))).subscribe(e=>{e.filter(a=>this.data.Form.ListRequirementVariants.findIndex(o=>a.VariantID==o.VariantID)==-1).forEach(a=>{this.data.isEdit?(this.requirementButtonToggleState="Added",this.addedRequirementItem.push(a)):(this.requirementButtonToggleState="Current",this.data.Form.ListRequirementVariants.push(a))})})}openAddCategory(e,a){this.matDialog.open(lt,{data:{addedRequirementItemCategory:this.addedRequirementItemCategory??[],categoryList:this.data.Form.ListRequirementCategories,categories:this.data.Options.Categories,category:e,index:a,isEdit:this.data.isEdit}}).afterClosed().subscribe(()=>{this.data.isEdit&&(this.categoryButtonToggleState="Added")})}preSubmitForm(){let e=this.formData.CustomCode;E.IsNotEmpty(e)&&(e=e.replace(/\s/g,"")),this.formData.CustomCode=e,this.formData=se(ae({},this.formData),{DeductionCustomer:!!this.formData.DeductionCustomer,DeductionPoint:+this.formData.DeductionPoint})}validateCouponRequirement(){let e=this.formData.RequirementTypeID,a=!0;switch(e){case 1:this.data.Form.ListRequirementVariants.length==0&&(this.toastr.error("Please add at least one variant",F.Error),a=!1);break;case 2:this.data.Form.ListRequirementCategories.length==0&&(this.toastr.error("Please add at least one category",F.Error),a=!1);break}return a}onSubmitSuccess(e){this.toastr.success(e.Message,F.Success),this.router.navigate(["/menu/Promotion/Main/Coupon"])}removeRequirementItem(e){this.data.isEdit?this.requirementButtonToggleState=="Added"?this.addedRequirementItem.splice(e,1):this.requirementButtonToggleState=="Deleted"?(this.data.Form.ListRequirementVariants.push(this.removedRequirementItem[e]),this.removedRequirementItem.splice(e,1),this.removedRequirementItem.length==0&&(this.requirementButtonToggleState="Current")):(this.removedRequirementItem.push(this.data.Form.ListRequirementVariants[e]),this.data.Form.ListRequirementVariants.splice(e,1)):this.data.Form.ListRequirementVariants.splice(e,1)}removeCategory(e){this.data.isEdit?this.categoryButtonToggleState=="Added"?this.addedRequirementItemCategory.splice(e,1):this.categoryButtonToggleState=="Deleted"?(this.data.Form.ListRequirementCategories.push(this.removedRequirementItemCategory[e]),this.removedRequirementItemCategory.splice(e,1),this.removedRequirementItemCategory.length==0&&(this.categoryButtonToggleState="Current")):(this.removedRequirementItemCategory.push(this.data.Form.ListRequirementCategories[e]),this.data.Form.ListRequirementCategories.splice(e,1)):this.data.Form.ListRequirementCategories.splice(e,1)}static \u0275fac=function(a){return new(a||t)(f(ie),f(R),f(_e),f(A),f(he),f(G),f($))};static \u0275cmp=M({type:t,selectors:[["POS-promotion-coupon-form"]],standalone:!1,features:[re],decls:1,vars:1,consts:[["outlet",""],["discount","ngModel"],["promName",""],[3,"pageData","hideSearchBox","hideSearchDropdown",4,"ngIf"],[3,"pageData","hideSearchBox","hideSearchDropdown"],["role","button","class","btn btn-outline-secondary me-5",3,"routerLink","queryParams",4,"ngIf"],["role","button","class","btn btn-outline-secondary me-5",3,"routerLink",4,"ngIf"],["data-cy","SaveCoupon",1,"btn","btn-success",3,"click"],[1,"container-fluid","mt-5"],[1,"row","mb-4"],[1,"col-md-8"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"row"],[1,"col-sm-6"],["class","form-floating-outline radio border rounded","style","padding-top: 16px",4,"ngIf"],["class","col-sm-3",4,"ngIf"],["class","col-sm-6",4,"ngIf"],[1,"form-floating-outline","flexRow"],["bindLabel","Value","bindValue","Key",1,"promotion-type",3,"ngModelChange","items","readonly","ngModel","clearable"],["for","cuponType",2,"z-index","1"],[1,"col-sm-3",3,"ngClass"],["class","col-sm-3",3,"ngClass",4,"ngIf"],[3,"ngClass",4,"ngIf"],[1,"form-floating-outline","multiple","outlet-multiselect"],["bindLabel","Name","groupBy","selectAll","bindValue","ID","matTooltipPosition","above","matTooltip","Set the outlet that can use the coupon",3,"ngModelChange","items","multiple","selectableGroup","selectableGroupAsModel","closeOnSelect","ngModel"],["ng-optgroup-tmp",""],["ng-option-tmp",""],["for","inputOutlet"],[1,"form-floating-outline"],["customLabel","Customer","id","inputCustomer","matTooltipPosition","above","matTooltip","Set the customer who can use the coupon","placeholder","Supplier","requestUrl","/API/AC/GetCustomerSuggestion",1,"w-100",3,"ngModelChange","customStyle","ngModel","inputTextValue"],[4,"ngIf"],[1,"col-sm-12"],[1,"col-4"],[1,"col-12"],["id","limit","placeholder","Usage Limit","type","text","class","form-control block","data-cy","CouponLimit","matTooltipPosition","above","matTooltip","Set the usage limit for the coupon","autoNum","",3,"ngModel","ngModelChange",4,"ngIf"],["id","limit","placeholder","Usage Limit","type","text","class","form-control block","disabled","",3,"value",4,"ngIf"],["for","limit"],["name","start","matTooltipPosition","above","matTooltip","Set starting date for the coupon to be available to use","placeholder","Start Date","appearance","outline",2,"height","auto","font-size","16px","width","100%",3,"dateChange","date","showPlaceholder"],[1,"col-sm-12","mt-8"],["name","expired","matTooltipPosition","above","matTooltip","Set the expiration date for the coupon","placeholder","Expired Date","appearance","outline",2,"height","auto","font-size","16px","width","100%",3,"dateChange","date","showPlaceholder"],["id","description","placeholder","Description","matTooltipPosition","above","matTooltip","Set the description for the coupon",1,"form-control",3,"ngModelChange","ngModel"],["for","description"],["class","col",4,"ngIf"],["role","button",1,"btn","btn-outline-secondary","me-5",3,"routerLink","queryParams"],["role","button",1,"btn","btn-outline-secondary","me-5",3,"routerLink"],[1,"form-floating-outline","radio","border","rounded",2,"padding-top","16px"],[3,"modelChange","model","options","title"],["for","type"],[1,"col-sm-3"],["class","form-floating-outline",4,"ngIf"],["type","text","id","totalCoupon","placeholder","Total Coupon","matTooltipPosition","above","matTooltip","Set the number of coupon you want to create",1,"form-control","block",3,"ngModelChange","ngModel"],["for","totalCoupon"],["type","text","id","CustomPrefix","placeholder","Custom Prefix","matTooltipPosition","above","matTooltip","Set the number of coupon you want to create",1,"form-control","block",3,"ngModelChange","ngModel"],["for","CustomPrefix"],["data-cy","CouponCode","id","cuponCode","placeholder","Cuopon Code","type","text","matTooltipPosition","above","matTooltip","Set Coupon Name/Code",1,"form-control","block",3,"ngModelChange","ngModel"],["for","cuponCode"],["id","key","placeholder","Coupon Code","type","text","disabled","",1,"form-control","block",3,"ngModelChange","ngModel"],["for","key"],["type","text","id","totalDigit","placeholder","Total Coupon","maxlength","2","matTooltipPosition","above","matTooltip","Set digit length for the Coupon",1,"form-control","block",3,"ngModelChange","ngModel"],["for","totalCupon"],["id","emptyCart",3,"modelChange","model"],["for","emptyCart"],["data-cy","CouponDisc","type","text","id","disc","placeholder","Discount (%)","matTooltipPosition","above","matTooltip","Set Coupon Discount (%)","name","discount","percentage","","required","","autoNum","",1,"form-control",3,"ngModelChange","disabled","ngModel","preventNegative"],["for","disc"],[3,"ngClass"],["type","text","id","amount","placeholder","Discount Amount","matTooltipPosition","above","matTooltip","Set Coupon Discount Amount","name","discount","autofocus","","required","","autoNum","",1,"form-control",3,"ngModelChange","disabled","ngModel"],["type","checkbox",3,"id","ngModel"],["type","text","id","amount","placeholder","Minimum Spending Amount","name","discount","matTooltipPosition","above","matTooltip","Coupon is available when you spend the specified minimum amount","autofocus","","required","","autoNum","",1,"form-control",3,"ngModelChange","ngModel"],["matTooltip","If set to YES, coupon discounts apply to regular-priced products ",3,"modelChange","model","disabled"],["type","text","id","amount","placeholder","Maximum Discount","name","maxDiscount","matTooltip","The maximum discount amount achievable with this coupon","autofocus","","autoNum","",1,"form-control",3,"ngModelChange","disabled","ngModel"],[1,"form-floating-outline","radio","border","rounded","pt-7",2,"height","fit-content"],[3,"modelChange","options","model","title"],["id","limit","placeholder","Usage Limit","type","text","data-cy","CouponLimit","matTooltipPosition","above","matTooltip","Set the usage limit for the coupon","autoNum","",1,"form-control","block",3,"ngModelChange","ngModel"],["id","limit","placeholder","Usage Limit","type","text","disabled","",1,"form-control","block",3,"value"],[1,"col"],["matTooltipPosition","above","matTooltip","Turn on the deduct loyalty points when this coupon is created.Points will be taken from the customer's point.",1,"form-floating-outline","radio","border","rounded",2,"padding-top","16px"],[3,"modelChange","model"],["class","col-12",4,"ngIf"],["type","text","id","deductionPoint","placeholder","Deduction Amount","matTooltipPosition","above","matTooltip","Enter the number of points to deduct from customer's balance.Must not exceed available points.","autoNum","",1,"form-control","block",3,"ngModelChange","ngModel","disabled"],["for","deductionPoint"],[1,"card-header","d-lg-flex"],[1,"me-auto","mt-5","d-flex","align-items-center",2,"column-gap","20px"],[1,"d-flex","gap-2","align-items-baseline"],["name","fontStyle","aria-label","Font Style",3,"ngModel","ngModelChange",4,"ngIf"],["class","d-sm-block mt-2",4,"ngIf"],[1,"row","mt-2"],["class","table-responsive",4,"ngIf"],["name","fontStyle","aria-label","Font Style",3,"ngModelChange","ngModel"],["value","Current"],["value","Added"],["value","Deleted"],[1,"d-sm-block","mt-2"],["class","btn-group",4,"ngIf"],[1,"btn-group"],["role","button",1,"btn","btn-outline-secondary","btn-sm",3,"click"],[1,"fa-solid","fa-circle-plus"],[1,"fa","fa-download","ps-3","pe-2"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],["width","15px",4,"ngIf"],[2,"width","20px"],[2,"width","80px"],[1,"text-end"],["class","border-bottom",3,"bg-gradient-warning","bg-gradient-success","bg-gradient-danger",4,"ngFor","ngForOf"],["width","15px"],[1,"border-bottom"],[4,"ngIf","ngIfElse"],["aria-hidden","true",1,"fa","text-danger","fa-2x",2,"cursor","pointer",3,"click"],[1,"text-info",3,"click"],["class","border-bottom",4,"ngFor","ngForOf"],["style","cursor: pointer",4,"ngIf"],["aria-hidden","true",1,"fa","fa-xmark","text-danger","fa-2x",2,"cursor","pointer",3,"click"],[2,"cursor","pointer"]],template:function(a,o){a&1&&s(0,Ua,79,51,"mainpanel-cmp",3),a&2&&p("ngIf",o.data&&o.formData)},dependencies:[xt,X,L,Z,ne,j,Se,q,et,pi,N,le,pe,Me,nt,qe,Te,St,It,it,Ze,U],styles:[".promotion-type[_ngcontent-%COMP%] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{white-space:normal;word-break:break-word}.outlet-multiselect[_ngcontent-%COMP%] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:10px;padding-left:10px}"]})};var Lt=class t{dialogRef=st(z);config;selectedOutlet=De([]);constructor(){this.config=new ee,this.config.title="Push to POS"}onOk(){this.dialogRef.close(this.selectedOutlet())}onClose(){this.dialogRef.close()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=M({type:t,selectors:[["app-modal-push-to-pos"]],decls:10,vars:3,consts:[[3,"onCancel","onClose","onOk","config"],[1,"mt-4"],[3,"ngModelChange","multiple","ngModel"],[1,"bg-warning-subtle","text-warning-subtle","mt-2","p-3","rounded-2","ps-4"],[1,"fa","fa-info-circle"]],template:function(e,a){e&1&&(i(0,"modal-material",0),x("onCancel",function(){return a.onClose()})("onClose",function(){return a.onClose()})("onOk",function(){return a.onOk()}),i(1,"content")(2,"h5"),d(3,"Choose Outlet to Push Promotions"),n(),i(4,"div",1)(5,"outlet-selector",2),S("ngModelChange",function(l){return h(a.selectedOutlet,l)||(a.selectedOutlet=l),l}),n()(),i(6,"div",3),C(7,"i",4),i(8,"span"),d(9," The changes will be applied to all outlets if left blank "),n()()()()),e&2&&(p("config",a.config),r(5),p("multiple",!0),y("ngModel",a.selectedOutlet))},dependencies:[vt,ht,q,N,Dt,te,Si],encapsulation:2})};var ja=()=>["/menu/Promotion/Main/Event/Form"],Ga=()=>["/menu/Promotion/Main/Event/Info"],za=t=>({ID:t}),Ha=(t,m)=>({"bg-gradient-danger":t,"bg-gradient-warning":m}),Qa=(t,m)=>({"bg-success-subtle text-success-emphasis":t,"bg-danger-subtle text-danger-emphasis":m});function Ka(t,m){if(t&1){let e=g();i(0,"a",20),x("click",function(){_(e);let o=c(2);return u(o.httpPostListID("Promotion/DeletePromotion"))}),C(1,"i",21),d(2,"Delete "),n()}}function Ja(t,m){if(t&1){let e=g();i(0,"button",20),x("click",function(){_(e);let o=c(2);return u(o.openExportModal())}),C(1,"i",22),d(2,"Export"),n()}}function Ya(t,m){t&1&&(i(0,"a",23),d(1,"Add"),n()),t&2&&p("routerLink",k(1,ja))}function Xa(t,m){if(t&1){let e=g();i(0,"div")(1,"div",24)(2,"h6"),d(3,"Type"),n(),i(4,"ng-select",25),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.TypeID,o)||(l.pageData.Filter.TypeID=o),u(o)}),n(),i(5,"h6"),d(6,"Usage Status"),n(),i(7,"ng-select",26),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.pageData.Filter.StateID,o)||(l.pageData.Filter.StateID=o),u(o)}),n()()()}if(t&2){let e=c(2);r(4),p("items",e.pageData.Options.PromotionType),y("ngModel",e.pageData.Filter.TypeID),r(3),p("clearable",!1)("items",e.pageData.Options.State),y("ngModel",e.pageData.Filter.StateID)}}function Za(t,m){if(t&1){let e=g();i(0,"th",27)(1,"input",28),x("change",function(o){_(e);let l=c(2);return u(l.onSelectAllData(o.target.checked))}),n()()}}function $a(t,m){if(t&1){let e=g();i(0,"td")(1,"input",38),S("ngModelChange",function(o){_(e);let l=c().$implicit;return h(l.selected,o)||(l.selected=o),u(o)}),n()()}if(t&2){let e=c().$implicit;r(),y("ngModel",e.selected)}}function er(t,m){if(t&1&&(i(0,"span"),d(1),n()),t&2){let e=c().$implicit;r(),D(" ",e.StartTime,"")}}function tr(t,m){if(t&1&&(i(0,"span"),d(1),n()),t&2){let e=c().$implicit;r(),D(" ",e.EndTime,"")}}function ir(t,m){if(t&1&&(i(0,"li"),d(1),n()),t&2){let e=m.$implicit;r(),b(e)}}function nr(t,m){if(t&1&&(i(0,"ul",34),ri(1,ir,2,1,"li",null,ai),n()),t&2){let e=c().$implicit;r(),mi(e.Outlets)}}function or(t,m){t&1&&(i(0,"span"),d(1,"All"),n())}function ar(t,m){t&1&&d(0," - ")}function rr(t,m){if(t&1&&(i(0,"span",37),d(1),n()),t&2){let e=c().$implicit;p("ngClass",Jt(2,Qa,e.Enabled,!e.Enabled)),r(),D(" ",e.Enabled?"Enabled":"Disabled"," ")}}function mr(t,m){if(t&1&&(i(0,"tr",29),s(1,$a,2,1,"td",30),i(2,"td")(3,"a",31),d(4),n()(),i(5,"td"),d(6),n(),i(7,"td")(8,"div")(9,"span",32),d(10,"Start: "),n(),i(11,"span"),d(12),I(13,"IsMinDate"),n(),s(14,er,2,1,"span"),n(),i(15,"div")(16,"span",32),d(17,"End: "),n(),i(18,"span"),d(19),I(20,"IsMinDate"),n(),s(21,tr,2,1,"span"),n()(),i(22,"td",33)(23,"div")(24,"span"),d(25,"Minimum: "),n(),i(26,"span"),d(27),I(28,"number"),n()(),i(29,"div")(30,"span"),d(31,"Outlet: "),n(),s(32,nr,3,0,"ul",34)(33,or,2,0,"span"),n()(),i(34,"td",35),d(35),I(36,"number"),n(),i(37,"td",36),s(38,ar,1,0)(39,rr,2,5,"span",37),n()()),t&2){let e=m.$implicit,a=c(2);r(),p("ngIf",a.roleService.promotion==null?null:a.roleService.promotion.Delete),r(2),p("routerLink",k(25,Ga))("queryParams",V(26,za,e.ID)),r(),b(e.Name),r(2),b(e.PromotionTypeString),r(),K(Jt(28,Ha,e.ExpirationDate<a.data.Today,e.ExpirationDate==a.data.Today)),r(5),D(" ",me(13,15,e.StartDate,"dd MMM yy")," "),r(2),O(e.StartTime!==a.startTimeDefault||e.EndTime!==a.endTimeDefault?14:-1),r(5),D(" ",me(20,18,e.ExpirationDate,"dd MMM yy")," "),r(2),O(e.EndTime!==a.endTimeDefault||e.StartTime!==a.startTimeDefault?21:-1),r(6),b(P(28,21,e.MinimumAmount)),r(5),O((e==null||e.Outlets==null?null:e.Outlets.length)>0?32:33),r(3),D(" ",P(36,23,e.GiftCount),""),r(3),O(e.ExpirationDate<a.data.Today?38:39)}}function lr(t,m){if(t&1){let e=g();i(0,"mainpanel-cmp",2),S("textChange",function(o){_(e);let l=c();return h(l.pageData.Filter.Name,o)||(l.pageData.Filter.Name=o),u(o)}),x("onSubmit",function(){_(e);let o=c();return u(o.searchFromPageOne())}),S("filterChange",function(o){_(e);let l=c();return h(l.pageData.Filter,o)||(l.pageData.Filter=o),u(o)}),i(1,"actions")(2,"a",3),x("click",function(){_(e);let o=c();return u(o.onPushToPOS())}),C(3,"i",4),d(4,"Publish "),n(),s(5,Ka,3,0,"a",5)(6,Ja,3,0,"button",5)(7,Ya,2,2,"a",6),n(),i(8,"filters"),s(9,Xa,8,5,"ng-template",null,0,Y),n(),i(11,"content")(12,"div",7)(13,"div",8)(14,"table",9)(15,"thead",10)(16,"tr",11),s(17,Za,2,0,"th",12),i(18,"th"),d(19,"Name"),n(),i(20,"th",13),d(21,"Type"),n(),i(22,"th",14),d(23,"Period"),n(),i(24,"th",15),d(25,"Requirement"),n(),i(26,"th",16),d(27,"Reward"),n(),i(28,"th",17),d(29,"Status"),n()()(),i(30,"tbody"),s(31,mr,40,31,"tr",18),n()()(),i(32,"POS-complex-pagination",19),x("jumpToPage",function(){_(e);let o=c();return u(o.getListData())})("previousPage",function(){_(e);let o=c();return u(o.getListData())})("nextPage",function(){_(e);let o=c();return u(o.getListData())}),n()()()()}if(t&2){let e=c();p("pageData",e.menuData),y("text",e.pageData.Filter.Name),p("isFilterOnDropdown",!1),y("filter",e.pageData.Filter),r(5),p("ngIf",e.getSelectedData().length>0),r(),p("ngIf",e.roleService.global.Export),r(),p("ngIf",e.roleService.promotion==null?null:e.roleService.promotion.Create),r(10),p("ngIf",e.roleService.promotion==null?null:e.roleService.promotion.Delete),r(14),p("ngForOf",e.data.Data),r(),p("total",e.data.Data.length)("pageData",e.pageData)}}var Nt=class t extends Oe{constructor(e,a,o,l,v,B){super(e,a,"Promotion/GetPromotionList","PromotionLoader/GetPromotionList",o);this.toastr=o;this.csvConverter=l;this.roleService=v;this.matDialog=B}startTimeDefault="00:00:00";endTimeDefault="23:59:59";openExportModal(){this.matDialog.open(ge,{data:{title:"Promotion Event",exportTypes:[{ID:"PromotionExport/PromotionEvent",Value:"Default",FileName:"Promotion Event"}],filterExport:this.pageData.Filter,getAllDataLengthAPI:"Promotion/GetPromotionListCount",pagination:!0}})}onPushToPOS(){this.matDialog.open(Lt,{width:"450px"}).afterClosed().pipe(ce(e=>e),be(e=>this.httpService.post(we.PromotionPushToPOS,{ListIDs:e?.length>0?e:null}))).subscribe(()=>{this.toastr.success("Promotion changes are applied to all active cashier","Success")})}static \u0275fac=function(a){return new(a||t)(f(ie),f(R),f(A),f(Ie),f(G),f($))};static \u0275cmp=M({type:t,selectors:[["POS-promotion-event"]],standalone:!1,features:[re],decls:1,vars:1,consts:[["pageFilterTemplate",""],[3,"pageData","text","isFilterOnDropdown","filter","textChange","onSubmit","filterChange",4,"ngIf"],[3,"textChange","onSubmit","filterChange","pageData","text","isFilterOnDropdown","filter"],["matTooltipPosition","above","matTooltip","Publish promotions to all active POS Terminal",1,"btn","btn-outline-secondary",3,"click"],[1,"fa-regular","fa-arrow-up-from-square","me-4"],["class","btn btn-outline-secondary ms-3",3,"click",4,"ngIf"],["class","button btn btn-success ms-3",3,"routerLink",4,"ngIf"],[1,"container-fluid","mt-5"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[1,"header"],["style","width: 20px",4,"ngIf"],[2,"width","120px"],[2,"width","210px"],[2,"width","150px"],[1,"text-end",2,"width","50px"],[1,"text-center",2,"width","100px"],["class","border-bottom",4,"ngFor","ngForOf"],["api","Promotion/GetPromotionListCount",3,"jumpToPage","previousPage","nextPage","total","pageData"],[1,"btn","btn-outline-secondary","ms-3",3,"click"],[1,"fa-solid","fa-trash","me-2"],["aria-hidden","true",1,"fa-solid","fa-upload","me-2"],[1,"button","btn","btn-success","ms-3",3,"routerLink"],[1,"dialog-filter"],["appendTo","body","placeholder","Choose..","bindLabel","Value","bindValue","Key",3,"ngModelChange","items","ngModel"],["appendTo","body","placeholder","Choose..","bindLabel","Value","bindValue","Key",3,"ngModelChange","clearable","items","ngModel"],[2,"width","20px"],["type","checkbox",3,"change"],[1,"border-bottom"],[4,"ngIf"],[3,"routerLink","queryParams"],[1,"fw-bold"],[1,"text-start"],[1,"mb-0"],[1,"text-end"],[1,"text-center"],[1,"p-3","rounded-2",3,"ngClass"],["type","checkbox",3,"ngModelChange","ngModel"]],template:function(a,o){a&1&&s(0,lr,33,11,"mainpanel-cmp",1),a&2&&p("ngIf",o.data)},dependencies:[xt,X,L,Z,ne,Se,q,N,le,ot,Te,U,Ae],encapsulation:2})};function pr(t,m){if(t&1){let e=g();i(0,"div",2)(1,"div",18)(2,"div",4),C(3,"input",19),I(4,"number"),i(5,"label",20),d(6,"Original Cost"),n()()(),i(7,"div",21)(8,"div",4)(9,"input",22),S("ngModelChange",function(o){_(e);let l=c();return h(l.item.ExtraCost,o)||(l.item.ExtraCost=o),u(o)}),n(),i(10,"label",23),d(11,"Extra Cost"),n()()()()}if(t&2){let e=c();r(3),p("ngModel",P(4,2,e.item.OriginalCost)),r(6),y("ngModel",e.item.ExtraCost)}}var Bt=class t{constructor(m,e,a,o,l){this.httpService=m;this.data=e;this.dialogRef=a;this.toastr=o;this.roleService=l;this.config=new ee,this.rewardItems=this.data.rewardItems,this.item=Object.assign({},this.data.item),this.index=this.data.index,E.IsEmpty(this.item.VariantID)?(this.config.title="Add New Reward Item",this.item={},this.item.VariantCode=null,this.item.OriginalPrice=null,this.item.UnitPrice=null,this.item.Discount=null,this.item.OriginalCost=null,this.item.ExtraCost=null):(this.config.title="Edit Reward Item",this.isUpdate=!0)}rewardItems;item;index;config;isUpdate=!1;isAlreadyRegistered=!1;changeVariant(m){this.httpService.get(we.GetVariantOnSelectedIDByID,[{key:"ID",value:m}]).subscribe(e=>{this.rewardItems.findIndex(o=>m===o.VariantID)!=-1?(this.isAlreadyRegistered=!0,this.toastr.error(`${e.Name} already registered`,F.Error)):(this.isAlreadyRegistered=!1,this.item.UnitPrice=e.UnitPrice,this.item.Discount=e.PriceDiscount,this.item.ExtraCost=e.ExtraCost,this.item.CostDiscount=e.OrderPriceDiscount,this.item.VariantID=e.ID,this.item.VariantName=e.Name,this.item.OriginalCost=e.UnitCost,this.item.OriginalPrice=e.UnitPrice,this.item.VariantCode=e.Code)})}onOk(){E.IsNotEmpty(this.item.VariantName)?(!this.isAlreadyRegistered&&!this.isUpdate&&(this.data.isEdit?(this.item.added=!0,this.data.addedRewardItem.push(this.item)):this.rewardItems.push(this.item)),this.isUpdate&&(this.item.modified=!0,this.rewardItems[this.index]=this.item),this.dialogRef.close()):this.toastr.error("Reward item is empty",F.Error)}static \u0275fac=function(e){return new(e||t)(f(R),f(ue),f(z),f(A),f(G))};static \u0275cmp=M({type:t,selectors:[["POS-modal-new-reward"]],standalone:!1,decls:31,vars:10,consts:[[3,"onCancel","onClose","onOk","config"],[1,"section-content",2,"width","390px"],[1,"row"],[1,"col-sm-12"],[1,"form-floating-outline"],["requestUrl","/API/AC/GetVariantSuggestionByCodeNName","placeholder","Name",1,"w-100",2,"font-size","20px",3,"onSelect","renderThumbnail","inputTextValue"],["type","text","id","inputVariantCode","placeholder","Variant Code","disabled","",1,"form-control",3,"value"],["for","inputVariantCode"],[1,"col-sm-4"],["type","text","name","basicPrice","disabled","",1,"form-control",3,"ngModel"],["for","basicPrice"],[1,"col-sm-5","ps-2"],["autoNum","","type","text","id","promoPrice","placeholder","Promotion Price",1,"form-control",3,"ngModelChange","ngModel"],["for","promoPrice"],[1,"col-sm-3","px-2"],["type","text","id","discprice","placeholder","Disc %","autoNum","","percentage","",1,"form-control",2,"width","85px",3,"ngModelChange","ngModel"],["for","discprice"],["class","row",4,"ngIf"],[1,"col-sm-8"],["type","text","name","originalCost","disabled","",1,"form-control",3,"ngModel"],["for","originalCost"],[1,"col-sm-4","ps-2"],["autoNum","","type","text","id","promoCost","placeholder","Promotion Cost",1,"form-control",3,"ngModelChange","ngModel"],["for","promoCost"]],template:function(e,a){e&1&&(i(0,"modal-material",0),x("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),i(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"autocompleteV2",5),x("onSelect",function(l){return a.changeVariant(l)}),n()()()(),i(7,"div",2)(8,"div",3)(9,"div",4),C(10,"input",6),i(11,"label",7),d(12,"Variant Code"),n()()()(),i(13,"div",2)(14,"div",8)(15,"div",4),C(16,"input",9),I(17,"number"),i(18,"label",10),d(19,"Basic Price"),n()()(),i(20,"div",11)(21,"div",4)(22,"input",12),S("ngModelChange",function(l){return h(a.item.UnitPrice,l)||(a.item.UnitPrice=l),l}),n(),i(23,"label",13),d(24,"Promotion Price"),n()()(),i(25,"div",14)(26,"div",4)(27,"input",15),S("ngModelChange",function(l){return h(a.item.Discount,l)||(a.item.Discount=l),l}),n(),i(28,"label",16),d(29,"Disc %"),n()()()(),s(30,pr,12,4,"div",17),n()()()),e&2&&(p("config",a.config),r(6),p("renderThumbnail",!0)("inputTextValue",a.item.VariantName),r(4),p("value",a.item.VariantCode),r(6),p("ngModel",P(17,8,a.item.OriginalPrice)),r(6),y("ngModel",a.item.UnitPrice),r(5),y("ngModel",a.item.Discount),r(3),p("ngIf",a.roleService.product.Cost))},dependencies:[L,j,q,N,te,pe,Me,U],styles:["autocompletev2[_ngcontent-%COMP%] input{font-size:16px!important;height:58px}"]})};var Wt=class t{constructor(m,e,a){this.data=m;this.dialogRef=e;this.toastr=a;this.config=new ee,this.config.title="Promotion Tiered",this.quantity=m.quantity??0,this.discount=m.discount??0,this.promotionTier=m.promotionTier?JSON.parse(JSON.stringify(m.promotionTier)):[]}discount;quantity;promotionTier;config;onOk(){this.isDuplicateQty()||this.dialogRef.close({Quantity:this.quantity,Discount:this.discount})}isDuplicateQty(){return E.IsNotEmpty(this.data.index)&&this.promotionTier[this.data.index].Quantity==this.quantity?!1:this.promotionTier.filter(e=>e.Quantity===this.quantity).length>0?(this.toastr.warning("Quantity is already exist!","Duplicate Quantity"),!0):!1}static \u0275fac=function(e){return new(e||t)(f(ue),f(z),f(A))};static \u0275cmp=M({type:t,selectors:[["POS-modal-add-promotion-tier"]],standalone:!1,decls:14,vars:3,consts:[[3,"onCancel","onClose","onOk","config"],[1,"section-content",2,"width","390px"],[1,"row"],[1,"col-12"],[1,"form-floating-outline"],["type","text","name","Quantity","autoNum","",1,"form-control",3,"ngModelChange","ngModel"],["for","Quantity"],["type","text","name","Discount","autoNum","","percentage","",1,"form-control",3,"ngModelChange","ngModel"],["for","Discount"]],template:function(e,a){e&1&&(i(0,"modal-material",0),x("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),i(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"input",5),S("ngModelChange",function(l){return h(a.quantity,l)||(a.quantity=l),l}),n(),i(7,"label",6),d(8,"Quantity"),n()()(),i(9,"div",3)(10,"div",4)(11,"input",7),S("ngModelChange",function(l){return h(a.discount,l)||(a.discount=l),l}),n(),i(12,"label",8),d(13,"Discount (%)"),n()()()()()()()),e&2&&(p("config",a.config),r(6),y("ngModel",a.quantity),r(5),y("ngModel",a.discount))},dependencies:[j,q,N,te,pe],encapsulation:2})};var Ut=t=>({selected:t}),cr=()=>["/menu/Promotion/Main/Event"],sr=()=>["/menu/Promotion/Main/Event/Info"],_r=t=>({ID:t}),jt=()=>({width:"100%"}),Li=()=>({standalone:!0});function ur(t,m){t&1&&(i(0,"a",49),d(1,"Cancel"),n()),t&2&&p("routerLink",k(1,cr))}function gr(t,m){if(t&1&&(i(0,"a",50),d(1,"Cancel"),n()),t&2){let e=c(2);p("routerLink",k(2,sr))("queryParams",V(3,_r,e.formData.ID))}}function fr(t,m){t&1&&(i(0,"small",51),d(1,"Name is required."),n())}function Cr(t,m){if(t&1&&(C(0,"input",52),d(1),I(2,"uppercase")),t&2){let e=m.item,a=m.item$,o=m.index;Ve("id","item-",o,""),p("ngModel",a.selected),r(),D(" ",P(2,4,e.selectAll)," ")}}function xr(t,m){if(t&1&&(C(0,"input",52),d(1)),t&2){let e=m.item,a=m.item$,o=m.index;Ve("id","item-",o,""),p("ngModel",a.selected),r(),D(" ",e.Name," ")}}function vr(t,m){t&1&&(T(0),i(1,"div",53),C(2,"i",54),i(3,"p",55),d(4," When no outlet is selected, promotion can be used in "),i(5,"b"),d(6,"ANY"),n(),d(7," outlet. "),n()(),w())}function yr(t,m){t&1&&(i(0,"small",51),d(1,"Minimum spending must be greater than zero."),n())}function hr(t,m){if(t&1){let e=g();i(0,"div",56)(1,"div",20)(2,"input",57),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.MinimumAmount,o)||(l.formData.MinimumAmount=o),u(o)}),n(),i(3,"label",58),d(4,"Minimum Spending"),n(),s(5,yr,2,0,"small",23),n()()}if(t&2){let e=c(2);r(2),ye("border-color",e.formData.MinimumAmount<1?"#fb404b":null),y("ngModel",e.formData.MinimumAmount),r(3),p("ngIf",e.formData.MinimumAmount<1)}}function Sr(t,m){t&1&&(i(0,"small",51),d(1,"Minimum spending must be greater than zero."),n())}function Ir(t,m){if(t&1){let e=g();i(0,"div",59)(1,"div",20)(2,"input",60),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.MinimumAmount,o)||(l.formData.MinimumAmount=o),u(o)}),n(),i(3,"label",61),d(4,"Min Quantity"),n(),s(5,Sr,2,0,"small",23),n()()}if(t&2){let e=c(2);r(2),ye("border-color",e.formData.MinimumAmount<1?"#fb404b":null),y("ngModel",e.formData.MinimumAmount),r(3),p("ngIf",e.formData.MinimumAmount<1)}}function Dr(t,m){if(t&1){let e=g();i(0,"div",59)(1,"div",62)(2,"label"),d(3,"Requirement Type"),n(),i(4,"radio-options",63),S("modelChange",function(o){_(e);let l=c(2);return h(l.formData.RequirementTypeID,o)||(l.formData.RequirementTypeID=o),u(o)}),n()()()}if(t&2){let e=c(2);r(4),p("options",e.requirementOptions),y("model",e.formData.RequirementTypeID)}}function Pr(t,m){if(t&1){let e=g();i(0,"div",59)(1,"div",62)(2,"label"),d(3,"Reward Type"),n(),i(4,"radio-options",63),S("modelChange",function(o){_(e);let l=c(2);return h(l.formData.RewardTypeID,o)||(l.formData.RewardTypeID=o),u(o)}),x("modelChange",function(o){_(e);let l=c(2);return u(l.onRewardTypeChange(o))}),n()()()}if(t&2){let e=c(2);r(4),p("options",e.rewardOptions),y("model",e.formData.RewardTypeID)}}function br(t,m){if(t&1){let e=g();i(0,"div",59)(1,"mat-checkbox",64),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.MultipleApply,o)||(l.formData.MultipleApply=o),u(o)}),d(2," Applies in multiple "),n(),i(3,"div",65)(4,"small"),d(5,"( Buy 1 Get 1 Free, Buy 2 Get 2 Free, etc )"),n()()()}if(t&2){let e=c(2);r(),y("ngModel",e.formData.MultipleApply)}}function Er(t,m){if(t&1){let e=g();i(0,"div",56)(1,"div",20)(2,"input",66),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.Discount1,o)||(l.formData.Discount1=o),u(o)}),n(),i(3,"label",67),d(4,"Discount Rate 1(%)"),n()()()}if(t&2){let e=c(2);r(2),y("ngModel",e.formData.Discount1)}}function Tr(t,m){if(t&1){let e=g();i(0,"div",56)(1,"div",20)(2,"input",68),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.Discount2,o)||(l.formData.Discount2=o),u(o)}),n(),i(3,"label",69),d(4,"Discount Rate 2(%)"),n()()()}if(t&2){let e=c(2);r(2),y("ngModel",e.formData.Discount2)}}function wr(t,m){if(t&1){let e=g();i(0,"div",56)(1,"div",70)(2,"ng-select",71),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.TaxTypeID,o)||(l.formData.TaxTypeID=o),u(o)}),n(),i(3,"label",72),d(4,"Tax"),n()()()}if(t&2){let e=c(2);r(),K(V(4,Ut,e.formData.TaxTypeID)),r(),p("items",e.options.TaxTypes),y("ngModel",e.formData.TaxTypeID)}}function Mr(t,m){if(t&1){let e=g();i(0,"div",56)(1,"div",20)(2,"input",73),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.MinimumAmount,o)||(l.formData.MinimumAmount=o),u(o)}),n(),i(3,"label",74),d(4,"Minimum Spending"),n()()()}if(t&2){let e=c(2);r(2),y("ngModel",e.formData.MinimumAmount)}}function Vr(t,m){t&1&&(i(0,"i",75),d(1,"Promotions are valid all day long"),n())}function Fr(t,m){t&1&&(i(0,"i",75),d(1,"Promotion is only valid at happy hours"),n())}function kr(t,m){if(t&1){let e=g();i(0,"div",40)(1,"p",76),d(2,"START TIME"),n(),i(3,"p-datepicker",77),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.StartTime,o)||(l.formData.StartTime=o),u(o)}),n()()}if(t&2){let e=c(2);r(3),Kt(k(6,jt)),p("inputStyle",k(7,jt)),y("ngModel",e.formData.StartTime),p("timeOnly",!0)("ngModelOptions",k(8,Li))}}function Rr(t,m){if(t&1){let e=g();i(0,"div",40)(1,"p",76),d(2,"EXPIRATION TIME"),n(),i(3,"p-datepicker",78),S("ngModelChange",function(o){_(e);let l=c(2);return h(l.formData.EndTime,o)||(l.formData.EndTime=o),u(o)}),n()()}if(t&2){let e=c(2);r(3),Kt(k(6,jt)),p("inputStyle",k(7,jt)),y("ngModel",e.formData.EndTime),p("timeOnly",!0)("ngModelOptions",k(8,Li))}}function Or(t,m){if(t&1){let e=g();i(0,"mat-button-toggle-group",86),S("ngModelChange",function(o){_(e);let l=c(3);return h(l.requirementButtonToggleState,o)||(l.requirementButtonToggleState=o),u(o)}),i(1,"mat-button-toggle",87),d(2),n(),i(3,"mat-button-toggle",88),d(4),n(),i(5,"mat-button-toggle",89),d(6),n()()}if(t&2){let e=c(3);y("ngModel",e.requirementButtonToggleState),r(2),D("Current (",e.data.VariantList.length,")"),r(2),D("Added (",e.addedRequirementItem.length,")"),r(2),D("Deleted (",e.removedRequirementItem.length,")")}}function Ar(t,m){if(t&1){let e=g();i(0,"mat-button-toggle-group",86),S("ngModelChange",function(o){_(e);let l=c(3);return h(l.categoryButtonToggleState,o)||(l.categoryButtonToggleState=o),u(o)}),i(1,"mat-button-toggle",87),d(2),n(),i(3,"mat-button-toggle",88),d(4),n(),i(5,"mat-button-toggle",89),d(6),n()()}if(t&2){let e=c(3);y("ngModel",e.categoryButtonToggleState),r(2),D("Current (",e.data.CategoryList.length,")"),r(2),D("Added (",e.addedRequirementItemCategory.length,")"),r(2),D("Deleted (",e.removedRequirementItemCategory.length,")")}}function qr(t,m){if(t&1){let e=g();i(0,"div",92)(1,"a",93),x("click",function(){_(e);let o=c(4);return u(o.openVariantDialog())}),C(2,"span",94),d(3," Add "),n(),i(4,"a",93),x("click",function(){_(e);let o=c(4);return u(o.openImportPurchaseItem())}),C(5,"span",95),d(6," Import "),n()()}}function Lr(t,m){if(t&1&&(i(0,"div",90),s(1,qr,7,0,"div",91),n()),t&2){let e=c(3);r(),p("ngIf",e.roleService.promotion.Create||e.roleService.promotion.Edit)}}function Nr(t,m){if(t&1){let e=g();i(0,"div",90)(1,"div",92)(2,"a",93),x("click",function(){_(e);let o=c(3);return u(o.openAddCategory())}),C(3,"span",94),d(4," Add a Category "),n()()()}}function Br(t,m){t&1&&C(0,"th",104)}function Wr(t,m){if(t&1){let e=g();i(0,"td")(1,"i",107),x("click",function(){_(e);let o=c().index,l=c(4);return u(l.removeRequirementItem(o))}),n()()}if(t&2){let e=c(5);r(),Ee("fa-xmark",e.requirementButtonToggleState!="Deleted")("fa-trash-undo",e.requirementButtonToggleState=="Deleted")}}function Ur(t,m){if(t&1){let e=g();T(0),i(1,"a",108),x("click",function(){_(e);let o=c(),l=o.$implicit,v=o.index,B=c(4);return u(B.openVariantDialog(l,v))}),d(2),n(),w()}if(t&2){let e=c().$implicit;r(2),b(e.VariantName)}}function jr(t,m){if(t&1&&d(0),t&2){let e=c().$implicit;D(" ",e.VariantName," ")}}function Gr(t,m){if(t&1&&(i(0,"tr",105),s(1,Wr,2,4,"td",34),i(2,"td"),d(3),n(),i(4,"td"),s(5,Ur,3,1,"ng-container",106)(6,jr,1,1,"ng-template",null,4,Y),n(),i(8,"td"),d(9),n(),i(10,"td",102),d(11),I(12,"number"),n()()),t&2){let e=m.$implicit,a=m.index,o=J(7),l=c(4);Ee("bg-gradient-warning",e.modified)("bg-gradient-success",l.requirementButtonToggleState=="Added")("bg-gradient-danger",l.requirementButtonToggleState=="Deleted"),r(),p("ngIf",l.roleService.promotion.Delete),r(2),b(a+1+"."),r(2),p("ngIf",l.roleService.promotion.Create||l.roleService.promotion.Edit)("ngIfElse",o),r(4),b(e.VariantCode),r(2),b(P(12,12,e.UnitPrice))}}function zr(t,m){if(t&1&&(i(0,"div",96)(1,"table",97)(2,"thead",98)(3,"tr"),s(4,Br,1,0,"th",99),i(5,"th",100),d(6,"No"),n(),i(7,"th"),d(8,"Name"),n(),i(9,"th",101),d(10,"Code"),n(),i(11,"th",102),d(12,"Price"),n()()(),i(13,"tbody"),s(14,Gr,13,14,"tr",103),n()()()),t&2){let e=c(3);r(4),p("ngIf",e.roleService.promotion.Delete),r(10),p("ngForOf",e.requirementButtonToggleState=="Added"?e.addedRequirementItem:e.requirementButtonToggleState=="Current"?e.data.VariantList:e.removedRequirementItem)}}function Hr(t,m){t&1&&C(0,"th",104)}function Qr(t,m){if(t&1){let e=g();i(0,"td")(1,"i",111),x("click",function(){_(e);let o=c().index,l=c(4);return u(l.removeCategory(o))}),n()()}}function Kr(t,m){if(t&1){let e=g();i(0,"td",112)(1,"a",108),x("click",function(){_(e);let o=c(),l=o.$implicit,v=o.index,B=c(4);return u(B.openAddCategory(l,v))}),d(2),n()()}if(t&2){let e=c().$implicit;r(2),b(e.CategoryName)}}function Jr(t,m){if(t&1&&(i(0,"tr",105),s(1,Qr,2,0,"td",34),i(2,"td"),d(3),n(),s(4,Kr,3,1,"td",110),n()),t&2){let e=m.index,a=c(4);r(),p("ngIf",a.roleService.promotion.Create||a.roleService.promotion.Edit),r(2),b(e+1+"."),r(),p("ngIf",a.roleService.promotion.Create||a.roleService.promotion.Edit)}}function Yr(t,m){if(t&1&&(i(0,"div",96)(1,"table",97)(2,"thead",98)(3,"tr"),s(4,Hr,1,0,"th",99),i(5,"th",100),d(6,"No"),n(),i(7,"th"),d(8,"Name"),n()()(),i(9,"tbody"),s(10,Jr,5,3,"tr",109),n()()()),t&2){let e=c(3);r(4),p("ngIf",e.roleService.promotion.Create||e.roleService.promotion.Edit),r(6),p("ngForOf",e.categoryButtonToggleState=="Added"?e.addedRequirementItemCategory:e.categoryButtonToggleState=="Current"?e.data.CategoryList:e.removedRequirementItemCategory)}}function Xr(t,m){if(t&1&&(i(0,"div",14)(1,"div",79)(2,"div",80)(3,"div")(4,"h3"),d(5,"Requirement"),n(),i(6,"small",81),d(7,"(just leave it blank if the promotion is valid for all item) "),n()(),s(8,Or,7,4,"mat-button-toggle-group",82)(9,Ar,7,4,"mat-button-toggle-group",82),n(),s(10,Lr,2,1,"div",83)(11,Nr,5,0,"div",83),n(),i(12,"div",16)(13,"div",12)(14,"div",17)(15,"div",84),s(16,zr,15,2,"div",85)(17,Yr,11,2,"div",85),n()()()()()),t&2){let e=c(2);r(8),p("ngIf",e.isEdit&&e.formData.RequirementTypeID==0),r(),p("ngIf",e.isEdit&&e.formData.RequirementTypeID==1),r(),p("ngIf",e.formData.RequirementTypeID==0),r(),p("ngIf",e.formData.RequirementTypeID==1),r(5),p("ngIf",e.formData.RequirementTypeID==0),r(),p("ngIf",e.formData.RequirementTypeID==1)}}function Zr(t,m){if(t&1){let e=g();i(0,"mat-button-toggle-group",86),S("ngModelChange",function(o){_(e);let l=c(4);return h(l.promotionButtonToggleState,o)||(l.promotionButtonToggleState=o),u(o)}),i(1,"mat-button-toggle",87),d(2),n(),i(3,"mat-button-toggle",88),d(4),n(),i(5,"mat-button-toggle",89),d(6),n()()}if(t&2){let e=c(4);y("ngModel",e.promotionButtonToggleState),r(2),D("Current (",e.data.List.length,")"),r(2),D("Added (",e.addedRewardItem.length,")"),r(2),D("Deleted (",e.removedRewardItem.length,")")}}function $r(t,m){if(t&1){let e=g();i(0,"div",92)(1,"a",93),x("click",function(){_(e);let o=c(4);return u(o.openRewardItemDialog())}),C(2,"span",94),d(3," Add "),n(),i(4,"a",93),x("click",function(){_(e);let o=c(4);return u(o.openImportPromotion())}),C(5,"span",95),d(6," Import "),n()()}}function em(t,m){t&1&&C(0,"th",104)}function tm(t,m){t&1&&(i(0,"th",102),d(1," Basic Cost "),n())}function im(t,m){t&1&&(i(0,"th",102),d(1," Extra Cost "),n())}function nm(t,m){if(t&1){let e=g();i(0,"td")(1,"i",107),x("click",function(){_(e);let o=c().index,l=c(4);return u(l.removePromotionItem(o))}),n()()}if(t&2){let e=c(5);r(),Ee("fa-xmark",e.promotionButtonToggleState!="Deleted")("fa-trash-undo",e.promotionButtonToggleState=="Deleted")}}function om(t,m){if(t&1){let e=g();T(0),i(1,"a",108),x("click",function(){_(e);let o=c(),l=o.$implicit,v=o.index,B=c(4);return u(B.openRewardItemDialog(l,v))}),d(2),n(),w()}if(t&2){let e=c().$implicit;r(2),b(e.VariantName)}}function am(t,m){if(t&1&&d(0),t&2){let e=c().$implicit;D(" ",e.VariantName," ")}}function rm(t,m){if(t&1&&(i(0,"td",102),d(1),I(2,"number"),n()),t&2){let e=c().$implicit;r(),D(" ",P(2,1,e.OriginalCost)," ")}}function mm(t,m){if(t&1&&(i(0,"td",102),d(1),I(2,"number"),n()),t&2){let e=c().$implicit;r(),D(" ",P(2,1,e.ExtraCost)," ")}}function lm(t,m){if(t&1&&(i(0,"tr",105),s(1,nm,2,4,"td",34),i(2,"td"),d(3),n(),i(4,"td",114),s(5,om,3,1,"ng-container",106)(6,am,1,1,"ng-template",null,5,Y),n(),i(8,"td"),d(9),n(),s(10,rm,3,3,"td",113)(11,mm,3,3,"td",113),i(12,"td",102),d(13),I(14,"number"),n(),i(15,"td",102),d(16),I(17,"number"),n(),i(18,"td",102),d(19),I(20,"number"),n()()),t&2){let e=m.$implicit,a=m.index,o=J(7),l=c(4);Ee("bg-gradient-warning",e.modified)("bg-gradient-success",l.promotionButtonToggleState=="Added")("bg-gradient-danger",l.promotionButtonToggleState=="Deleted"),r(),p("ngIf",l.roleService.promotion.Delete),r(2),b(a+1+"."),r(2),p("ngIf",l.roleService.promotion.Create||l.roleService.promotion.Edit)("ngIfElse",o),r(4),b(e.VariantCode),r(),p("ngIf",l.roleService.product.Cost),r(),p("ngIf",l.roleService.product.Cost),r(2),D(" ",P(14,16,e.OriginalPrice)," "),r(3),b(P(17,18,e.UnitPrice)),r(3),b(P(20,20,e.Discount))}}function pm(t,m){if(t&1&&(i(0,"div",14)(1,"div",79)(2,"div",80)(3,"h3"),d(4,"Reward"),n(),s(5,Zr,7,4,"mat-button-toggle-group",82),n(),i(6,"div",90),s(7,$r,7,0,"div",91),n()(),i(8,"div",16)(9,"div",12)(10,"div",17)(11,"div",84)(12,"div",96)(13,"table",97)(14,"thead",98)(15,"tr"),s(16,em,1,0,"th",99),i(17,"th",100),d(18,"No"),n(),i(19,"th"),d(20,"Name"),n(),i(21,"th",101),d(22,"Code"),n(),s(23,tm,2,0,"th",113)(24,im,2,0,"th",113),i(25,"th",102),d(26,"Basic Price"),n(),i(27,"th",102),d(28,"Promotion Price"),n(),i(29,"th",102),d(30,"Disc(%)"),n()()(),i(31,"tbody"),s(32,lm,21,22,"tr",103),n()()()()()()()()),t&2){let e=c(3);r(5),p("ngIf",e.isEdit),r(2),p("ngIf",e.roleService.promotion.Create||e.roleService.promotion.Edit),r(9),p("ngIf",e.roleService.promotion.Delete),r(7),p("ngIf",e.roleService.product.Cost),r(),p("ngIf",e.roleService.product.Cost),r(8),p("ngForOf",e.promotionButtonToggleState=="Added"?e.addedRewardItem:e.promotionButtonToggleState=="Current"?e.data.List:e.removedRewardItem)}}function dm(t,m){if(t&1&&(i(0,"div",12)(1,"div",17),s(2,pm,33,6,"div",47),n()()),t&2){let e=c(2);r(2),p("ngIf",e.formData.TypeID!=e.promotionType.Discount?e.formData.TypeID==e.promotionType.Quantity?e.formData.RewardTypeID==1:e.formData.RewardTypeID==2||e.formData.TypeID!=e.promotionType.Discount:!1)}}function cm(t,m){if(t&1){let e=g();i(0,"tr",122),x("click",function(){let o=_(e),l=o.$implicit,v=o.index,B=c(3);return u(B.openPromotionTierModal(l,v))}),i(1,"td")(2,"i",111),x("click",function(){let o=_(e).index,l=c(3);return u(l.promotionTiered.splice(o,1))}),n()(),i(3,"td"),d(4),n(),i(5,"td"),d(6),n(),i(7,"td"),d(8),n()()}if(t&2){let e=m.$implicit,a=m.index;r(4),b(a+1),r(2),b(e.Quantity),r(2),b(e.Discount)}}function sm(t,m){if(t&1){let e=g();i(0,"div",12)(1,"div",115)(2,"div",14)(3,"div",79)(4,"div",116)(5,"h3"),d(6,"Promotion Tiered"),n()()(),i(7,"div",16)(8,"div",12)(9,"div",115)(10,"div",96)(11,"table",117)(12,"thead",98)(13,"tr")(14,"th",118)(15,"button",119),x("click",function(){_(e);let o=c(2);return u(o.openPromotionTierModal())}),C(16,"i",120),n()(),i(17,"th"),d(18,"No"),n(),i(19,"th"),d(20,"Quantity"),n(),i(21,"th"),d(22,"Discount"),n()()(),i(23,"tbody"),s(24,cm,9,3,"tr",121),n()()()()()()()()()}if(t&2){let e=c(2);r(24),p("ngForOf",e.promotionTiered)}}function _m(t,m){if(t&1){let e=g();i(0,"mainpanel-cmp",7)(1,"actions"),s(2,ur,2,2,"a",8)(3,gr,2,5,"a",9),i(4,"button",10),x("click",function(){_(e);let o=c();return u(o.validate())}),d(5," Save "),n()(),i(6,"content")(7,"div",11)(8,"div",12)(9,"div",13)(10,"div",14)(11,"div",15)(12,"h3"),d(13,"General"),n()(),i(14,"div",16)(15,"div",12)(16,"div",17)(17,"div",18)(18,"div",19)(19,"div",20)(20,"input",21,0),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.Name,o)||(l.formData.Name=o),u(o)}),n(),i(22,"label",22),d(23,"Name"),n(),s(24,fr,2,0,"small",23),n()(),i(25,"div",24)(26,"div",25)(27,"div",26)(28,"app-customize-toggle",27),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.Enabled,o)||(l.formData.Enabled=o),u(o)}),n()(),i(29,"label",28),d(30," Enabled "),n()()()()(),i(31,"div",17)(32,"div",29)(33,"ng-select",30,1),S("ngModelChange",function(o){_(e);let l=c();return h(l.data.ListEntityID,o)||(l.data.ListEntityID=o),u(o)}),s(35,Cr,3,6,"ng-template",31)(36,xr,2,4,"ng-template",32),n(),i(37,"label",33),d(38,"Outlet"),n(),s(39,vr,8,0,"ng-container",34),n()(),i(40,"div",17)(41,"div",20)(42,"ng-select",35,2),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.TypeID,o)||(l.formData.TypeID=o),u(o)}),n(),i(44,"label",36),d(45,"Type"),n()(),i(46,"div",12),s(47,hr,6,4,"div",37)(48,Ir,6,4,"div",38)(49,Dr,5,2,"div",38)(50,Pr,5,2,"div",38)(51,br,6,1,"div",38)(52,Er,5,1,"div",37)(53,Tr,5,1,"div",37)(54,wr,5,6,"div",37)(55,Mr,5,1,"div",37),n()()()()()(),i(56,"div",39)(57,"div",14)(58,"div",15)(59,"h3"),d(60,"Promotion Period"),n()(),i(61,"div",16)(62,"div",12)(63,"div",40)(64,"datepicker",41),S("dateChange",function(o){_(e);let l=c();return h(l.formData.StartDate,o)||(l.formData.StartDate=o),u(o)}),n()(),i(65,"div",40)(66,"datepicker",42),S("dateChange",function(o){_(e);let l=c();return h(l.formData.ExpirationDate,o)||(l.formData.ExpirationDate=o),u(o)}),n()(),i(67,"div",17)(68,"div",20)(69,"ng-select",43,3),S("ngModelChange",function(o){_(e);let l=c();return h(l.formData.TimeType,o)||(l.formData.TimeType=o),u(o)}),x("ngModelChange",function(o){_(e);let l=c();return u(l.onTimeTypeChange(o))}),n(),i(71,"label",44),d(72,"Availibility"),n(),s(73,Vr,2,0,"i",45)(74,Fr,2,0,"i",45),n()(),s(75,kr,4,9,"div",46)(76,Rr,4,9,"div",46),n()()()()(),i(77,"div",12)(78,"div",17),s(79,Xr,18,6,"div",47),n()(),s(80,dm,3,1,"div",48)(81,sm,25,1,"div",48),n()()()}if(t&2){let e=J(21),a=J(34),o=J(43),l=J(70),v=c();p("pageData",v.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(2),p("ngIf",!v.isEdit),r(),p("ngIf",v.isEdit),r(),p("disabled",!v.formData.Name),r(16),y("ngModel",v.formData.Name),r(4),p("ngIf",e.touched&&(e.errors==null?null:e.errors.required)),r(4),y("ngModel",v.formData.Enabled),r(4),K(V(55,Ut,v.data.ListEntityID)),r(),p("items",v.options.Entities)("multiple",!0)("selectableGroup",!0)("selectableGroupAsModel",!1)("closeOnSelect",!1),y("ngModel",v.data.ListEntityID),r(4),ye("z-index",a.isOpen?"9999":""),r(2),p("ngIf",!v.data.ListEntityID||v.data.ListEntityID.length==0),r(2),K(V(57,Ut,v.formData.TypeID)),r(),p("items",v.options.PromotionTypes),y("ngModel",v.formData.TypeID),r(2),ye("z-index",o.isOpen?"9999":""),r(3),p("ngIf",v.formData.TypeID==v.promotionType.Amount&&v.formData.TypeID!=v.promotionType.PromotionTiered),r(),p("ngIf",v.formData.TypeID==v.promotionType.Quantity),r(),p("ngIf",v.formData.TypeID==v.promotionType.Quantity||v.formData.TypeID==v.promotionType.PromotionTiered),r(),p("ngIf",v.formData.TypeID==v.promotionType.Quantity&&v.formData.TypeID!=v.promotionType.PromotionTiered),r(),p("ngIf",v.formData.TypeID==v.promotionType.Quantity&&v.formData.RewardTypeID==v.rewardType.Product),r(),p("ngIf",v.formData.TypeID==v.promotionType.Discount),r(),p("ngIf",v.formData.TypeID==v.promotionType.Discount),r(),p("ngIf",v.formData.TypeID==v.promotionType.Discount),r(),p("ngIf",v.formData.TypeID==v.promotionType.Discount),r(9),p("hidelClearBtn",!0),y("date",v.formData.StartDate),p("showPlaceholder",!0),r(2),p("hidelClearBtn",!0),y("date",v.formData.ExpirationDate),p("showPlaceholder",!0),r(2),K(V(59,Ut,v.formData.TimeType)),r(),p("items",v.options.TimeTypes),y("ngModel",v.formData.TimeType),p("clearable",!1),r(2),ye("z-index",l.isOpen?"9999":""),r(2),p("ngIf",v.formData.TimeType==1),r(),p("ngIf",v.formData.TimeType==2),r(),p("ngIf",v.formData.TimeType==2),r(),p("ngIf",v.formData.TimeType==2),r(3),p("ngIf",v.formData.TypeID==v.promotionType.Quantity||v.formData.TypeID==v.promotionType.PromotionTiered),r(),p("ngIf",v.formData.TypeID!=v.promotionType.PromotionTiered),r(),p("ngIf",v.formData.TypeID==v.promotionType.PromotionTiered)}}var Gt=class t extends We{constructor(e,a,o,l,v,B,Pe,pt){super(e,a,"Promotion/PromotionFormLoader",l);this.router=o;this.toastr=v;this.csvConverter=B;this.matDialog=Pe;this.roleService=pt;this.rewardItems=[]}promotionTiered=[];originalData;rewardItems;categoryList;variantList;requirementOptions=[{Key:0,Value:"Variant"},{Key:1,Value:"Category"}];rewardOptions=[{Key:1,Value:"Product"},{Key:2,Value:"Cheapest Item"}];isEdit;removedRewardItem=[];addedRewardItem=[];modifiedRewardItem=[];promotionButtonToggleState="Current";removedRequirementItem=[];addedRequirementItem=[];requirementButtonToggleState="Current";addedRequirementItemCategory=[];removedRequirementItemCategory=[];categoryButtonToggleState="Current";sample='[{"Quantity":2,"Discount":10},{"Quantity":3,"Discount":25},{"Quantity":4,"Discount":30}]';promotionType=bi;rewardType=Ei;postBindForm(){this.menuData.H="Promotion Event Form",E.IsNotEmpty(this.data.PageTitle)&&(this.menuData.H="Edit Promotion Event - "+this.data.Form.Name),this.formData.MinimumAmount=this.formData.MinimumAmount||1,this.initTimeRange(),this.rewardItems=this.data.List,this.variantList=this.data.VariantList,this.categoryList=this.data.CategoryList,this.formData.TypeID==5&&(this.promotionTiered=JSON.parse(this.formData.Note)??[]),this.isEdit=this.formData.ID!=E.GuidEmpty,this.options.Entities=this.options.Entities.map(e=>se(ae({},e),{selectAll:"Select All"}))}initTimeRange(){if(this.formData.TimeType=E.IsNotEmpty(this.formData.EndTime)?2:1,this.formData.StartTime){let e=this.formData.StartTime.split(":");this.formData.StartTime=new Date(0,0,0,+e[0],+e[1])}if(this.formData.EndTime){let e=this.formData.EndTime.split(":");this.formData.EndTime=new Date(0,0,0,+e[0],+e[1])}}validate(){if(E.IsEmpty(this.formData.Name)){this.toastr.error("Name cannot be empty",F.Error);return}if(E.IsEmpty(this.formData.StartDate)){this.toastr.error("Start Date cannot be empty",F.Error);return}if(E.IsEmpty(this.formData.ExpirationDate)){this.toastr.error("Expiration Date cannot be empty",F.Error);return}this.formData.TypeID==5&&(this.formData.Note=JSON.stringify(this.promotionTiered)),this.formData.StartTime=this.getTimeInDate(this.formData.StartTime),this.formData.EndTime=this.getTimeInDate(this.formData.EndTime);let e={model:this.formData,listEntityId:this.data.ListEntityID};this.originalData=Object.assign({},this.data.Form),e=se(ae({},e),{addedRewardItem:this.isEdit?this.addedRewardItem:this.rewardItems,removedRewardItem:this.isEdit?this.removedRewardItem:[],modifiedRewardItem:this.isEdit?this.rewardItems.filter(a=>a.modified):[],addedRequirementItem:this.isEdit?this.addedRequirementItem:this.variantList,removedRequirementItem:this.isEdit?this.removedRequirementItem:[],addedRequirementItemCategory:this.isEdit?this.addedRequirementItemCategory:this.categoryList,removedRequirementItemCategory:this.isEdit?this.removedRequirementItemCategory:[]}),this.data.Form=e,this.onSubmit("Promotion/SubmitPromotion")}getTimeInDate(e){let a=null;if(e&&typeof e=="object"){let o=e.getHours().toString(),l=e.getMinutes().toString();o=o.length<2?"0"+o:o,l=l.length<2?"0"+l:l,a=o+":"+l}return a}onSubmitSuccess(){E.IsEmpty(this.formData.ID)?this.toastr.success("Success add new promotion event",F.Success):this.toastr.success("Success edit promotion event",F.Success),this.router.navigate(["/menu/Promotion/Main/Event"])}onSubmitError(e){this.data.Form=this.originalData}onTimeTypeChange(e){if(e==2&&E.IsEmpty(this.formData.EndTime)){let a=new Date;a.setHours(0,0,0),this.formData.StartTime=a;let o=new Date;o.setHours(23,59,59),this.formData.EndTime=o}}openRewardItemDialog(e,a){this.matDialog.open(Bt,{data:{rewardItems:this.rewardItems,addedRewardItem:this.addedRewardItem,item:e,index:a,isEdit:this.isEdit}}).afterClosed().subscribe(()=>{E.IsEmpty(e)&&this.isEdit&&(this.promotionButtonToggleState="Added")})}openVariantDialog(e,a){this.matDialog.open(mt,{data:{variantList:this.variantList,addedRequirementItem:this.addedRequirementItem,rewardItems:this.rewardItems,item:e,index:a,isEdit:this.isEdit}}).afterClosed().subscribe(()=>{E.IsEmpty(e)&&this.isEdit&&(this.requirementButtonToggleState="Added")})}openImportPurchaseItem(){this.matDialog.open(Ke,{data:{type:"Purchase",sampleUrl:"https://cdn.dealpos.xyz/web-import-template/PromotionEvent_ItemRequirement_Import_TemplateV2.csv"}}).afterClosed().pipe(ce(e=>E.IsNotEmpty(e))).subscribe(e=>{e.filter(a=>this.variantList.findIndex(o=>a.VariantID==o.VariantID)==-1).forEach(a=>{this.isEdit?(this.requirementButtonToggleState="Added",this.addedRequirementItem.push(a)):(this.requirementButtonToggleState="Current",this.variantList.push(a))})})}openAddCategory(e,a){this.matDialog.open(lt,{data:{addedRequirementItemCategory:this.addedRequirementItemCategory,categoryList:this.categoryList,categories:this.data.Options.Categories,category:e,index:a,isEdit:this.isEdit}}).afterClosed().subscribe(()=>{this.isEdit&&(this.categoryButtonToggleState="Added")})}openImportPromotion(){this.matDialog.open(Ke,{data:{type:"Promotion",sampleUrl:"https://cdn.dealpos.xyz/web-import-template/PromotionEvent_Import_TemplateV2.csv"}}).afterClosed().pipe(ce(e=>E.IsNotEmpty(e)),gt(()=>this.promotionButtonToggleState="Added")).subscribe(e=>{for(let a of e){let o=this.rewardItems.findIndex(l=>l.VariantID==a.VariantID);o!=-1?(this.promotionButtonToggleState="Current",a.modified=!0,this.rewardItems[o]=a):this.isEdit?this.addedRewardItem.push(a):(this.promotionButtonToggleState="Current",this.rewardItems.push(a))}})}openPromotionTierModal(e,a){this.matDialog.open(Wt,{data:{quantity:e?.Quantity,discount:e?.Discount,promotionTier:this.promotionTiered,index:a}}).afterClosed().pipe(ce(o=>o&&o.Quantity&&o.Discount)).subscribe({next:o=>{this.promotionTiered=a==null?[...this.promotionTiered,o]:[...this.promotionTiered].map((l,v)=>v==a?ae(ae({},l),o):l)}})}onRewardTypeChange(e){e==2&&(this.formData.MultipleApply=!1)}removePromotionItem(e){this.isEdit?this.promotionButtonToggleState=="Added"?this.addedRewardItem.splice(e,1):this.promotionButtonToggleState=="Deleted"?(this.data.List.push(this.removedRewardItem[e]),this.removedRewardItem.splice(e,1),this.removedRewardItem.length==0&&(this.promotionButtonToggleState="Current")):(this.removedRewardItem.push(this.data.List[e]),this.data.List.splice(e,1)):this.data.List.splice(e,1)}removeRequirementItem(e){this.isEdit?this.requirementButtonToggleState=="Added"?this.addedRequirementItem.splice(e,1):this.requirementButtonToggleState=="Deleted"?(this.data.VariantList.push(this.removedRequirementItem[e]),this.removedRequirementItem.splice(e,1),this.removedRequirementItem.length==0&&(this.requirementButtonToggleState="Current")):(this.removedRequirementItem.push(this.data.VariantList[e]),this.data.VariantList.splice(e,1)):this.data.VariantList.splice(e,1)}removeCategory(e){this.isEdit&&(this.categoryButtonToggleState=="Added"?this.addedRequirementItemCategory.splice(e,1):this.categoryButtonToggleState=="Deleted"?(this.data.CategoryList.push(this.removedRequirementItemCategory[e]),this.removedRequirementItemCategory.splice(e,1),this.removedRequirementItemCategory.length==0&&(this.categoryButtonToggleState="Current")):(this.removedRequirementItemCategory.push(this.data.CategoryList[e]),this.data.CategoryList.splice(e,1)))}static \u0275fac=function(a){return new(a||t)(f(ie),f(R),f(he),f(_e),f(A),f(Ie),f($),f(G))};static \u0275cmp=M({type:t,selectors:[["POS-promotion-event-form"]],standalone:!1,features:[re],decls:1,vars:1,consts:[["name","ngModel"],["outlet",""],["type",""],["avail",""],["promName",""],["PROM_NAME",""],[3,"pageData","hideSearchBox","hideSearchDropdown",4,"ngIf"],[3,"pageData","hideSearchBox","hideSearchDropdown"],["class","btn btn-outline-secondary me-5",3,"routerLink",4,"ngIf"],["class","btn btn-outline-secondary me-5",3,"routerLink","queryParams",4,"ngIf"],[1,"button","btn","btn-success",3,"click","disabled"],[1,"container-fluid","mt-5"],[1,"row"],[1,"col-md-8"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"col-sm-12"],[1,"w-100","d-flex","justify-content-between"],[1,"w-100","me-4"],[1,"form-floating-outline"],["id","promoName","type","text","name","name","placeholder","Name","autofocus","","required","",1,"form-control",3,"ngModelChange","ngModel"],["for","promoName"],["style","color: red",4,"ngIf"],[2,"width","100px"],[1,"form-check-floating"],[1,"d-flex","justify-content-center","py-4"],[1,"mt-3",3,"ngModelChange","ngModel"],[1,"labelFilledInput"],[1,"form-floating-outline","multiple","outlet-multiselect"],["bindLabel","Name","groupBy","selectAll","bindValue","ID",3,"ngModelChange","items","multiple","selectableGroup","selectableGroupAsModel","closeOnSelect","ngModel"],["ng-optgroup-tmp",""],["ng-option-tmp",""],["for","inputOutlet"],[4,"ngIf"],["bindLabel","Value","bindValue","Key","name","promoType",3,"ngModelChange","items","ngModel"],["for","promoType"],["class","col-sm-4",4,"ngIf"],["class","col-sm-6",4,"ngIf"],[1,"col-md-4"],[1,"form-floating-outline","col-sm-6"],["placeholder","Start Date","appearance","outline",3,"dateChange","hidelClearBtn","date","showPlaceholder"],["placeholder","Expiration Date","appearance","outline",3,"dateChange","hidelClearBtn","date","showPlaceholder"],["bindLabel","Value","bindValue","Key","name","timeType",3,"ngModelChange","items","ngModel","clearable"],["for","timeType"],["class","text-dark mt-2",4,"ngIf"],["class","form-floating-outline col-sm-6",4,"ngIf"],["class","card",4,"ngIf"],["class","row",4,"ngIf"],[1,"btn","btn-outline-secondary","me-5",3,"routerLink"],[1,"btn","btn-outline-secondary","me-5",3,"routerLink","queryParams"],[2,"color","red"],["type","checkbox",3,"id","ngModel"],[2,"background","#fff3cd","padding","10px 5px","margin-top","10px","border-radius","5px"],[1,"fa-solid","fa-circle-exclamation","ms-4","me-2"],[2,"display","inline"],[1,"col-sm-4"],["type","text","id","minimum","placeholder","Minimum Spending","matTooltip","Minimum amount to get this promotion","autoNum","",1,"form-control",3,"ngModelChange","ngModel"],["for","minimum"],[1,"col-sm-6"],["type","text","id","minimumQty","placeholder","Min Quantity","matTooltip","Minimum quantity to get this promotion","autoNum","",1,"form-control",3,"ngModelChange","ngModel"],["for","minimumQty"],[1,"form-floating-outline","radio","border","rounded","pt-7",2,"height","fit-content"],[3,"modelChange","options","model"],["color","primary",3,"ngModelChange","ngModel"],[1,"ps-5"],["type","text","id","disc1","placeholder","Discount Rate 1(%)","autoNum","","percentage","",1,"form-control","percentage-input",3,"ngModelChange","ngModel"],["for","disc1"],["type","text","id","disc2","placeholder","Discount Rate 2(%)","autoNum","","percentage","",1,"form-control","percentage-input",3,"ngModelChange","ngModel"],["for","disc2"],[1,"form-floating-outline","flexRow"],["bindLabel","Label","bindValue","ID","name","inputTax",3,"ngModelChange","items","ngModel"],["for","inputTax"],["type","text","id","discMinAmount","placeholder","Minimum Spending","matTooltip","Minimum amount to get the pricebook price","autoNum","",1,"form-control","percentage-input",3,"ngModelChange","ngModel"],["for","discMinAmount"],[1,"text-dark","mt-2"],["for","Start",1,"fw-bold","mb-3"],["inputId","st",3,"ngModelChange","inputStyle","ngModel","timeOnly","ngModelOptions"],["inputId","et",3,"ngModelChange","inputStyle","ngModel","timeOnly","ngModelOptions"],[1,"card-header","d-lg-flex"],[1,"me-auto","mt-5","d-flex","align-items-center",2,"column-gap","20px"],[1,"text-body-secondary","mt-2"],["name","fontStyle","aria-label","Font Style",3,"ngModel","ngModelChange",4,"ngIf"],["class","d-sm-block mt-2",4,"ngIf"],[1,"row","mt-2"],["class","table-responsive",4,"ngIf"],["name","fontStyle","aria-label","Font Style",3,"ngModelChange","ngModel"],["value","Current"],["value","Added"],["value","Deleted"],[1,"d-sm-block","mt-2"],["class","btn-group",4,"ngIf"],[1,"btn-group"],["role","button",1,"btn","btn-outline-secondary","btn-sm",3,"click"],[1,"fa-solid","fa-circle-plus"],[1,"fa","fa-download","ps-3","pe-2"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],["width","15px",4,"ngIf"],[2,"width","20px"],[2,"width","80px"],[1,"text-end"],["class","border-bottom",3,"bg-gradient-warning","bg-gradient-success","bg-gradient-danger",4,"ngFor","ngForOf"],["width","15px"],[1,"border-bottom"],[4,"ngIf","ngIfElse"],["aria-hidden","true",1,"fa","text-danger","fa-2x",2,"cursor","pointer",3,"click"],[1,"text-info",3,"click"],["class","border-bottom",4,"ngFor","ngForOf"],["style","cursor: pointer",4,"ngIf"],["aria-hidden","true",1,"fa","fa-xmark","text-danger","fa-2x",2,"cursor","pointer",3,"click"],[2,"cursor","pointer"],["class","text-end",4,"ngIf"],[2,"cursor","pointer","width","30%"],[1,"col-md-12"],[1,"me-auto","mt-5"],["id","tableGrid",1,"table",2,"border-bottom","0px solid white"],[2,"width","50px"],["type","button","matTooltipPosition","above","matTooltip","Add Promotion Tier",1,"btn","btn-outline-dark","btn-sm","bg-white","text-black",3,"click"],["aria-hidden","true",1,"fa","fa-plus"],["class","border-bottom",3,"click",4,"ngFor","ngForOf"],[1,"border-bottom",3,"click"]],template:function(a,o){a&1&&s(0,_m,82,61,"mainpanel-cmp",6),a&2&&p("ngIf",o.data&&o.formData)},dependencies:[X,L,Z,ne,j,Se,q,et,N,le,pe,nt,qe,Di,Te,Mi,St,It,at,it,Ze,U],styles:["datepicker[_ngcontent-%COMP%] mat-form-field{padding-right:0;font-size:16px} .mat-button-toggle-label-content{line-height:30.6px!important}div.form-check-floating[_ngcontent-%COMP%]{border:1px solid #ced4da;position:relative;border-radius:.25rem!important}.labelFilledInput[_ngcontent-%COMP%]{position:absolute;top:-10px;left:10px;background:#fff;padding-left:4px;padding-right:4px;font-size:.75rem!important;color:#9da2a6}.outlet-multiselect[_ngcontent-%COMP%] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:10px;padding-left:10px}"]})};var um=()=>["/menu/Promotion/Main/Event/Form"],ti=t=>({ID:t}),gm=t=>({CategoryID:t});function fm(t,m){if(t&1&&(i(0,"a",32),C(1,"i",33),d(2,"Edit "),n()),t&2){let e=c().ngIf,a=c();Ee("border-end-0",a.role.promotion.Delete),p("routerLink",k(4,um))("queryParams",V(5,ti,e.Form.ID))}}function Cm(t,m){if(t&1){let e=g();i(0,"button",34),x("click",function(){_(e);let o=c().ngIf,l=c();return u(l.delete(o.Form.ID))}),C(1,"i",35),d(2,"Delete "),n()}}function xm(t,m){if(t&1){let e=g();T(0),i(1,"app-customize-toggle",36),x("ngModelChange",function(o){_(e);let l=c().ngIf,v=c();return u(v.onEnablePromotion(o,l.Form))}),n(),w()}if(t&2){let e=m.ngIf,a=c().ngIf,o=c();r(),p("ngModel",a.Form.Enabled)("disabled",e.startDateDays>0&&e.endDateDays>=0||!(o.role.promotion!=null&&o.role.promotion.Edit))}}function vm(t,m){if(t&1&&(i(0,"tr",43)(1,"td",44),d(2),n()()),t&2){let e=m.$implicit;r(2),b(e.Name)}}function ym(t,m){if(t&1&&(i(0,"div",11)(1,"div",37)(2,"div",38)(3,"h4",39),d(4,"Outlet"),n()(),i(5,"div",40)(6,"table",41)(7,"tbody"),s(8,vm,3,1,"tr",42),n()()()()()),t&2){let e=c().ngIf;r(8),p("ngForOf",e.Outlets)}}function hm(t,m){if(t&1&&(i(0,"div",45),C(1,"POS-info-page-input",46),n()),t&2){let e=c().ngIf;r(),p("inputValue",e.Form.MinimumAmount)}}function Sm(t,m){if(t&1&&(i(0,"div",26),C(1,"POS-info-page-input",47),n()),t&2){let e=c().ngIf;r(),p("inputValue",e.Form.MinimumAmount)}}function Im(t,m){if(t&1&&(i(0,"div",26),C(1,"POS-info-page-input",48),n()),t&2){let e=c().ngIf;r(),p("inputValue",e.Form.RequirementString)}}function Dm(t,m){if(t&1&&(i(0,"div",26),C(1,"POS-info-page-input",49),n()),t&2){let e=c().ngIf;r(),p("inputValue",e.Form.RewardString)}}function Pm(t,m){if(t&1&&(i(0,"div",26),C(1,"POS-info-page-input",50),n()),t&2){let e=c().ngIf;r(),p("inputValue",e.Form.MultipleApply?"Applied":"Not Applied")}}function bm(t,m){if(t&1&&(i(0,"div",45),C(1,"POS-info-page-input",51),n()),t&2){let e=c().ngIf;r(),p("inputValue",e.Form.Discount1)}}function Em(t,m){if(t&1&&(i(0,"div",45),C(1,"POS-info-page-input",52),n()),t&2){let e=c().ngIf;r(),p("inputValue",e.Form.Discount2)}}function Tm(t,m){if(t&1&&(i(0,"div",45),C(1,"POS-info-page-input",53),n()),t&2){let e=c().ngIf;r(),p("inputValue",e.Form.TaxTypeString)}}function wm(t,m){if(t&1&&(i(0,"div",45),C(1,"POS-info-page-input",46),n()),t&2){let e=c().ngIf;r(),p("inputValue",e.Form.MinimumAmount)}}function Mm(t,m){if(t&1&&(i(0,"div",54),d(1),I(2,"MathAbs"),n()),t&2){let e=c().ngIf;r(),D(" Promotion Upcoming - Active in ",P(2,1,e.startDateDays)," Days ")}}function Vm(t,m){if(t&1&&(i(0,"div",55),d(1),I(2,"MathAbs"),n()),t&2){let e=c().ngIf;r(),D(" Promotion Is Active - End in ",P(2,1,e.endDateDays)," Days ")}}function Fm(t,m){if(t&1&&(i(0,"div",56),d(1),I(2,"MathAbs"),I(3,"MathAbs"),n()),t&2){let e=c().ngIf;r(),D(" Promotion Expired - Since ",P(2,1,e.endDateDays)==0?"Today":P(3,3,e.endDateDays)+" Days ago"," ")}}function km(t,m){if(t&1&&(T(0),s(1,Mm,3,3,"div",54)(2,Vm,3,3,"div",55)(3,Fm,4,5,"div",56),w()),t&2){let e=m.ngIf;r(),O(e.startDateDays<0?1:-1),r(),O(e.startDateDays>=0&&e.endDateDays<0?2:-1),r(),O(e.startDateDays>0&&e.endDateDays>=0?3:-1)}}function Rm(t,m){if(t&1&&(i(0,"div",26),C(1,"POS-info-page-input",57),n(),i(2,"div",26),C(3,"POS-info-page-input",58),n()),t&2){let e=c().ngIf;r(),p("inputValue",e.Form.StartTime),r(2),p("inputValue",e.Form.EndTime)}}function Om(t,m){if(t&1&&(i(0,"div",62)(1,"h3"),d(2,"Requirement"),n(),i(3,"small",68),d(4),I(5,"number"),n()()),t&2){let e=c(3).ngIf;r(4),b(" ("+P(5,1,e.Count)+" Items)")}}function Am(t,m){if(t&1&&(i(0,"div",62)(1,"h3"),d(2,"Category"),n(),i(3,"small",68),d(4),n()()),t&2){let e=c(4).ngIf;r(4),b(" ("+e.Categories.length+" Category)")}}function qm(t,m){if(t&1&&C(0,"input",69),t&2){let e=c(5);p("formControl",e.promotionRequirementQuery)}}function Lm(t,m){if(t&1&&(i(0,"tr",77)(1,"td"),d(2),n(),i(3,"td")(4,"a",78),d(5),n()(),i(6,"td"),d(7),n(),i(8,"td",75),d(9),I(10,"number"),n()()),t&2){let e=m.$implicit,a=m.index;r(2),b(a+1+"."),r(2),p("queryParams",V(7,ti,e.VariantID)),r(),D(" ",e.VariantName," "),r(2),b(e.VariantCode),r(2),D(" ",P(10,5,e.UnitPrice)," ")}}function Nm(t,m){if(t&1){let e=g();i(0,"mat-paginator",80),x("page",function(o){_(e);let l=c(7);return u(l.onRequirementPaginationChange(o))}),n()}if(t&2){let e=m.ngIf,a=c().ngIf;p("length",e.Count)("pageSize",e.Data.length)("pageIndex",a.PageIndex)}}function Bm(t,m){if(t&1&&(T(0),s(1,Nm,1,3,"mat-paginator",79),I(2,"async"),w()),t&2){let e=c(6);r(),p("ngIf",P(2,1,e.promotionRequirement$))}}function Wm(t,m){if(t&1&&(T(0),i(1,"div",70)(2,"table",71)(3,"thead",72)(4,"tr")(5,"th",73),d(6,"No"),n(),i(7,"th"),d(8,"Name"),n(),i(9,"th",74),d(10,"Code"),n(),i(11,"th",75),d(12,"Price"),n()()(),i(13,"tbody"),s(14,Lm,11,9,"tr",76),n()()(),s(15,Bm,3,3,"ng-container",18),I(16,"async"),w()),t&2){let e=c(3).ngIf,a=c(2);r(14),p("ngForOf",e.Data),r(),p("ngIf",P(16,2,a.promotionRequirementPagination))}}function Um(t,m){if(t&1&&(i(0,"tr",77)(1,"td"),d(2),n(),i(3,"td",81)(4,"a",82),d(5),n()()()),t&2){let e=m.$implicit,a=m.index;r(2),b(a+1+"."),r(2),p("queryParams",V(3,gm,e.CategoryID)),r(),b(e.CategoryName)}}function jm(t,m){if(t&1&&(T(0),i(1,"div",70)(2,"table",71)(3,"thead",72)(4,"tr")(5,"th",73),d(6,"No"),n(),i(7,"th"),d(8,"Name"),n()()(),i(9,"tbody"),s(10,Um,6,5,"tr",76),n()()(),w()),t&2){let e=c(4).ngIf;r(10),p("ngForOf",e.Categories)}}function Gm(t,m){if(t&1){let e=g();i(0,"div",8)(1,"div",60)(2,"div",61),s(3,Om,6,3,"div",62)(4,Am,5,1,"div",62),n(),i(5,"div",63),s(6,qm,1,1,"input",64),i(7,"a",65),x("click",function(){_(e);let o=c(3).ngIf,l=c();return u(l.openExportRequirementModal(o.Form.ID))}),C(8,"span",66),d(9," Export "),n()()(),i(10,"div",10)(11,"div",6)(12,"div",11)(13,"div",67),s(14,Wm,17,4,"ng-container",18)(15,jm,11,1,"ng-container",18),n()()()()()}if(t&2){let e=c(3).ngIf;r(3),O(e.Form.RequirementTypeID==0?3:4),r(3),p("ngIf",e.Form.RequirementTypeID==0),r(8),p("ngIf",e.Form.RequirementTypeID==0),r(),p("ngIf",e.Form.RequirementTypeID==1)}}function zm(t,m){if(t&1&&(i(0,"div",11),s(1,Gm,16,4,"div",59),n()),t&2){let e=c(2).ngIf;r(),p("ngIf",e.Form.TypeID==2||e.Form.TypeID==5)}}function Hm(t,m){if(t&1&&(i(0,"div",6),s(1,zm,2,1,"div",20),n()),t&2){let e=m.ngIf,a=c().ngIf;r(),p("ngIf",e.Count||a.Categories.length)}}function Qm(t,m){t&1&&(i(0,"th",75),d(1," Basic Cost "),n())}function Km(t,m){t&1&&(i(0,"th",75),d(1," Extra Cost "),n())}function Jm(t,m){if(t&1&&(i(0,"td",75),d(1),I(2,"number"),n()),t&2){let e=c().$implicit;r(),D(" ",P(2,1,e.OriginalCost)," ")}}function Ym(t,m){if(t&1&&(i(0,"td",75),d(1),I(2,"number"),n()),t&2){let e=c().$implicit;r(),D(" ",P(2,1,e.ExtraCost)," ")}}function Xm(t,m){if(t&1&&(i(0,"tr",77)(1,"td"),d(2),n(),i(3,"td",86)(4,"a",78),d(5),n()(),i(6,"td"),d(7),n(),s(8,Jm,3,3,"td",85)(9,Ym,3,3,"td",85),i(10,"td",75),d(11),I(12,"number"),n(),i(13,"td",75),d(14),I(15,"number"),n(),i(16,"td",75),d(17),I(18,"number"),n()()),t&2){let e=m.$implicit,a=m.index,o=c(5);r(2),b(a+1+"."),r(2),p("queryParams",V(15,ti,e.VariantID)),r(),D(" ",e.VariantName," "),r(2),b(e.VariantCode),r(),p("ngIf",o.role.product.Cost),r(),p("ngIf",o.role.product.Cost),r(2),D(" ",P(12,9,e.OriginalPrice)," "),r(3),D(" ",P(15,11,e.UnitPrice)," "),r(3),D(" ",P(18,13,e.Discount)," ")}}function Zm(t,m){if(t&1&&(T(0),s(1,Xm,19,17,"tr",76),w()),t&2){let e=m.ngIf;r(),p("ngForOf",e.Data)}}function $m(t,m){if(t&1){let e=g();i(0,"mat-paginator",80),x("page",function(o){_(e);let l=c(5);return u(l.onGiftPaginationChange(o))}),n()}if(t&2){let e=m.ngIf,a=c().ngIf;p("length",e.Count)("pageSize",e.Data.length)("pageIndex",a.PageIndex)}}function el(t,m){if(t&1&&(T(0),s(1,$m,1,3,"mat-paginator",79),I(2,"async"),w()),t&2){let e=c(4);r(),p("ngIf",P(2,1,e.promotionGift$))}}function tl(t,m){if(t&1){let e=g();i(0,"div",8)(1,"div",60)(2,"div",83)(3,"h3"),d(4,"Reward"),n(),i(5,"small",84),d(6),I(7,"async"),I(8,"number"),n()(),i(9,"div",63),C(10,"input",69),i(11,"a",65),x("click",function(){_(e);let o=c(2).ngIf,l=c();return u(l.openExportModal(o.Form.ID))}),C(12,"span",66),d(13," Export "),n()()(),i(14,"div",10)(15,"div",6)(16,"div",11)(17,"div",67)(18,"div",70)(19,"table",71)(20,"thead",72)(21,"tr")(22,"th",73),d(23,"No"),n(),i(24,"th"),d(25,"Name"),n(),i(26,"th",74),d(27,"Code"),n(),s(28,Qm,2,0,"th",85)(29,Km,2,0,"th",85),i(30,"th",75),d(31,"Basic Price"),n(),i(32,"th",75),d(33,"Promotion Price"),n(),i(34,"th",75),d(35,"Disc(%)"),n()()(),i(36,"tbody"),s(37,Zm,2,1,"ng-container",18),I(38,"async"),n()()(),s(39,el,3,3,"ng-container",18),I(40,"async"),n()()()()()}if(t&2){let e,a=c(3);r(6),b("("+P(8,8,(e=P(7,6,a.promotionGift$))==null?null:e.Count)+" Items)"),r(4),p("formControl",a.promotionGiftQuery),r(18),p("ngIf",a.role.product.Cost),r(),p("ngIf",a.role.product.Cost),r(8),p("ngIf",P(38,10,a.promotionGift$)),r(2),p("ngIf",P(40,12,a.promotionGiftPagination))}}function il(t,m){if(t&1&&(i(0,"div",6)(1,"div",11),s(2,tl,41,14,"div",59),n()()),t&2){let e=c().ngIf;r(2),p("ngIf",e.Form.TypeID==1||e.Form.TypeID==2||e.Form.TypeID==4)}}function nl(t,m){if(t&1&&(i(0,"tr",77)(1,"td"),d(2),n(),i(3,"td"),d(4),n(),i(5,"td"),d(6),n()()),t&2){let e=m.$implicit,a=m.index;r(2),b(a+1),r(2),b(e.Quantity),r(2),b(e.Discount)}}function ol(t,m){if(t&1&&(i(0,"div",6)(1,"div",87)(2,"div",8)(3,"div",60)(4,"div",88)(5,"h3"),d(6,"Promotion Tiered"),n()()(),i(7,"div",10)(8,"div",6)(9,"div",87)(10,"div",70)(11,"table",89)(12,"thead",72)(13,"tr")(14,"th"),d(15,"No"),n(),i(16,"th"),d(17,"Quantity"),n(),i(18,"th"),d(19,"Discount"),n()()(),i(20,"tbody"),s(21,nl,7,3,"tr",76),n()()()()()()()()()),t&2){let e=c().ngIf;r(21),p("ngForOf",e.Form.Note)}}function al(t,m){if(t&1&&(i(0,"span")(1,"b"),d(2,"Modified:"),n(),d(3),n()),t&2){let e=c().ngIf;r(3),Re(" ",e.DocumentInfo.Modified.Date," / ",e.DocumentInfo.Modified.User," ")}}function rl(t,m){if(t&1&&(i(0,"mainpanel-cmp",1),I(1,"async"),i(2,"actions")(3,"div",2),s(4,fm,3,7,"a",3)(5,Cm,3,0,"button",4),n()(),i(6,"content")(7,"div",5)(8,"div",6)(9,"div",7)(10,"div",8)(11,"div",9)(12,"h3"),d(13,"General"),n()(),i(14,"div",10)(15,"div",6)(16,"div",11)(17,"div",12)(18,"div",13),C(19,"POS-info-page-input",14),n(),i(20,"div",15)(21,"div",16)(22,"div",17),s(23,xm,2,2,"ng-container",18),I(24,"async"),n(),i(25,"label",19),d(26," Enabled "),n()()()()()(),i(27,"div",6),s(28,ym,9,1,"div",20),i(29,"div",11),C(30,"POS-info-page-input",21),i(31,"div",6),s(32,hm,2,1,"div",22)(33,Sm,2,1,"div",23)(34,Im,2,1,"div",23)(35,Dm,2,1,"div",23)(36,Pm,2,1,"div",23)(37,bm,2,1,"div",22)(38,Em,2,1,"div",22)(39,Tm,2,1,"div",22)(40,wm,2,1,"div",22),n()()()()()(),i(41,"div",24)(42,"div",8)(43,"div",9)(44,"h3"),d(45,"Promotion Period"),n(),s(46,km,4,3,"ng-container",18),I(47,"async"),n(),i(48,"div",25)(49,"div",6)(50,"div",26),C(51,"POS-info-page-input",27),I(52,"date"),n(),i(53,"div",26),C(54,"POS-info-page-input",28),I(55,"date"),n(),s(56,Rm,4,2),n()()()()(),s(57,Hm,2,1,"div",29),I(58,"async"),s(59,il,3,1,"div",29)(60,ol,22,1,"div",29),i(61,"div",30),C(62,"i",31),i(63,"span")(64,"b"),d(65,"Created:"),n(),d(66),n(),s(67,al,4,2,"span",18),n()()()()),t&2){let e=m.ngIf,a=c();p("pageData",P(1,28,a.menu$))("hideSearchDropdown",!0)("hideSearchBox",!0),r(4),p("ngIf",a.role.promotion.Edit),r(),p("ngIf",a.role.promotion.Delete),r(14),p("inputValue",e.Form.Name),r(4),p("ngIf",P(24,30,a.promotionPeriod$)),r(5),p("ngIf",e.Outlets.length),r(2),p("inputValue",e.Form.PromotionTypeString),r(2),p("ngIf",e.Form.TypeID==1),r(),p("ngIf",e.Form.TypeID==2),r(),p("ngIf",e.Form.TypeID==2||e.Form.TypeID==5),r(),p("ngIf",e.Form.TypeID==2),r(),p("ngIf",e.Form.TypeID==2&&e.Form.RewardTypeID==1),r(),p("ngIf",e.Form.TypeID==3),r(),p("ngIf",e.Form.TypeID==3),r(),p("ngIf",e.Form.TypeID==3),r(),p("ngIf",e.Form.TypeID==3),r(6),p("ngIf",P(47,32,a.promotionPeriod$)),r(5),p("inputValue",me(52,34,e.Form.StartDate,"dd MMM yyyy")),r(3),p("inputValue",me(55,37,e.Form.ExpirationDate,"dd MMM yyyy")),r(2),O(e.Form!=null&&e.Form.StartTime&&(e.Form!=null&&e.Form.EndTime)&&((e.Form==null?null:e.Form.StartTime)!==a.startTime||(e.Form==null?null:e.Form.EndTime)!==a.endTime)?56:-1),r(),p("ngIf",P(58,40,a.promotionRequirement$)),r(2),p("ngIf",e.Form.TypeID!=5),r(),p("ngIf",e.Form.TypeID==5),r(6),Re(" ",e.DocumentInfo.Created.Date," / ",e.DocumentInfo.Created.User," "),r(),p("ngIf",e.DocumentInfo.Modified.User)}}var zt=class t{constructor(m,e,a,o,l,v,B){this.http=e;this.role=o;this.toastr=l;this.router=v;this.matDialog=B;let Pe=m.snapshot.queryParams.ID;a.setMenu$();let pt=ni(a.menu$,e.post("/API/Promotion/GetPromotionInfo",{ID:Pe})).pipe(ke(1));this.menu$=pt.pipe(He(([W,Q])=>se(ae({},W),{H:`${Q.Form.Name} Promotion Event`}))),this.info$=pt.pipe(He(([W,Q])=>{let Je=E.IsNotEmpty(Q.Form.Note)?JSON.parse(Q.Form.Note):"";return se(ae({},Q),{Form:se(ae({},Q.Form),{Note:Je})})}),ke(1)),this.promotionPeriod$=this.info$.pipe(He(W=>{let Q=E.IsEmpty(W.Form?.StartTime)?"00:00:00":W.Form?.StartTime,Je=E.IsEmpty(W.Form?.EndTime)?"23:59:59":W.Form?.EndTime,Bi=this.setTimeInDate(new Date(W.Form?.StartDate),Q),Wi=this.setTimeInDate(new Date(W.Form?.ExpirationDate),Je);return{startDateDays:E.differentInDays(Bi,new Date),endDateDays:E.differentInDays(Wi,new Date)}}),ke(1)),this.promotionGift$=this.info$.pipe(ce(W=>W.Form.TypeID==1||W.Form.TypeID==2||W.Form.TypeID==4),be(()=>Qt(this.promotionGiftQuery.valueChanges.pipe(dt(700),ct("")),this.promotionGiftPagination)),be(([W,Q])=>e.post("/API/Promotion/GetInfoPromotionGift",{ID:Pe,PageNumber:Q.pageIndex+1,RowCount:100,Name:W})),ke(1)),this.promotionRequirement$=this.info$.pipe(ce(W=>W.Form.TypeID==2||W.Form.TypeID==5),be(()=>Qt(this.promotionRequirementQuery.valueChanges.pipe(dt(700),ct("")),this.promotionRequirementPagination)),be(([W,Q])=>e.post("/API/Promotion/GetInfoPromotionRequirement",{ID:Pe,PageNumber:Q.pageIndex+1,RowCount:100,Name:W})),ke(1))}info$;promotionGift$;promotionRequirement$;menu$;_onLoad=new ii;promotionGiftQuery=new _t("");promotionGiftPagination=new Ye({pageIndex:0});promotionRequirementQuery=new _t("");promotionRequirementPagination=new Ye({pageIndex:0});startTime="00:00:00";endTime="23:59:59";promotionPeriod$;splitTime(m){let e=m.split(":");return{hour:e[0],minute:e[1],Second:e[2]}}setTimeInDate(m,e){let a=this.splitTime(e);return m.setHours(parseInt(a.hour)),m.setMinutes(parseInt(a.minute)),m.setSeconds(parseInt(a.Second)),m}delete(m){confirm("Are you sure you want to delete this promotion")&&this.http.post("/API/Promotion/DeletePromotionByID",{ID:m}).subscribe(()=>{this.toastr.success("Success delete promotion",F.Success),this.router.navigate(["/menu/Promotion/Main/Event"])})}onEnablePromotion(m,e){this.http.post(we.EnabledPromotion,{ID:e.ID,Enabled:m}).subscribe(()=>{let a=`Promotion ${e.Name} has been ${m?"enabled":"disabled"} successfully.`;this.toastr.success(a,"Succcess")})}onLoad(m){this._onLoad.next(m)}onRequirementPaginationChange(m){this.promotionRequirementPagination.next(m)}onGiftPaginationChange(m){this.promotionGiftPagination.next(m)}openExportModal(m){this.matDialog.open(ge,{data:{title:"Promotion Reward",exportTypes:[{ID:"PromotionExport/ExportPromotionEventDetail",Value:"Default"}],filterExport:{ID:m},getAllDataLengthAPI:"",pagination:!1}})}openExportRequirementModal(m){this.matDialog.open(ge,{data:{title:"Promotion Requirement",exportTypes:[{ID:"PromotionExport/PromotionRequirement",Value:"Default"}],filterExport:{ID:m,Name:this.promotionRequirementQuery.value},getAllDataLengthAPI:"",pagination:!0}})}static \u0275fac=function(e){return new(e||t)(f(_e),f(R),f(ie),f(G),f(A),f(he),f($))};static \u0275cmp=M({type:t,selectors:[["POS-promotion-event-info"]],standalone:!1,decls:2,vars:3,consts:[[3,"pageData","hideSearchDropdown","hideSearchBox",4,"ngIf"],[3,"pageData","hideSearchDropdown","hideSearchBox"],[1,"btn-group"],["class","btn btn-outline-secondary",3,"border-end-0","routerLink","queryParams",4,"ngIf"],["class","btn btn-outline-secondary",3,"click",4,"ngIf"],[1,"container-fluid","mt-5"],[1,"row"],[1,"col-md-8"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"col-sm-12"],[1,"w-100","d-flex","justify-content-between"],[1,"w-100","me-4"],["labelValue","Name",3,"inputValue"],[2,"width","100px"],[1,"form-check-floating"],[1,"d-flex","justify-content-center","py-4"],[4,"ngIf"],[1,"labelFilledInput"],["class","col-sm-12",4,"ngIf"],["labelValue","Type",3,"inputValue"],["class","col-sm-4",4,"ngIf"],["class","col-sm-6",4,"ngIf"],[1,"col-md-4"],[1,"card-body","pt-10"],[1,"col-sm-6"],["labelValue","Start Date",3,"inputValue"],["labelValue","Expiration Date",3,"inputValue"],["class","row",4,"ngIf"],[1,"alert","alert-warning","mt-5"],["aria-hidden","true",1,"fa-regular","fa-file","me-3"],[1,"btn","btn-outline-secondary",3,"routerLink","queryParams"],[1,"fa","fa-pen-to-square","me-3"],[1,"btn","btn-outline-secondary",3,"click"],[1,"fa","fa-trash","me-3"],[1,"mt-3",3,"ngModelChange","ngModel","disabled"],[1,"card","p-5","mb-8"],[1,"header"],[1,"title","fw-bold","mb-4","ms-3"],[1,"content"],[1,"table","table-borderless"],["class","mt-5",4,"ngFor","ngForOf"],[1,"mt-5"],[1,"ps-4","py-1"],[1,"col-sm-4"],["labelValue","Minimum Spending",3,"inputValue"],["labelValue","Minimum Quantity",3,"inputValue"],["labelValue","Requirement Type",3,"inputValue"],["labelValue","Reward Type",3,"inputValue"],["labelValue","Applies in multiple",3,"inputValue"],["labelValue","Discount Rate 1(%)",3,"inputValue"],["labelValue","Discount Rate 2(%)",3,"inputValue"],["labelValue","Tax",3,"inputValue"],[1,"custom-text-warning","fst-italic"],[1,"text-success","fst-italic"],[1,"text-danger","fst-italic"],["labelValue","Start Time",3,"inputValue"],["labelValue","Expiration Time",3,"inputValue"],["class","card",4,"ngIf"],[1,"card-header","d-lg-flex"],[1,"me-auto","mt-2"],[1,"d-flex","align-items-center"],[1,"d-flex",2,"column-gap","10px"],["type","text","class","form-control input","style","width: 250px; font-size: 1rem","placeholder","Search variant...",3,"formControl",4,"ngIf"],["role","button",1,"btn","btn-outline-secondary","btn-sm","d-flex","align-items-center",3,"click"],[1,"fa","fa-upload","ps-3","pe-2"],[1,"row","mt-2"],[1,"ms-2","pt-2"],["type","text","placeholder","Search variant...",1,"form-control","input",2,"width","250px","font-size","1rem",3,"formControl"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[2,"width","20px"],[2,"width","80px"],[1,"text-end"],["class","border-bottom",4,"ngFor","ngForOf"],[1,"border-bottom"],["routerLink","/menu/Products/Catalog/Variants/Info","target","_blank",3,"queryParams"],[3,"length","pageSize","pageIndex","page",4,"ngIf"],[3,"page","length","pageSize","pageIndex"],[2,"cursor","pointer"],["routerLink","/menu/Products/Catalog/Products","target","_blank",3,"queryParams"],[1,"me-auto","mt-5","d-flex","align-items-center"],[1,"ms-2"],["class","text-end",4,"ngIf"],[2,"width","30%"],[1,"col-md-12"],[1,"me-auto","mt-5"],["id","tableGrid",1,"table",2,"border-bottom","0px solid white"]],template:function(e,a){e&1&&(s(0,rl,68,42,"mainpanel-cmp",0),I(1,"async")),e&2&&p("ngIf",P(1,1,a.info$))},dependencies:[X,L,Z,ne,j,q,N,tt,Be,yt,at,Xe,U,$e,wi],styles:["div.form-check-floating[_ngcontent-%COMP%]{border:1px solid #ced4da;position:relative;border-radius:.25rem!important}.labelFilledInput[_ngcontent-%COMP%]{position:absolute;top:-10px;left:10px;background:#fff;padding-left:4px;padding-right:4px;font-size:.75rem!important;color:#9da2a6}.custom-text-warning[_ngcontent-%COMP%]{color:#d6b000}"]})};var ml=[{path:"Main/Pricebook",component:bt},{path:"Main/Pricebook/Info",component:Tt},{path:"Main/Pricebook/Form",component:Ft},{path:"Main/Coupon",component:Rt},{path:"Main/Coupon/Info",component:Ot},{path:"Main/Coupon/Form",component:qt},{path:"Main/Event",component:Nt},{path:"Main/Event/Info",component:zt},{path:"Main/Event/Form",component:Gt},{path:"",redirectTo:"Main/Event",pathMatch:"full"}],Ht=class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=Ct({type:t});static \u0275inj=ft({imports:[Yt.forChild(ml),Yt]})};var Ni=class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=Ct({type:t});static \u0275inj=ft({imports:[vt,Ht,yi,ht,xi,le,Dt,Ci,vi,si,hi,Ii,Xt,Pi,Ti,fi,ci,Xt,Vi,di,_i,Le,at]})};export{Ni as PromotionModule};
|