dealpos 26.11.2 → 26.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/{chunk-FJVUW5YI.js → chunk-22JDQCGF.js} +1 -1
- package/browser/{chunk-MMUHQPRE.js → chunk-27ELYDQV.js} +1 -1
- package/browser/{chunk-YYPRMITE.js → chunk-2BYP5LCS.js} +2 -2
- package/browser/{chunk-BCLFJBJH.js → chunk-2UJBIQYW.js} +1 -1
- package/browser/{chunk-WVMTLWOK.js → chunk-35426264.js} +1 -1
- package/browser/{chunk-7W3BG7BQ.js → chunk-3K4OTTWO.js} +1 -1
- package/browser/{chunk-O2PBDIZT.js → chunk-3WFJVCTW.js} +1 -1
- package/browser/{chunk-INIFCYWR.js → chunk-47JXS4Q7.js} +1 -1
- package/browser/{chunk-FHT32FBA.js → chunk-4EJWE2XZ.js} +1 -1
- package/browser/{chunk-X2DFELGG.js → chunk-56AOYFAG.js} +1 -1
- package/browser/{chunk-XNXGHR7P.js → chunk-6H4S2TTJ.js} +1 -1
- package/browser/{chunk-BTTPQNZI.js → chunk-6HG7NRMV.js} +1 -1
- package/browser/{chunk-I7D4YJFN.js → chunk-7BA5SDE5.js} +1 -1
- package/browser/{chunk-OX5252EU.js → chunk-7DJQ54JF.js} +2 -2
- package/browser/{chunk-QGESY66Q.js → chunk-7GVGQTWD.js} +1 -1
- package/browser/{chunk-SCNM5JHU.js → chunk-7V6KMZNH.js} +1 -1
- package/browser/{chunk-NCYT6VHW.js → chunk-A4DF7K7I.js} +1 -1
- package/browser/{chunk-T4UC7AP2.js → chunk-AAIOVDCC.js} +1 -1
- package/browser/{chunk-HUIFULZI.js → chunk-B7OUUUW3.js} +1 -1
- package/browser/{chunk-ZV4H6TTC.js → chunk-BEQ5EBSG.js} +1 -1
- package/browser/{chunk-GK27KVC6.js → chunk-BQYHRA5F.js} +1 -1
- package/browser/{chunk-WSLI3BRO.js → chunk-C52GTPRR.js} +1 -1
- package/browser/{chunk-BJ7PMMCX.js → chunk-CJONRBTM.js} +1 -1
- package/browser/{chunk-THWO44HD.js → chunk-D4Y655AQ.js} +1 -1
- package/browser/{chunk-PWFQBEHR.js → chunk-DC2SB47Z.js} +1 -1
- package/browser/{chunk-R2ARYKFC.js → chunk-DRGNNNMN.js} +1 -1
- package/browser/{chunk-Z7M7TS3W.js → chunk-E5L35QWX.js} +1 -1
- package/browser/{chunk-XMGS62L2.js → chunk-ED326YSQ.js} +2 -2
- package/browser/{chunk-IUKLU5VV.js → chunk-EPELOQOX.js} +1 -1
- package/browser/{chunk-JEIFO3EM.js → chunk-F3MPPDC2.js} +1 -1
- package/browser/{chunk-BILYITXV.js → chunk-FB3YKF4D.js} +1 -1
- package/browser/{chunk-YEK3Y4KR.js → chunk-FHS4PECQ.js} +1 -1
- package/browser/{chunk-AFR6CX53.js → chunk-GGRTUHIU.js} +1 -1
- package/browser/{chunk-HBVA6ALZ.js → chunk-HEQHFBSH.js} +1 -1
- package/browser/{chunk-PUMFGZ22.js → chunk-HGCJMUTE.js} +1 -1
- package/browser/{chunk-TUJOSOTS.js → chunk-HGMX7CRM.js} +1 -1
- package/browser/{chunk-O7VAETOC.js → chunk-HWLVLM2E.js} +1 -1
- package/browser/{chunk-TLNY5KZS.js → chunk-J5GI7N7A.js} +1 -1
- package/browser/{chunk-PHFHHI42.js → chunk-JILU6XDD.js} +1 -1
- package/browser/{chunk-U5OVHDM5.js → chunk-JJJM4Q4G.js} +1 -1
- package/browser/{chunk-K4DVE5SB.js → chunk-JUMO27SJ.js} +1 -1
- package/browser/{chunk-JUTDOWQO.js → chunk-JUZOJMOO.js} +1 -1
- package/browser/{chunk-GBEH2GQK.js → chunk-JYBPQVWZ.js} +1 -1
- package/browser/{chunk-6FJ6CQE4.js → chunk-KCLXHEKH.js} +1 -1
- package/browser/{chunk-KWZBBV7Y.js → chunk-KDQ3VFHY.js} +1 -1
- package/browser/{chunk-NVX5QZRA.js → chunk-L2SYLQTQ.js} +1 -1
- package/browser/{chunk-JTUBT2YM.js → chunk-LOM2WPEC.js} +1 -1
- package/browser/{chunk-TED37PBA.js → chunk-M3XBUED2.js} +2 -2
- package/browser/{chunk-QCUFONJE.js → chunk-ME3ZFJ6M.js} +1 -1
- package/browser/{chunk-6GGMMNQL.js → chunk-MEXLC7S6.js} +1 -1
- package/browser/{chunk-UJ4GTRVM.js → chunk-MFM5S2ET.js} +1 -1
- package/browser/{chunk-QXCLLLQJ.js → chunk-NOS4BV5M.js} +1 -1
- package/browser/{chunk-MTKFEHRK.js → chunk-O32MBAP7.js} +1 -1
- package/browser/{chunk-IXKO7QUE.js → chunk-OMVGMLDX.js} +1 -1
- package/browser/{chunk-O47TQJRE.js → chunk-OR3WIH25.js} +1 -1
- package/browser/{chunk-TFO562ER.js → chunk-PDVLZHGX.js} +1 -1
- package/browser/{chunk-P3R2XMOS.js → chunk-PIF44CR4.js} +1 -1
- package/browser/{chunk-BEJAFSX7.js → chunk-Q4EG33UJ.js} +1 -1
- package/browser/{chunk-77PA3T3O.js → chunk-QJT45LXG.js} +1 -1
- package/browser/{chunk-CJ2DUUTR.js → chunk-QL5FYPR7.js} +1 -1
- package/browser/{chunk-ZNGQLUB3.js → chunk-QM72GUF7.js} +1 -1
- package/browser/{chunk-3DXZUM62.js → chunk-QOKM43VP.js} +1 -1
- package/browser/{chunk-YNK3TXZF.js → chunk-QTXBC5PW.js} +1 -1
- package/browser/{chunk-D24ZBSQ4.js → chunk-QYRMZOWP.js} +1 -1
- package/browser/{chunk-45PXE4R7.js → chunk-RHBU5LDO.js} +1 -1
- package/browser/{chunk-4B7ERXAV.js → chunk-RLL244I7.js} +1 -1
- package/browser/{chunk-AJEIT7WI.js → chunk-S66EANWD.js} +1 -1
- package/browser/{chunk-GERGVPOW.js → chunk-SXVBUHUQ.js} +1 -1
- package/browser/{chunk-D3SJSCZU.js → chunk-TKZEZEKK.js} +1 -1
- package/browser/{chunk-A7MLI65Y.js → chunk-TMI4KTXC.js} +2 -2
- package/browser/{chunk-65VDHDYD.js → chunk-UEBPYELM.js} +1 -1
- package/browser/{chunk-5CJ4XLUW.js → chunk-UU6J5PRA.js} +1 -1
- package/browser/{chunk-RJFGWOWN.js → chunk-VO75CPQQ.js} +1 -1
- package/browser/{chunk-DCYESA4K.js → chunk-VPDBJZJO.js} +1 -1
- package/browser/{chunk-RGN3LIOK.js → chunk-WO2RIWX6.js} +2 -2
- package/browser/{chunk-PEMIAQVF.js → chunk-WW7VRRZL.js} +1 -1
- package/browser/{chunk-7IS52AUX.js → chunk-WYXUWRLX.js} +1 -1
- package/browser/{chunk-DTK256PX.js → chunk-X7HOKKWG.js} +1 -1
- package/browser/{chunk-B5VLRPER.js → chunk-YCCIPLEG.js} +1 -1
- package/browser/{chunk-ZYCRCR23.js → chunk-YHESL5TW.js} +1 -1
- package/browser/{chunk-QYFDIL7D.js → chunk-YHTF7ODM.js} +2 -2
- package/browser/{chunk-E5NTTLYO.js → chunk-YIGWB7OZ.js} +1 -1
- package/browser/{chunk-72UIWWLR.js → chunk-YKRBHX7N.js} +1 -1
- package/browser/{chunk-H473VFCZ.js → chunk-YWRFA6AO.js} +1 -1
- package/browser/{chunk-K4ZEAE42.js → chunk-ZGR5YDF3.js} +1 -1
- package/browser/{chunk-3RJZORPX.js → chunk-ZZ3VMSPF.js} +1 -1
- package/browser/{chunk-SU3KG3X2.js → chunk-ZZZXAGCG.js} +1 -1
- package/browser/index.html +2 -2
- package/browser/{main-FEOIQB67.js → main-UPTI2OQ5.js} +2 -2
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as Ti}from"./chunk-NVRMZQQR.js";import{a as dt}from"./chunk-FC5H27QV.js";import{a as Ei,b as Ii}from"./chunk-L5SMMPRJ.js";import{a as bi}from"./chunk-FFHUKBEA.js";import{a as Ve}from"./chunk-OM5ISZ62.js";import{a as je}from"./chunk-RRNDKXH4.js";import{a as Xt}from"./chunk-RM6PV7SW.js";import{a as at,b as si}from"./chunk-37PZPWZY.js";import"./chunk-TTZUIFLN.js";import{a as bt}from"./chunk-ZM64NIQG.js";import{a as Di,b as Pi}from"./chunk-ZOBPTHDY.js";import{a as Ue}from"./chunk-P3KIIKY4.js";import{b as We}from"./chunk-JCFGTTRU.js";import{a as yi,b as Si}from"./chunk-UOCGL3EW.js";import"./chunk-DIAV4K3S.js";import"./chunk-2JPZMGCJ.js";import"./chunk-5GHN24QS.js";import"./chunk-JEJGTRFJ.js";import{d as Me}from"./chunk-6C7NKVRP.js";import"./chunk-6TWTQLKB.js";import"./chunk-SASYAFMF.js";import"./chunk-QP7B4347.js";import"./chunk-STYLBZL4.js";import"./chunk-XLS7AM5H.js";import"./chunk-U7XVI26F.js";import{d as lt}from"./chunk-ALUJK3AI.js";import"./chunk-B3U3BHLU.js";import{a as mt,b as Yt}from"./chunk-ZIWP67C5.js";import{a as hi}from"./chunk-P3R2XMOS.js";import"./chunk-TFO562ER.js";import{b as ue}from"./chunk-FZGFUOJQ.js";import{a as Ne}from"./chunk-BILYITXV.js";import"./chunk-YEK3Y4KR.js";import"./chunk-UJPQDPFC.js";import"./chunk-RHZ4SE3E.js";import{a as ye}from"./chunk-E6MKUJD5.js";import{f as ee,g as vi}from"./chunk-3RJZORPX.js";import"./chunk-Z3I6U6KT.js";import"./chunk-SU3KG3X2.js";import"./chunk-LSV7QXYU.js";import"./chunk-3GIDLGOV.js";import"./chunk-JJFV542H.js";import"./chunk-QGI3QC76.js";import{a as Dt,b as Pt,c as ui}from"./chunk-HB5JT7XV.js";import"./chunk-JBO3R4W5.js";import"./chunk-35ECO23I.js";import"./chunk-G2UNSH3R.js";import"./chunk-SFKCZ7DL.js";import"./chunk-PPNXP25T.js";import"./chunk-MHPH7T32.js";import"./chunk-UNAPWUZC.js";import{a as se}from"./chunk-VIKIXIX5.js";import{c as _i,e as Ci,g as fi}from"./chunk-IFLLAVLK.js";import"./chunk-6FJ6CQE4.js";import"./chunk-A3HVDWQA.js";import{a as Z}from"./chunk-AJEIT7WI.js";import"./chunk-3GZUX2TV.js";import"./chunk-LWCDPG6P.js";import"./chunk-3TFWTYY2.js";import"./chunk-IOBYB6AV.js";import{e as we,f as xi}from"./chunk-PQRU7ZVS.js";import"./chunk-52KMSRYQ.js";import"./chunk-STIMAG44.js";import"./chunk-EKGQU5OA.js";import{a as Ie,b as ci}from"./chunk-JFS6EFNT.js";import"./chunk-YNQPX5G6.js";import{G as Oe,N as gi,O as Te}from"./chunk-H7AXZU5M.js";import"./chunk-QU45SEX2.js";import"./chunk-QYSFCWV7.js";import{a as rt,d as re}from"./chunk-ZRBKLF75.js";import"./chunk-VBXYBASD.js";import{a as z,b as ce,c as X}from"./chunk-CPHICIOL.js";import"./chunk-GCPQTFRO.js";import"./chunk-NFVNHSX5.js";import"./chunk-Z6KYVNJQ.js";import"./chunk-4NWLXS6M.js";import"./chunk-OEFF3O4P.js";import"./chunk-ZLJTB3SO.js";import"./chunk-OG6UIE5Q.js";import"./chunk-LYYPWLC4.js";import{a as A,b as Y,c as G}from"./chunk-N4STXFCX.js";import"./chunk-4CLMG36L.js";import{B as di,E as St,F as pi,b as he,c as J,h as q,l as $e,o as N,s as nt,z as ot}from"./chunk-DHBFOXIN.js";import"./chunk-GK27KVC6.js";import"./chunk-O47TQJRE.js";import"./chunk-VFWU5XQ6.js";import{b as j}from"./chunk-WXT6UMYF.js";import{a as T}from"./chunk-3DEA4WWC.js";import{a as Le}from"./chunk-K4ZEAE42.js";import{n as B,q as L}from"./chunk-2WBWJI4D.js";import{A as oi,Bb as c,Cc as R,Db as s,Dc as M,Eb as li,Ec as $t,F as me,Fa as Se,Fb as k,Gb as V,Hb as F,Ib as u,Jb as n,Jd as mi,Kb as o,Kc as b,Lb as x,Lc as E,Mc as ae,N as Qe,Qc as Ee,R as ai,Rd as pe,Sa as ri,Td as ve,Ub as f,Ud as $,Wd as Jt,Xb as h,Z as Be,Za as r,Zb as p,aa as Ke,ba as Pe,d as ni,e as Ze,eb as g,ga as gt,hc as ge,ib as w,ic as xe,jb as vt,jc as be,kc as Kt,lc as K,mc as d,md as ht,nb as ne,nc as I,oa as xt,ob as oe,oc as P,pc as qe,ra as Ct,rc as y,sc as S,sd as et,tc as D,td as tt,u as ke,ud as it,v as Qt,va as _,wa as C,wd as U,yc as Re,zd as yt}from"./chunk-2ERDZXCS.js";import"./chunk-WFMAM73Y.js";import{a as ie,b as de}from"./chunk-SNAKHGZS.js";var qi=()=>["/menu/Promotion/Main/Pricebook/Form"],Ni=()=>["/menu/Promotion/Main/Pricebook/Info"],Oi=t=>({ID:t});function Wi(t,m){if(t&1){let e=f();n(0,"button",18),h("click",function(){_(e);let i=p(2);return C(i.openExportModal())}),x(1,"i",19),d(2," Export "),o()}}function Ui(t,m){if(t&1){let e=f();n(0,"a",20),h("click",function(){_(e);let i=p(2);return C(i.httpPostListID("ProductSetup/RemovePricebooks"))}),x(1,"i",21),d(2,"Delete "),o()}}function ji(t,m){t&1&&(n(0,"a",6),d(1,"Add"),o()),t&2&&u("routerLink",R(1,qi))}function Gi(t,m){if(t&1){let e=f();n(0,"th",11)(1,"input",22),h("change",function(i){_(e);let l=p(2);return C(l.onSelectAllData(i.target.checked))}),o()()}}function zi(t,m){if(t&1){let e=f();n(0,"td")(1,"input",27),D("ngModelChange",function(i){_(e);let l=p().$implicit;return S(l.selected,i)||(l.selected=i),C(i)}),o()()}if(t&2){let e=p().$implicit;r(),y("ngModel",e.selected)}}function Hi(t,m){if(t&1&&(n(0,"li"),d(1),o()),t&2){let e=p().$implicit;r(),I(e)}}function Qi(t,m){if(t&1&&(n(0,"ul",26),c(1,Hi,2,1,"li"),o()),t&2){let e=m.$implicit;r(),s(e!=null?1:-1)}}function Ki(t,m){t&1&&d(0," - ")}function $i(t,m){if(t&1&&(d(0),b(1,"date")),t&2){let e=p().$implicit;P(" ",ae(1,1,e.StartDate,"dd MMM yyyy")," ")}}function Ji(t,m){t&1&&d(0," - ")}function Yi(t,m){if(t&1&&(d(0),b(1,"date")),t&2){let e=p().$implicit;P(" ",ae(1,1,e.ExpirationDate,"dd MMM yyyy")," ")}}function Xi(t,m){if(t&1&&(n(0,"tr",23),c(1,zi,2,1,"td"),n(2,"td")(3,"a",24),d(4),o()(),n(5,"td",25),d(6),o(),n(7,"td"),V(8,Qi,2,1,"ul",26,k),o(),n(10,"td"),c(11,Ki,1,0)(12,$i,2,4),o(),n(13,"td"),c(14,Ji,1,0)(15,Yi,2,4),o(),n(16,"td"),d(17),o()()),t&2){let e=m.$implicit,a=p(2);K(e.expiredClass),u("cdkDragDisabled",!a.dragDrop.enabledDragItem),r(),s(a.roleService.promotion.Delete?1:-1),r(2),u("routerLink",R(11,Ni))("queryParams",M(12,Oi,e.ID)),r(),I(e.Name),r(2),I(e.MinimumQuantity),r(2),F(e.Outlets),r(3),s(e.StartDate==a.minDate?11:12),r(3),s(e.ExpirationDate==a.minDate?14:15),r(3),I(e.Description)}}function Zi(t,m){if(t&1){let e=f();n(0,"mainpanel-cmp",1),D("textChange",function(i){_(e);let l=p();return S(l.pageData.Filter.Name,i)||(l.pageData.Filter.Name=i),C(i)}),h("onSubmit",function(){_(e);let i=p();return C(i.searchFromPageOne())}),n(1,"actions"),c(2,Wi,3,0,"button",2),n(3,"button",3),h("click",function(){_(e);let i=p();return C(i.onPutSaveDragAndDrop("ProductSetup/SortPricebook"))}),x(4,"i",4),d(5),o(),c(6,Ui,3,0,"a",5),c(7,ji,2,2,"a",6),o(),n(8,"content")(9,"div",7)(10,"div",8)(11,"table",9)(12,"thead",10)(13,"tr"),c(14,Gi,2,0,"th",11),n(15,"th",12),d(16,"Name"),o(),n(17,"th",13),d(18," Min Qty "),o(),n(19,"th",12),d(20,"Outlet"),o(),n(21,"th",14),d(22,"Start"),o(),n(23,"th",14),d(24,"Expiration"),o(),n(25,"th"),d(26,"Description"),o()()(),n(27,"tbody",15),h("cdkDropListDropped",function(i){_(e);let l=p();return C(l.dragDrop.drop(i,l.data))}),V(28,Xi,18,14,"tr",16,k),o()()(),n(30,"POS-complex-pagination",17),h("jumpToPage",function(){_(e);let i=p();return C(i.getListData())})("previousPage",function(){_(e);let i=p();return C(i.getListData())})("nextPage",function(){_(e);let i=p();return C(i.getListData())}),o()()()()}if(t&2){let e=p();u("pageData",e.menuData)("hideSearchDropdown",!0),y("text",e.pageData.Filter.Name),r(2),s(e.roleService.global.Export?2:-1),r(3),P("",e.dragDrop.enabledDragItem?"Save Changes":"Sort"," "),r(),s(e.getSelectedData().length>0?6:-1),r(),s(e.roleService.promotion.Create?7:-1),r(7),s(e.roleService.promotion.Delete?14:-1),r(14),F(e.data.Data),r(2),u("total",e.data.Data.length)("pageData",e.pageData)}}var Et=class t extends Ne{constructor(e,a,i,l,v,O){super(e,a,"Promotion/GetPricebookList",null,i);this.roleService=l;this.matDialog=v;this.csvConverter=O}minDate=T.MinDate;postInit(e){e.Data=e?.Data?.map(a=>(a.expiredClass=this.setExpirationStatus(a),a))}openExportModal(){this.matDialog.open(ue,{data:{title:"Pricebook",exportTypes:[{ID:"PromotionExport/GetPricebookList",Value:"Default",FileName:"Pricebook"}],filterExport:this.pageData.Filter,getAllDataLengthAPI:"",pagination:!0}})}setExpirationStatus(e){let a=this.getTodayDate(),i,l=e.ExpirationDate==T.MinDate?null:new Date(e.ExpirationDate);if(l){let v=a.getTime(),O=l.getTime();v==O?i="bg-gradient-warning":v>O&&(i="bg-gradient-danger")}return i}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)(g(Z),g(L),g(B),g(j),g(X),g(ye))};static \u0275cmp=w({type:t,selectors:[["POS-pricebook"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[[3,"pageData","hideSearchDropdown","text"],[3,"textChange","onSubmit","pageData","hideSearchDropdown","text"],[1,"btn","btn-outline-secondary"],["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"],[1,"btn","btn-outline-secondary","ms-3"],[1,"button","btn","btn-success","ms-3",3,"routerLink"],[1,"container-fluid","mt-5"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[2,"width","14px"],[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"],["cdkDrag","",1,"border-bottom",3,"class","cdkDragDisabled"],["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"],["type","checkbox",3,"change"],["cdkDrag","",1,"border-bottom",3,"cdkDragDisabled"],[3,"routerLink","queryParams"],[1,"text-end"],[1,"mb-0"],["type","checkbox",3,"ngModelChange","ngModel"]],template:function(a,i){a&1&&c(0,Zi,31,10,"mainpanel-cmp",0),a&2&&s(i.data?0:-1)},dependencies:[$,ee,he,q,N,mt,Ci,_i,Ie,it],encapsulation:2})};var en=()=>["/menu/Promotion/Main/Pricebook/Form"],Vi=t=>({ID:t});function tn(t,m){if(t&1&&(n(0,"a",2),x(1,"i",26),d(2,"Edit"),o()),t&2){let e=p(2);u("routerLink",R(2,en))("queryParams",M(3,Vi,e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.ID))}}function nn(t,m){if(t&1){let e=f();n(0,"a",27),h("click",function(){_(e);let i=p(2);return C(i.delete(i.data==null||i.data.Data==null||i.data.Data.Info==null?null:i.data.Data.Info.ID))}),x(1,"i",28),d(2,"Delete "),o()}}function on(t,m){if(t&1&&(n(0,"div",14),x(1,"lib-info-page-input",29),b(2,"IsMinDate"),o()),t&2){let e=p(2);r(),u("inputValue",ae(2,1,e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.StartDate,"dd MMM yyyy"))}}function an(t,m){if(t&1&&(n(0,"div",14),x(1,"lib-info-page-input",30),b(2,"IsMinDate"),o()),t&2){let e=p(2);r(),u("inputValue",ae(2,1,e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.ExpirationDate,"dd MMM yyyy"))}}function rn(t,m){if(t&1&&(n(0,"tr",36)(1,"td",37),d(2),o()()),t&2){let e=m.$implicit;r(2),P(" ",e==null?null:e.Name," ")}}function ln(t,m){if(t&1&&(n(0,"div",34)(1,"table",35)(2,"tbody"),V(3,rn,3,1,"tr",36,k),o()()()),t&2){let e=p(3);r(3),F(e.data==null||e.data.Data==null?null:e.data.Data.Entities)}}function mn(t,m){if(t&1){let e=f();n(0,"div",10)(1,"div",31)(2,"div",32),h("click",function(){_(e);let i=p(2);return C(i.toggleName=!i.toggleName)}),n(3,"h4",33),d(4,"Outlet"),o()(),c(5,ln,5,0,"div",34),o()()}if(t&2){let e=p(2);r(5),s(e.toggleName?-1:5)}}function dn(t,m){t&1&&(n(0,"span"),d(1),o()),t&2&&(r(),P("(",m.ListTotal," Items)"))}function pn(t,m){if(t&1){let e=f();n(0,"div",1)(1,"button",38),h("click",function(){_(e);let i=p(2);return C(i.openExportModal())}),x(2,"i",39),d(3,"Export "),o()()}}function cn(t,m){if(t&1&&(n(0,"tr",40)(1,"td")(2,"a",41),d(3),o()(),n(4,"td"),d(5),o(),n(6,"td",25),d(7),b(8,"number"),o(),n(9,"td",25),d(10),b(11,"number"),o(),n(12,"td",25),d(13),b(14,"number"),o()()),t&2){let e=m.$implicit;r(2),u("queryParams",M(12,Vi,e.VariantID)),r(),I(e.VariantName),r(2),I(e.VariantCode),r(2),P(" ",E(8,6,e.OriginalPrice)," "),r(3),P(" ",E(11,8,e.UnitPrice)," "),r(3),P(" ",E(14,10,e.PriceDiscount)," ")}}function sn(t,m){t&1&&V(0,cn,15,14,"tr",40,k),t&2&&F(m.Data)}function un(t,m){if(t&1){let e=f();n(0,"mat-paginator",43),h("page",function(i){_(e);let l=p(3);return C(l.onRequirementPaginationChange(i))}),o()}if(t&2){let e=m,a=p();u("length",e.ListTotal)("pageSize",e.Data.length)("pageIndex",a.pageIndex)}}function _n(t,m){if(t&1&&(c(0,un,1,3,"mat-paginator",42),b(1,"async")),t&2){let e,a=p(2);s((e=E(1,1,a.promotionRequirement$))?0:-1,e)}}function Cn(t,m){if(t&1&&(n(0,"mainpanel-cmp",0)(1,"actions")(2,"div",1),c(3,tn,3,5,"a",2),c(4,nn,3,0,"a",3),o()(),n(5,"content")(6,"div",4)(7,"div",5)(8,"div",6)(9,"div",7)(10,"div",8)(11,"h3"),d(12,"General"),o()(),n(13,"div",9)(14,"div",5)(15,"div",10)(16,"div",11),x(17,"lib-info-page-input",12),o()(),n(18,"div",10)(19,"div",11),x(20,"lib-info-page-input",13),o()()()()()(),n(21,"div",6)(22,"div",7)(23,"div",8)(24,"h3"),d(25,"Configuration"),o()(),n(26,"div",9)(27,"div",5),c(28,on,3,4,"div",14),c(29,an,3,4,"div",14),n(30,"div",10)(31,"div",11),x(32,"lib-info-page-input",15),o()(),c(33,mn,6,1,"div",10),o()()()(),n(34,"div",10)(35,"div",7)(36,"div",16)(37,"div",17)(38,"div",18)(39,"h3"),d(40,"Product"),o(),c(41,dn,2,1,"span"),b(42,"async"),o()(),n(43,"div",19),x(44,"input",20),c(45,pn,4,0,"div",1),o()(),n(46,"div",9)(47,"div",5)(48,"div",21)(49,"table",22)(50,"thead",23)(51,"tr")(52,"th"),d(53,"Name"),o(),n(54,"th",24),d(55,"Code"),o(),n(56,"th",25),d(57,"Original Price"),o(),n(58,"th",25),d(59,"Pricebook Price"),o(),n(60,"th",25),d(61,"Price Disc.(%)"),o()()(),n(62,"tbody"),c(63,sn,2,0),b(64,"async"),o()()()(),n(65,"div"),c(66,_n,2,3),b(67,"async"),o()()()()()()()()),t&2){let e,a,i,l=p();u("pageData",l.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(3),s(l.roleService.promotion.Edit?3:-1),r(),s(l.roleService.promotion.Delete?4:-1),r(13),u("inputValue",l.data==null||l.data.Data==null||l.data.Data.Info==null?null:l.data.Data.Info.Name),r(3),u("inputValue",l.data==null||l.data.Data==null||l.data.Data.Info==null?null:l.data.Data.Info.Description),r(8),s((l.data==null||l.data.Data==null||l.data.Data.Info==null?null:l.data.Data.Info.StartDate)!=l.minDate?28:-1),r(),s((l.data==null||l.data.Data==null||l.data.Data.Info==null?null:l.data.Data.Info.ExpirationDate)!=l.minDate?29:-1),r(3),u("inputValue",l.data==null||l.data.Data==null||l.data.Data.Info==null?null:l.data.Data.Info.MinimumQuantity),r(),s(!(l.data==null||l.data.Data==null||l.data.Data.Entities==null)&&l.data.Data.Entities.length?33:-1),r(8),s((e=E(42,16,l.promotionRequirement$))?41:-1,e),r(3),u("formControl",l.promotionRequirementQuery),r(),s(l.roleService.global.Export?45:-1),r(18),s((a=E(64,18,l.promotionRequirement$))?63:-1,a),r(3),s((i=E(67,20,l.promotionRequirementPagination))?66:-1,i)}}var Tt=class t extends je{constructor(e,a,i,l,v,O,De,_t){super(e,a,"Promotion/PricebooksInfo",i);this.router=l;this.csvConverter=v;this.roleService=O;this.matDialog=De;this.toastr=_t;let W=i.snapshot.queryParams.ID;this.promotionRequirement$=this.promotionRequirementQuery.valueChanges.pipe(Qe(700),Ke("")).pipe(gt(()=>this.promotionRequirementPagination.next({pageIndex:0})),ke(Q=>({query:Q,pagination:0})),Pe(({query:Q,pagination:Xe})=>this.onPageChange.asObservable().pipe(ke(()=>({query:Q,pagination:this.promotionRequirementPagination.value})))),Pe(({query:Q,pagination:Xe})=>a.post("/API/Promotion/PriceBookList",{ID:W,PageNumber:Xe.pageIndex+1,RowCount:20,Text:Q})),Be(1))}minDate=T.MinDate;toggleName=!1;promotionRequirementQuery=new $e("");promotionRequirementPagination=new Ze({pageIndex:0});promotionRequirement$;onPageChange=new Ze(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",A.Success),this.router.navigate(["/menu/Promotion/Main/Pricebook"])})}}onRequirementPaginationChange(e){this.promotionRequirementPagination.next(e),this.onPageChange.next()}openExportModal(){this.matDialog.open(ue,{data:{title:"Pricebook",exportTypes:[{ID:"PromotionExport/ExportPriceBook",Value:"Default"}],filterExport:de(ie({},this.data.Filter),{ID:this.route.snapshot.queryParamMap.get("ID")||""}),getAllDataLengthAPI:"",pagination:!1}})}static \u0275fac=function(a){return new(a||t)(g(Z),g(L),g(pe),g(ve),g(ye),g(j),g(X),g(B))};static \u0275cmp=w({type:t,selectors:[["POS-pricebook-info"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[[3,"pageData","hideSearchBox","hideSearchDropdown"],[1,"btn-group"],[1,"button","btn","btn-outline-secondary","border-end-0",3,"routerLink","queryParams"],[1,"btn","btn-outline-secondary"],[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"],[1,"form-floating-outline","col-sm-6"],["labelValue","Minimum Quantity",3,"inputValue"],[1,"card-header","d-flex"],[1,"me-auto","mt-5"],[1,"d-flex","gap-2","align-items-baseline"],[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"],[1,"col-sm-12"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[2,"width","45px"],[1,"text-end"],[1,"fa-solid","fa-pen-to-square","me-3"],[1,"btn","btn-outline-secondary",3,"click"],[1,"fa-solid","fa-trash","me-3"],["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"],[1,"content"],[1,"table","table-borderless"],[1,"mt-5"],[1,"ps-4","py-1"],[1,"btn","btn-outline-secondary","btn-sm",3,"click"],[1,"fa","fa-upload","me-3"],[1,"border-bottom"],["routerLink","/menu/Products/Catalog/Variants/Info","target","_blank",3,"queryParams"],[3,"length","pageSize","pageIndex"],[3,"page","length","pageSize","pageIndex"]],template:function(a,i){a&1&&c(0,Cn,68,22,"mainpanel-cmp",0),a&2&&s(i.data?0:-1)},dependencies:[$,ee,J,q,at,Ve,nt,et,U,Oe],styles:["input[_ngcontent-%COMP%]{background-color:#fff!important}"]})};var wt=class t{constructor(m,e,a,i){this.httpService=m;this.data=e;this.dialogRef=a;this.toastr=i;this.config=new Y,this.products=this.data.products,this.item=Object.assign({},this.data.item),this.index=this.data.index,T.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(Te.GetVariantOnSelectedIDByID,[{key:"ID",value:m}]).subscribe(e=>{this.products.findIndex(i=>m===i.VariantID)!=-1?(this.isAlreadyRegistered=!0,this.toastr.error(`${e.Name} already registered`,A.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(){T.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)(g(L),g(ce),g(z),g(B))};static \u0275cmp=w({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&&(n(0,"modal-material",0),h("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),n(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"autocompleteV2",5),h("onSelect",function(l){return a.changeVariant(l)})("keyup.enter",function(l){return l.stopPropagation()}),o()()()(),n(7,"div",2)(8,"div",3)(9,"div",4),x(10,"input",6),n(11,"label",7),d(12,"Variant Code"),o()()()(),n(13,"div",2)(14,"div",8)(15,"div",4),x(16,"input",9),b(17,"number"),n(18,"label",10),d(19,"Original Price"),o()()(),n(20,"div",11)(21,"div",4)(22,"input",12),D("ngModelChange",function(l){return S(a.item.UnitPrice,l)||(a.item.UnitPrice=l),l}),o(),n(23,"label",13),d(24,"Pricebook Price"),o()()(),n(25,"div",14)(26,"div",4)(27,"input",15),D("ngModelChange",function(l){return S(a.item.PriceDiscount,l)||(a.item.PriceDiscount=l),l}),o(),n(28,"label",16),d(29,"Disc %"),o()()()()()()()),e&2&&(u("config",a.config),r(6),u("renderThumbnail",!0)("inputTextValue",a.item.VariantName),r(4),u("value",a.item.VariantCode),r(6),u("value",E(17,8,a.item.OriginalPrice)),r(6),y("ngModel",a.item.UnitPrice),r(5),y("ngModel",a.item.PriceDiscount),u("max",100))},dependencies:[J,q,N,G,se,we,U],styles:["autocompletev2[_ngcontent-%COMP%] input{font-size:16px!important;height:58px}"]})};function fn(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.assignFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleImportFileUrl)("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function gn(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.assignFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleImportFileUrl)("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function xn(t,m){if(t&1&&(c(0,fn,1,2,"POS-uppy",2),c(1,gn,1,2,"POS-uppy",2)),t&2){let e=p();s(e.uploadState()===e.uploadStateEnum.Idle||e.uploadState()===e.uploadStateEnum.Uploading?0:-1),r(),s(e.uploadState()===e.uploadStateEnum.Success||e.uploadState()===e.uploadStateEnum.Error?1:-1)}}var Vt=class t{constructor(m,e){this.dialogRef=m;this.config=e.config}httpService=Ct(L);fileInput;sampleImportFileUrl=Le.files.csv.pricebook_import;config;uploadState=Se(0);uploadStateEnum=Ue;fil;matDialogRef=Ct(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)(g(z),g(ce))};static \u0275cmp=w({type:t,selectors:[["POS-modal-import-price-book"]],standalone:!1,decls:3,vars:1,consts:[["modalContent",""],[3,"onOk","onCancel","onClose","config"],[3,"sampleUrl","subtitle"],[3,"fileUploaded","sampleUrl","subtitle"]],template:function(e,a){e&1&&(n(0,"modal-material",1),h("onOk",function(){return a.onOk()})("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()}),oe(1,xn,2,2,"ng-template",null,0,Ee),o()),e&2&&u("config",a.config)},dependencies:[G,We],encapsulation:2})};var vn=()=>["/menu/Promotion/Main/Pricebook"],hn=t=>({selected:t});function yn(t,m){t&1&&(n(0,"small",15),d(1,"Name is required."),o())}function Sn(t,m){if(t&1&&(x(0,"input",40),d(1),b(2,"uppercase")),t&2){let e=m.item,a=m.item$,i=m.index;u("id",Re("item-",i))("ngModel",a.selected),r(),P(" ",E(2,4,e.selectAll)," ")}}function Dn(t,m){if(t&1&&(x(0,"input",40),d(1)),t&2){let e=m.item,a=m.item$,i=m.index;u("id",Re("item-",i))("ngModel",a.selected),r(),P(" ",e.Name," ")}}function Pn(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p(2);r(),P("(",e.data.List.length," Items)")}}function bn(t,m){if(t&1){let e=f();n(0,"div",33)(1,"a",32),h("click",function(){_(e);let i=p(2);return C(i.openVariantDialog())}),x(2,"span",41),d(3," Add a Variant "),o()()}}function En(t,m){t&1&&x(0,"th",36)}function In(t,m){if(t&1){let e=f();n(0,"td")(1,"i",44),h("click",function(){_(e);let i=p().$index,l=p(2);return C(l.data.List.splice(i,1))}),o()()}}function Tn(t,m){if(t&1){let e=f();n(0,"a",45),h("click",function(){_(e);let i=p(),l=i.$implicit,v=i.$index,O=p(2);return C(O.openVariantDialog(l,v))}),d(1),o()}if(t&2){let e=p().$implicit;r(),P(" ",e.VariantName," ")}}function wn(t,m){if(t&1&&d(0),t&2){let e=p().$implicit;P(" ",e.VariantName," ")}}function Mn(t,m){if(t&1&&(n(0,"tr",39),c(1,In,2,0,"td"),n(2,"td",42),c(3,Tn,2,1,"a",43)(4,wn,1,1),o(),n(5,"td"),d(6),o(),n(7,"td",38),d(8),b(9,"number"),o(),n(10,"td",38),d(11),b(12,"number"),o(),n(13,"td",38),d(14),b(15,"number"),o()()),t&2){let e=m.$implicit,a=p(2);r(),s(a.roleService.promotion.Create||a.roleService.promotion.Edit?1:-1),r(2),s(a.roleService.promotion.Create||a.roleService.promotion.Edit?3:4),r(3),I(e.VariantCode),r(2),I(E(9,6,e.OriginalPrice)),r(3),I(E(12,8,e.UnitPrice)),r(3),I(E(15,10,e.PriceDiscount))}}function Vn(t,m){if(t&1){let e=f();n(0,"mainpanel-cmp",2)(1,"actions")(2,"a",3),d(3,"Cancel"),o(),n(4,"a",4),h("click",function(){_(e);let i=p();return C(i.validate())}),d(5,"Save"),o()(),n(6,"content")(7,"div",5)(8,"div",6)(9,"div",7)(10,"div",8)(11,"div",9)(12,"h3"),d(13,"General"),o()(),n(14,"div",10)(15,"div",6)(16,"div",11)(17,"div",12)(18,"input",13,0),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.Name,i)||(l.formData.Name=i),C(i)}),o(),n(20,"label",14),d(21,"Name"),o(),c(22,yn,2,0,"small",15),o()(),n(23,"div",11)(24,"div",12)(25,"textarea",16),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.Description,i)||(l.formData.Description=i),C(i)}),o(),n(26,"label",17),d(27,"Description"),o()()()()()()(),n(28,"div",7)(29,"div",8)(30,"div",9)(31,"h3"),d(32,"Configuration"),o()(),n(33,"div",10)(34,"div",6)(35,"div",18)(36,"datepicker",19),D("dateChange",function(i){_(e);let l=p();return S(l.formData.StartDate,i)||(l.formData.StartDate=i),C(i)}),o()(),n(37,"div",18)(38,"datepicker",20),D("dateChange",function(i){_(e);let l=p();return S(l.formData.ExpirationDate,i)||(l.formData.ExpirationDate=i),C(i)}),o()(),n(39,"div",11)(40,"div",12)(41,"input",21),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.MinimumQuantity,i)||(l.formData.MinimumQuantity=i),C(i)}),o(),n(42,"label",22),d(43,"Minimum Quantity"),o()()(),n(44,"div",11)(45,"div",23)(46,"ng-select",24,1),D("ngModelChange",function(i){_(e);let l=p();return S(l.entities,i)||(l.entities=i),C(i)}),oe(48,Sn,3,6,"ng-template",25)(49,Dn,2,4,"ng-template",26),o(),n(50,"label",27),d(51,"Outlet"),o()()()()()()(),n(52,"div",11)(53,"div",8)(54,"div",28)(55,"div",29)(56,"h3"),d(57,"Product"),o(),c(58,Pn,2,1,"span"),o(),n(59,"div",30)(60,"div",31)(61,"a",32),h("click",function(){_(e);let i=p();return C(i.openImportDialog())}),d(62," Import Price Book "),o()(),c(63,bn,4,0,"div",33),o()(),n(64,"div",10)(65,"div",6)(66,"div",11)(67,"table",34)(68,"thead",35)(69,"tr"),c(70,En,1,0,"th",36),n(71,"th"),d(72,"Name"),o(),n(73,"th",37),d(74,"Code"),o(),n(75,"th",38),d(76,"Original Price"),o(),n(77,"th",38),d(78,"Pricebook Price"),o(),n(79,"th",38),d(80,"Price Disc.(%)"),o()()(),n(81,"tbody"),V(82,Mn,16,12,"tr",39,k),o()()()()()()()()()()()}if(t&2){let e=ge(19),a=ge(47),i=p();u("pageData",i.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(2),u("routerLink",R(25,vn)),r(16),y("ngModel",i.formData.Name),r(4),s(e.touched&&(e.errors!=null&&e.errors.required)?22:-1),r(3),y("ngModel",i.formData.Description),r(11),y("date",i.formData.StartDate),u("showPlaceholder",!0),r(2),y("date",i.formData.ExpirationDate),u("showPlaceholder",!0),r(3),y("ngModel",i.formData.MinimumQuantity),r(4),K(M(26,hn,i.entities)),r(),u("items",i.options.Entities)("multiple",!0)("selectableGroup",!0)("selectableGroupAsModel",!1)("closeOnSelect",!1),y("ngModel",i.entities),r(4),xe("z-index",a.isOpen?"9999":""),r(8),s(i.data.List.length>0?58:-1),r(5),s(i.roleService.promotion.Create||i.roleService.promotion.Edit?63:-1),r(7),s(i.roleService.promotion.Create||i.roleService.promotion.Edit?70:-1),r(12),F(i.data.List)}}var Ft=class t extends je{constructor(e,a,i,l,v,O,De){super(e,a,"Promotion/PricebooksFormInitials",i);this.toastr=l;this.router=v;this.matDialog=O;this.roleService=De;this.products=[]}products;entities;uploadState=Se(0);uploadStateEnum=Ue;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=>de(ie({},a),{selectAll:"Select All"}))}validate(){if(T.IsEmpty(this.formData.Name)){this.toastr.error("Name is required.",A.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";T.IsEmpty(this.formData.model.ID)&&(e="add",this.state=e),this.toastr.success(`Success ${e} pricebook`,A.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 Y;e.title="Import Price Book",this.matDialog.open(Vt,{data:{config:e}}).afterClosed().pipe(me(a=>T.IsNotEmpty(a))).subscribe({next:a=>{a.forEach(i=>{let l=this.products.findIndex(v=>v.VariantID==i.VariantID);l!=-1?this.products[l]=i:this.products.push(i)})}})}static \u0275fac=function(a){return new(a||t)(g(Z),g(L),g(pe),g(B),g(ve),g(X),g(j))};static \u0275cmp=w({type:t,selectors:[["POS-pricebook-form"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[["name","ngModel"],["outlet",""],[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"],[2,"color","red"],["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"],[1,"d-sm-block","mt-2"],[1,"btn-group","me-5"],["role","button",1,"btn","btn-outline-secondary","btn-sm",3,"click"],[1,"btn-group"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],["width","15px"],[2,"width","45px"],[1,"text-end"],[1,"border-bottom"],["type","checkbox",3,"id","ngModel"],[1,"fa-solid","fa-circle-plus"],[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,i){a&1&&c(0,Vn,84,28,"mainpanel-cmp",2),a&2&&s(i.data&&i.formData?0:-1)},dependencies:[$,ee,J,he,q,ot,N,re,se,Me,Ie,rt,tt,U],styles:[".outlet-multiselect[_ngcontent-%COMP%] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:10px;padding-left:10px}"]})};function Fn(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.onSelectFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleImportFileUrl)("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function kn(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.onSelectFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleImportFileUrl)("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function Rn(t,m){if(t&1&&(c(0,Fn,1,2,"POS-uppy",2),c(1,kn,1,2,"POS-uppy",2)),t&2){let e=p();s(e.uploadState()===e.uploadStateEnum.Idle||e.uploadState()===e.uploadStateEnum.Uploading?0:-1),r(),s(e.uploadState()===e.uploadStateEnum.Success||e.uploadState()===e.uploadStateEnum.Error?1:-1)}}var kt=class t{constructor(m,e,a){this.dialogRef=m;this.toastService=e;this.httpService=a;this.config=new Y,this.config.title="Import Coupon"}config;file;uploadState=Se(0);uploadStateEnum=Ue;sampleImportFileUrl=Le.files.csv.promotion_coupon_import;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,A.Success),this.dialogRef.close("Success")},error:e=>{this.uploadState.set(3)}})}onClose(){this.dialogRef.close()}static \u0275fac=function(e){return new(e||t)(g(z),g(B),g(L))};static \u0275cmp=w({type:t,selectors:[["POS-modal-upload-generate-key"]],standalone:!1,decls:3,vars:1,consts:[["modalContent",""],[3,"onOk","onCancel","onClose","config"],[3,"sampleUrl","subtitle"],[3,"fileUploaded","sampleUrl","subtitle"]],template:function(e,a){e&1&&(n(0,"modal-material",1),h("onOk",function(){return a.onOk()})("onCancel",function(){return a.onClose()})("onClose",function(){return a.onClose()}),oe(1,Rn,2,2,"ng-template",null,0,Ee),o()),e&2&&u("config",a.config)},dependencies:[G,We],encapsulation:2})};var Ln=t=>({"border-end-0":t}),An=()=>["/menu/Promotion/Main/Coupon/Form"],Bn=()=>["/menu/Promotion/Main/Coupon/Info"],qn=t=>({ID:t});function Nn(t,m){if(t&1){let e=f();n(0,"a",16),h("click",function(){_(e);let i=p(2);return C(i.httpPostListID("Promotion/RemoveKey"))}),x(1,"i",17),d(2,"Delete "),o()}}function On(t,m){if(t&1){let e=f();n(0,"button",16),h("click",function(){_(e);let i=p(2);return C(i.onImport())}),x(1,"i",18),d(2,"Import "),o()}if(t&2){let e=p(2);K(M(2,Ln,e.roleService.global.Export))}}function Wn(t,m){if(t&1){let e=f();n(0,"button",16),h("click",function(){_(e);let i=p(2);return C(i.openExportModal())}),x(1,"i",19),d(2," Export "),o()}}function Un(t,m){t&1&&(n(0,"a",6),d(1,"Add"),o()),t&2&&u("routerLink",R(1,An))}function jn(t,m){if(t&1){let e=f();n(0,"div",20)(1,"h6"),d(2,"Balance From - To"),o(),n(3,"div",21)(4,"input",22),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.FromUsageBalance,i)||(l.pageData.Filter.FromUsageBalance=i),C(i)}),o(),d(5," - "),n(6,"input",22),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.ToUsageBalance,i)||(l.pageData.Filter.ToUsageBalance=i),C(i)}),o()(),n(7,"h6"),d(8,"Customer"),o(),n(9,"autocompleteV2",23),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.CustomerID,i)||(l.pageData.Filter.CustomerID=i),C(i)}),o(),n(10,"h6"),d(11,"Type"),o(),n(12,"ng-select",24),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.TypeID,i)||(l.pageData.Filter.TypeID=i),C(i)}),o(),n(13,"h6"),d(14,"Usage Status"),o(),n(15,"ng-select",24),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.UsageStatusID,i)||(l.pageData.Filter.UsageStatusID=i),C(i)}),o(),n(16,"h6"),d(17,"Created"),o(),n(18,"div",25)(19,"datepicker",26),D("dateChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.FromCreated,i)||(l.pageData.Filter.FromCreated=i),C(i)}),o(),n(20,"datepicker",27),D("dateChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.ToCreated,i)||(l.pageData.Filter.ToCreated=i),C(i)}),o()(),n(21,"h6"),d(22,"Expiry"),o(),n(23,"div",25)(24,"datepicker",26),D("dateChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.FromExpiry,i)||(l.pageData.Filter.FromExpiry=i),C(i)}),o(),n(25,"datepicker",27),D("dateChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.ToExpiry,i)||(l.pageData.Filter.ToExpiry=i),C(i)}),o()(),n(26,"h6"),d(27,"Reference ID"),o(),n(28,"div")(29,"input",28),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.ReferenceID,i)||(l.pageData.Filter.ReferenceID=i),C(i)}),o()()(),n(30,"h6"),d(31,"Row Count"),o(),n(32,"div")(33,"input",29),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.RowCount,i)||(l.pageData.Filter.RowCount=i),C(i)}),o()()}if(t&2){let e=p(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),u("items",e.pageData.Options.AuthorizationTypes),y("ngModel",e.pageData.Filter.TypeID),r(3),u("items",e.pageData.Options.StatusTypes),y("ngModel",e.pageData.Filter.UsageStatusID),r(4),u("isFloatingLabel",!1),y("date",e.pageData.Filter.FromCreated),r(),u("isFloatingLabel",!1),y("date",e.pageData.Filter.ToCreated),r(4),u("isFloatingLabel",!1),y("date",e.pageData.Filter.FromExpiry),r(),u("isFloatingLabel",!1),y("date",e.pageData.Filter.ToExpiry),r(4),y("ngModel",e.pageData.Filter.ReferenceID),r(4),y("ngModel",e.pageData.Filter.RowCount)}}function Gn(t,m){if(t&1){let e=f();n(0,"th",11)(1,"input",30),h("change",function(i){_(e);let l=p(2);return C(l.onSelectAllData(i.target.checked))}),o()()}}function zn(t,m){if(t&1){let e=f();n(0,"td")(1,"input",33),D("ngModelChange",function(i){_(e);let l=p().$implicit;return S(l.selected,i)||(l.selected=i),C(i)}),o()()}if(t&2){let e=p().$implicit;r(),y("ngModel",e.selected)}}function Hn(t,m){if(t&1&&(n(0,"a",31),d(1),o()),t&2){let e=p().$implicit;u("routerLink",R(3,Bn))("queryParams",M(4,qn,e.ID)),r(),P("",e.Code," ")}}function Qn(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p().$implicit;r(),I(e.Code)}}function Kn(t,m){if(t&1&&(n(0,"span"),d(1),b(2,"number"),b(3,"number"),o()),t&2){let e=p().$implicit;r(),qe("",E(2,2,e.UsageBalance)," / ",E(3,4,e.UsageLimit))}}function $n(t,m){t&1&&(n(0,"span"),d(1,"\u221E"),o())}function Jn(t,m){if(t&1&&(n(0,"span"),d(1),b(2,"number"),o()),t&2){let e=p().$implicit;r(),P("",E(2,1,e.Discount),"%")}}function Yn(t,m){if(t&1&&(n(0,"span"),d(1),b(2,"number"),o()),t&2){let e=p().$implicit;r(),I(E(2,1,e.Discount))}}function Xn(t,m){t&1&&(n(0,"span"),d(1,"-"),o())}function Zn(t,m){if(t&1&&(n(0,"div")(1,"span",34),d(2),o()()),t&2){let e=p().$implicit;r(2),P("Specific ",e.RequirementTypeID==1?"Products":"Categories")}}function eo(t,m){if(t&1&&(n(0,"div")(1,"span",34),d(2,"Customer:"),o(),d(3),o()),t&2){let e=p().$implicit;r(3),P(" ",e.CustomerName," ")}}function to(t,m){if(t&1&&(n(0,"li"),d(1),o()),t&2){let e=m.$implicit;r(),P(" ",e," ")}}function io(t,m){if(t&1&&(n(0,"div",34),d(1,"Outlets:"),o(),n(2,"ul",35),V(3,to,2,1,"li",null,k),o()),t&2){let e=p().$implicit;r(3),F(e.Outlets)}}function no(t,m){if(t&1&&(n(0,"div")(1,"span",34),d(2,"Min Spending:"),o(),d(3),b(4,"number"),o()),t&2){let e=p().$implicit;r(3),P(" ",E(4,1,e.MinimumAmount)," ")}}function oo(t,m){if(t&1&&(n(0,"tr",14),c(1,zn,2,1,"td"),n(2,"td"),c(3,Hn,2,6,"a",31)(4,Qn,2,1,"span"),o(),n(5,"td"),c(6,Kn,4,6,"span"),c(7,$n,2,0,"span"),o(),n(8,"td"),d(9),o(),n(10,"td",32),c(11,Jn,3,3,"span"),c(12,Yn,3,3,"span"),c(13,Xn,2,0,"span"),o(),n(14,"td"),d(15),b(16,"IsMinDate"),o(),n(17,"td"),d(18),b(19,"IsMinDate"),o(),n(20,"td"),c(21,Zn,3,1,"div"),c(22,eo,4,1,"div"),c(23,io,5,0),c(24,no,5,3,"div"),o()()),t&2){let e=m.$implicit,a=p(2);r(),s(a.roleService.promotion.Delete?1:-1),r(2),s(!(a.roleService==null||a.roleService.promotion==null)&&a.roleService.promotion.View?3:4),r(3),s(e.UsageLimit!=0?6:-1),r(),s(e.UsageLimit==0?7:-1),r(2),I(e.AuthorizationTypeString),r(2),s(e.AuthorizationType==1?11:-1),r(),s(e.AuthorizationType==2?12:-1),r(),s(e.AuthorizationType>2?13:-1),r(2),I(E(16,14,e.StartDate)),r(3),I(E(19,16,e.ExpiryDate)),r(3),s(e.RequirementTypeID!=0?21:-1),r(),s(e.CustomerName?22:-1),r(),s((e.Outlets==null?null:e.Outlets.length)>0?23:-1),r(),s(e.MinimumAmount?24:-1)}}function ao(t,m){if(t&1){let e=f();n(0,"mat-paginator",36),h("page",function(i){_(e);let l=p(2);return C(l.onPaginationChange(i))}),o()}if(t&2){let e=p(2);u("length",e.pagination.listTotal)("pageSize",e.pagination.pageSize)("pageIndex",e.pageData.Filter.PageNumber==0?0:e.pageData.Filter.PageNumber-1)}}function ro(t,m){if(t&1){let e=f();n(0,"mainpanel-cmp",2),D("textChange",function(i){_(e);let l=p();return S(l.pageData.Filter.code,i)||(l.pageData.Filter.code=i),C(i)}),h("onSubmit",function(){_(e);let i=p();return C(i.searchFromPageOne())}),D("filterChange",function(i){_(e);let l=p();return S(l.pageData.Filter,i)||(l.pageData.Filter=i),C(i)}),n(1,"actions"),c(2,Nn,3,0,"a",3),n(3,"div",4),c(4,On,3,4,"button",5),c(5,Wn,3,0,"button",3),o(),c(6,Un,2,2,"a",6),o(),n(7,"filters"),oe(8,jn,34,17,"ng-template",null,0,Ee),o(),n(10,"content")(11,"div",7)(12,"div",8)(13,"table",9)(14,"thead",10)(15,"tr"),c(16,Gn,2,0,"th",11),n(17,"th"),d(18,"Coupon"),o(),n(19,"th"),d(20,"Balance"),o(),n(21,"th"),d(22,"Type"),o(),n(23,"th",12),d(24,"Discount"),o(),n(25,"th",13),d(26,"Start"),o(),n(27,"th",13),d(28,"Expiry"),o(),n(29,"th"),d(30,"Requirement"),o()()(),n(31,"tbody"),V(32,oo,25,18,"tr",14,k),o()()(),n(34,"div"),c(35,ao,1,3,"mat-paginator",15),o()()()()}if(t&2){let e=p();u("pageData",e.menuData),y("text",e.pageData.Filter.code),u("isFilterOnDropdown",!1),y("filter",e.pageData.Filter),r(2),s(e.getSelectedData().length>0?2:-1),r(2),s(e.roleService.promotion.Create?4:-1),r(),s(e.roleService.global.Export?5:-1),r(),s(e.roleService.promotion.Create?6:-1),r(10),s(e.roleService.promotion.Delete?16:-1),r(16),F(e.data.Data),r(3),s(e.pagination.listTotal>0?35:-1)}}var Rt=class t extends Ne{constructor(e,a,i,l,v,O,De){super(e,a,"Promotion/GetPromotionCouponList","PromotionLoader/PromotionLoader",i,De);this.csvConverter=l;this.matDialog=v;this.roleService=O}onImport(){this.matDialog.open(kt).afterClosed().pipe(me(e=>T.IsNotEmpty(e))).subscribe(()=>this.getListData())}openExportModal(){this.matDialog.open(ue,{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)(g(Z),g(L),g(B),g(ye),g(X),g(j),g(pe))};static \u0275cmp=w({type:t,selectors:[["POS-promotion-coupon"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[["pageFilterTemplate",""],[3,"pageData","text","isFilterOnDropdown","filter"],[3,"textChange","onSubmit","filterChange","pageData","text","isFilterOnDropdown","filter"],[1,"btn","btn-outline-secondary"],[1,"btn-group","ms-3"],[1,"btn","btn-outline-secondary",3,"class"],[1,"button","btn","btn-success","ms-3",3,"routerLink"],[1,"container-fluid","mt-5"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[2,"width","14px"],[1,"text-end",2,"width","100px"],[2,"width","150px"],[1,"border-bottom"],[3,"length","pageSize","pageIndex"],[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,"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"],["autoNum","","type","text",1,"form-control","input-filter",3,"ngModelChange","ngModel"],["type","checkbox",3,"change"],[3,"routerLink","queryParams"],[1,"text-end"],["type","checkbox",3,"ngModelChange","ngModel"],[1,"fw-bold"],[1,"ps-3","ms-12","mb-0"],[3,"page","length","pageSize","pageIndex"]],template:function(a,i){a&1&&c(0,ro,36,10,"mainpanel-cmp",1),a&2&&s(i.data?0:-1)},dependencies:[$,ee,J,he,q,N,re,se,we,at,Me,U,Oe],styles:["ng-select[_ngcontent-%COMP%] div.ng-option{white-space:normal!important}"]})};var lo=()=>["/menu/Promotion/Main/Coupon/Form"],At=t=>({ID:t}),mo=t=>({CategoryID:t}),po=t=>({Filter:t}),co=()=>["/menu/Orders/Orders/Customer_Invoice/Info"];function so(t,m){if(t&1&&(n(0,"a",3),x(1,"i",25),d(2,"Edit "),o()),t&2){let e=p(2);u("routerLink",R(2,lo))("queryParams",M(3,At,e.data.Detail.ID))}}function uo(t,m){if(t&1){let e=f();n(0,"button",26),h("click",function(){_(e);let i=p(2);return C(i.delete(i.data.Detail.ID))}),x(1,"i",27),d(2,"Delete "),o()}}function _o(t,m){if(t&1&&(n(0,"div",13)(1,"div",11),x(2,"lib-info-page-input",28),b(3,"number"),o()()),t&2){let e=p(2);r(2),u("inputValue",e.data.Detail.AuthorizationType==1?e.data.Detail.Discount+"%":E(3,1,e.data.Detail.Discount))}}function Co(t,m){if(t&1&&(n(0,"div",7)(1,"div",11),x(2,"lib-info-page-input",29),o()()),t&2){let e=p(2);r(2),u("inputValue",e.data.Detail.ReferenceID)}}function fo(t,m){if(t&1){let e=f();n(0,"div",30)(1,"div",33)(2,"ng-select",34,0),D("ngModelChange",function(i){_(e);let l=p(3);return S(l.outletIDs,i)||(l.outletIDs=i),C(i)}),o(),n(4,"label",35),d(5,"Outlet"),o()()()}if(t&2){let e=ge(3),a=p(3);r(2),u("items",a.data.Outlets)("readonly",!0),y("ngModel",a.outletIDs),u("multiple",!0),r(2),xe("z-index",e.isOpen?"9999":"")}}function go(t,m){if(t&1&&(n(0,"div",30)(1,"div",11)(2,"a",36),x(3,"lib-info-page-input",37),o()()()),t&2){let e=p(3);r(2),u("queryParams",M(2,At,e.data.Detail==null?null:e.data.Detail.CustomerID)),r(),u("inputValue",e.data==null?null:e.data.CustomerName)}}function xo(t,m){if(t&1&&(n(0,"div",30)(1,"div",11),x(2,"lib-info-page-input",38),b(3,"number"),o()()),t&2){let e=p(3);r(2),u("inputValue",E(3,1,e.data==null||e.data.Detail==null?null:e.data.Detail.MinimumAmount))}}function vo(t,m){if(t&1&&(n(0,"div",30)(1,"div",11),x(2,"lib-info-page-input",39),b(3,"number"),o()()),t&2){let e=p(3);r(2),u("inputValue",E(3,1,e.data==null||e.data.Detail==null?null:e.data.Detail.MaximumDiscount))}}function ho(t,m){if(t&1&&(n(0,"div",30)(1,"div",11),x(2,"lib-info-page-input",40),o()()),t&2){let e=p(3);r(2),u("inputValue",!(e.data==null||e.data.Detail==null)&&e.data.Detail.FullPriceProductOnly?"Yes":"No")}}function yo(t,m){if(t&1&&(n(0,"div",30)(1,"div",11),x(2,"lib-info-page-input",41),o()()),t&2){let e=p(3);r(2),u("inputValue",(e.data==null||e.data.Detail==null?null:e.data.Detail.MultipleItemRequirementDiscount)==0?"All":"Selected Item")}}function So(t,m){if(t&1&&(n(0,"div",8)(1,"div",9)(2,"h3"),d(3,"Requirements"),o()(),n(4,"div",10)(5,"div",6),c(6,fo,6,6,"div",30),c(7,go,4,4,"div",30),c(8,xo,4,3,"div",30),c(9,vo,4,3,"div",30),c(10,ho,3,1,"div",30),c(11,yo,3,1,"div",30),n(12,"div",30)(13,"div",11),x(14,"lib-info-page-input",31),o()(),n(15,"div",30)(16,"div",11),x(17,"lib-info-page-input",32),o()()()()()),t&2){let e=p(2);r(6),s(e.data.Outlets.length>0?6:-1),r(),s(e.data!=null&&e.data.CustomerName?7:-1),r(),s(!(e.data==null||e.data.Detail==null)&&e.data.Detail.MinimumAmount?8:-1),r(),s(!(e.data==null||e.data.Detail==null)&&e.data.Detail.MaximumDiscount?9:-1),r(),s((e.data==null||e.data.Detail==null?null:e.data.Detail.TypeId)==e.couponType.DiscountPercentage?10:-1),r(),s((e.data==null||e.data.Detail==null?null:e.data.Detail.RequirementTypeID)>0?11:-1),r(3),u("inputValue",e.requirementTypeDisplayLabel),r(3),u("inputValue",e.data==null||e.data.Detail==null?null:e.data.Detail.MultipleItemRequirementDiscountLabel)}}function Do(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p(4);r(),P("(",e.data.ListRequirementVariants.length," Items)")}}function Po(t,m){if(t&1&&c(0,Do,2,1,"span"),t&2){let e=p(3);s(e.data.ListRequirementVariants.length?0:-1)}}function bo(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p(4);r(),P("(",e.data.ListRequirementCategories.length," Items)")}}function Eo(t,m){if(t&1&&c(0,bo,2,1,"span"),t&2){let e=p(3);s(e.data.ListRequirementCategories.length?0:-1)}}function Io(t,m){if(t&1&&(n(0,"tr",51)(1,"td"),d(2),o(),n(3,"td")(4,"a",52),d(5),o()(),n(6,"td"),d(7),o(),n(8,"td",50),d(9),b(10,"number"),o()()),t&2){let e=m.$implicit,a=m.$index;r(2),I(a+1+"."),r(2),u("queryParams",M(7,At,e.VariantID)),r(),P(" ",e.VariantName," "),r(2),I(e.VariantCode),r(2),P(" ",E(10,5,e.UnitPrice)," ")}}function To(t,m){if(t&1&&(n(0,"div",45)(1,"table",46)(2,"thead",47)(3,"tr")(4,"th",48),d(5,"No"),o(),n(6,"th"),d(7,"Name"),o(),n(8,"th",49),d(9,"Code"),o(),n(10,"th",50),d(11,"Price"),o()()(),n(12,"tbody"),V(13,Io,11,9,"tr",51,k),o()()()),t&2){let e=p(3);r(13),F(e.data.ListRequirementVariants)}}function wo(t,m){if(t&1&&(n(0,"tr",51)(1,"td"),d(2),o(),n(3,"td",53)(4,"a",54),d(5),o()()()),t&2){let e=m.$implicit,a=m.$index;r(2),I(a+1+"."),r(2),u("queryParams",M(3,mo,e.CategoryID)),r(),P(" ",e.CategoryName," ")}}function Mo(t,m){if(t&1&&(n(0,"div",45)(1,"table",46)(2,"thead",47)(3,"tr")(4,"th",48),d(5,"No"),o(),n(6,"th"),d(7,"Name"),o()()(),n(8,"tbody"),V(9,wo,6,5,"tr",51,k),o()()()),t&2){let e=p(3);r(9),F(e.data.ListRequirementCategories)}}function Vo(t,m){if(t&1&&(n(0,"div",6)(1,"div",18)(2,"div",8)(3,"div",42)(4,"div",43)(5,"h3"),d(6),o(),c(7,Po,1,1)(8,Eo,1,1),o()(),n(9,"div",10)(10,"div",6)(11,"div",18)(12,"div",44),c(13,To,15,0,"div",45),c(14,Mo,11,0,"div",45),o()()()()()()()),t&2){let e,a=p(2);r(6),P(" ",a.data.Detail.RequirementTypeID==1?"Requirement":"Category"," "),r(),s((e=a.data.Detail.RequirementTypeID)===1?7:e===2?8:-1),r(6),s(a.data.Detail.RequirementTypeID==1?13:-1),r(),s(a.data.Detail.RequirementTypeID==2?14:-1)}}function Fo(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p(2);r(),P("(",e.Data.length," Invoices)")}}function ko(t,m){if(t&1&&(n(0,"tr")(1,"td",60),d(2),o(),n(3,"td"),d(4),o(),n(5,"td"),x(6,"a",66),o(),n(7,"td"),d(8),o(),n(9,"td"),d(10),b(11,"date"),o(),n(12,"td",50),d(13),b(14,"number"),o()()),t&2){let e=m.$implicit,a=m.$index;r(2),I(a+1),r(2),I(e.Outlet),r(2),u("routerLink",R(13,co))("queryParams",M(14,At,e.ID))("innerHTML",e.Number,ri),r(2),I(e.Name),r(2),I(ae(11,8,e.Date,"dd MMM yyyy")),r(3),I(E(14,11,e.Total))}}function Ro(t,m){if(t&1){let e=f();n(0,"div",8)(1,"div",55)(2,"div",56)(3,"h2",57),d(4,"Invoices"),o(),c(5,Fo,2,1,"span"),o(),n(6,"button",26),h("click",function(){_(e);let i=p(3);return C(i.openExportModal())}),x(7,"i",58),d(8,"Export "),o()(),n(9,"div",10)(10,"table",59)(11,"thead",47)(12,"tr")(13,"th",60),d(14,"No"),o(),n(15,"th",61),d(16,"Outlet"),o(),n(17,"th",62),d(18,"Number"),o(),n(19,"th",61),d(20,"Customer"),o(),n(21,"th",63),d(22,"Date"),o(),n(23,"th",64),d(24,"Amount"),o()()(),n(25,"tbody"),V(26,ko,15,16,"tr",null,k),o()(),n(28,"POS-complex-pagination",65),h("jumpToPage",function(){_(e);let i=p(3);return C(i.initObsInvoices())})("previousPage",function(){_(e);let i=p(3);return C(i.initObsInvoices())})("nextPage",function(){_(e);let i=p(3);return C(i.initObsInvoices())}),o()()()}if(t&2){let e=p(),a=p(2);r(5),s(e.Data?5:-1),r(21),F(e.Data),r(2),u("total",e==null||e.Data==null?null:e.Data.length)("pageData",M(3,po,a.invoiceFilter))}}function Lo(t,m){if(t&1&&c(0,Ro,29,5,"div",8),t&2){let e=m;s((e.Data==null?null:e.Data.length)>0?0:-1)}}function Ao(t,m){if(t&1&&(n(0,"div",22)(1,"div",8)(2,"div",9)(3,"h3"),d(4,"Loyalty Point"),o()(),n(5,"div",10)(6,"div",6)(7,"div",17)(8,"div",11),x(9,"lib-info-page-input",67),o()()()()()()),t&2){let e=p(2);r(9),u("inputValue",e.data.Detail.DeductionPoint)}}function Bo(t,m){if(t&1&&(n(0,"span")(1,"b"),d(2,"Modified:"),o(),d(3),o()),t&2){let e=p(2);r(3),qe(" ",e.data.DocumentInfo.Modified.Date," / ",e.data.DocumentInfo.Modified.User," ")}}function qo(t,m){if(t&1&&(n(0,"mainpanel-cmp",1)(1,"actions")(2,"div",2),c(3,so,3,5,"a",3),c(4,uo,3,0,"button",4),o()(),n(5,"content")(6,"div",5)(7,"div",6)(8,"div",7)(9,"div",8)(10,"div",9)(11,"h3"),d(12,"Coupon Info"),o()(),n(13,"div",10)(14,"div",6)(15,"div",7)(16,"div",11),x(17,"lib-info-page-input",12),o()(),n(18,"div",13)(19,"div",11),x(20,"lib-info-page-input",14),o()(),n(21,"div",7)(22,"div",11),x(23,"lib-info-page-input",15),o()(),c(24,_o,4,3,"div",13),c(25,Co,3,1,"div",7),o()()(),c(26,So,18,8,"div",8),c(27,Vo,15,4,"div",6),c(28,Lo,1,1),b(29,"async"),o(),n(30,"div",16)(31,"div",6)(32,"div",17)(33,"div",6)(34,"div",18)(35,"div",8)(36,"div",9)(37,"h3"),d(38,"Expiration Info"),o()(),n(39,"div",10)(40,"div",6)(41,"div",18)(42,"div",11),x(43,"lib-info-page-input",19),b(44,"IsMinDate"),o()(),n(45,"div",18)(46,"div",11),x(47,"lib-info-page-input",20),b(48,"IsMinDate"),o()(),n(49,"div",18)(50,"div",11),x(51,"lib-info-page-input",21),o()()()()()()()(),c(52,Ao,10,1,"div",22),o()()(),n(53,"div",23),x(54,"i",24),n(55,"span")(56,"b"),d(57,"Created:"),o(),d(58),o(),c(59,Bo,4,2,"span"),o()()()()),t&2){let e,a=p();u("pageData",a.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(3),s(a.roleService.promotion.Edit?3:-1),r(),s(a.roleService.promotion.Delete?4:-1),r(13),u("inputValue",a.data.Detail.Code),r(3),u("inputValue",a.data.Detail.UsageLimit==0?"\u221E":a.data.Detail.UsageBalance+" / "+a.data.Detail.UsageLimit),r(3),u("inputValue",a.data.Detail.AuthorizationTypeString),r(),s(a.data.Detail.AuthorizationType<3?24:-1),r(),s(a.data.Detail!=null&&a.data.Detail.ReferenceID?25:-1),r(),s(a.data.Outlets.length>0||a.data!=null&&a.data.CustomerName||!(a.data==null||a.data.Detail==null)&&a.data.Detail.MinimumAmount||(a.data==null||a.data.Detail==null?null:a.data.Detail.MaximumDiscount)>0||(a.data==null||a.data.Detail==null?null:a.data.Detail.TypeId)==a.couponType.DiscountPercentage?26:-1),r(),s(a.data.Detail.RequirementTypeID?27:-1),r(),s((e=E(29,20,a.invoices$))?28:-1,e),r(15),u("inputValue",ae(44,22,a.data.Detail.Created,"dd MMM yyyy")),r(4),u("inputValue",ae(48,25,a.data.Detail.ExpiryDate,"dd MMM yyyy")),r(4),u("inputValue",a.data.Detail.Description),r(),s(a.data.Detail.DeductionPoint!==0?52:-1),r(6),qe(" ",a.data.DocumentInfo.Created.Date," / ",a.data.DocumentInfo.Created.User," "),r(),s(a.data.DocumentInfo.Modified.User?59:-1)}}var Lt=class t extends Ne{constructor(e,a,i,l,v,O,De,_t){super(e,a,"Promotion/Info",null,i,v);this.toastr=i;this.router=l;this.csvConverter=O;this.roleService=De;this.dialog=_t}outletIDs;invoices$;invoiceFilter={ID:null,PageNumber:1,RowCount:100};couponType=bt;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(ue,{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",A.Success),this.router.navigate(["/menu/Promotion/Main/Coupon"])})}get requirementTypeDisplayLabel(){switch(this.data.Detail.RequirementTypeID){case 0:return"None";case 1:return"Variant";case 2:return"Category"}}static \u0275fac=function(a){return new(a||t)(g(Z),g(L),g(B),g(ve),g(pe),g(ye),g(j),g(X))};static \u0275cmp=w({type:t,selectors:[["POS-promotion-coupon-info"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[["outlet",""],[3,"pageData","hideSearchBox","hideSearchDropdown"],[1,"btn-group","me-5"],[1,"btn","btn-outline-secondary",3,"routerLink","queryParams"],[1,"btn","btn-outline-secondary"],[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"],[1,"col-4"],[1,"col-12"],[1,"col-sm-12"],["labelValue","Created on",3,"inputValue"],["labelValue","Expired on",3,"inputValue"],["labelValue","Description",3,"inputValue"],[1,"col"],[1,"alert","alert-warning","mt-5"],["aria-hidden","true",1,"fa-regular","fa-file","me-3"],[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","Reference ID",3,"inputValue"],[1,"col-sm-6"],["labelValue","Requirement Type",3,"inputValue"],["labelValue","Multiple Item Requirement Discount",3,"inputValue"],[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"],[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"],["api","Promotion/GetCountInvoicesUsedPromotion",3,"jumpToPage","previousPage","nextPage","total","pageData"],["target","_blank",3,"routerLink","queryParams","innerHTML"],["labelValue","Point Deduction",3,"inputValue"]],template:function(a,i){a&1&&c(0,qo,60,28,"mainpanel-cmp",1),a&2&&s(i.data?0:-1)},dependencies:[$,ee,q,N,re,mt,Ve,et,U,it,Oe],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 st=class t{constructor(m,e,a,i){this.httpService=m;this.data=e;this.dialogRef=a;this.toastr=i;this.config=new Y,this.variantList=this.data.variantList,this.rewardItems=this.data.rewardItems,this.item=Object.assign({},this.data.item),this.index=this.data.index,T.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(Te.GetVariantOnSelectedIDByID,[{key:"ID",value:m}]).subscribe(e=>{this.rewardItems.findIndex(i=>m===i.VariantID)!=-1?(this.isAlreadyRegistered=!0,this.toastr.error(`${e.Name} already registered`,A.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(){T.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",A.Error)}static \u0275fac=function(e){return new(e||t)(g(L),g(ce),g(z),g(B))};static \u0275cmp=w({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&&(n(0,"modal-material",0),h("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),n(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"autocompleteV2",5),h("onSelect",function(l){return a.changeVariant(l)}),o()()()(),n(7,"div",2)(8,"div",6),x(9,"lib-info-page-input",7),o(),n(10,"div",6),x(11,"lib-info-page-input",8),o()()()()()),e&2&&(u("config",a.config),r(6),u("inputTextValue",a.item.VariantName)("renderThumbnail",!0),r(3),u("inputValue",a.item.VariantCode),r(2),u("inputValue",a.item.UnitPrice))},dependencies:[G,we,Ve],styles:["autocompletev2[_ngcontent-%COMP%] input{font-size:16px!important;height:58px}"]})};function No(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.assignFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleUrl())("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function Oo(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.assignFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleUrl())("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function Wo(t,m){if(t&1&&(c(0,No,1,2,"POS-uppy",2),c(1,Oo,1,2,"POS-uppy",2)),t&2){let e=p();s(e.uploadState()===e.uploadStateEnum.Idle||e.uploadState()===e.uploadStateEnum.Uploading?0:-1),r(),s(e.uploadState()===e.uploadStateEnum.Success||e.uploadState()===e.uploadStateEnum.Error?1:-1)}}var Ye=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=Se(0);uploadStateEnum=Ue;sampleUrl=Se(null);ngOnInit(){this.initModalConfig()}initModalConfig(){this.modalConfig=new Y,this.type=="Purchase"?(this.modalConfig.title="Import Purchase Requirement Items",this.csvLink="https://cdn.dealpos.xyz/web-import-template/PurchaseRequirement.csv",this.API="/API/Promotion/ImportPurchaseRequirementCSV"):(this.modalConfig.title="Import Variant Items",this.csvLink="https://cdn.dealpos.xyz/web-import-template/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 mi&&this.uploadState.set(3)}})}onClose(){this.dialogRef.close()}assignFile(m){this.fileInput=m}static \u0275fac=function(e){return new(e||t)(g(z),g(L),g(ce))};static \u0275cmp=w({type:t,selectors:[["POS-modal-import-variant-items"]],standalone:!1,decls:3,vars:1,consts:[["modalContent",""],[3,"onOk","onCancel","onClose","config"],[3,"sampleUrl","subtitle"],[3,"fileUploaded","sampleUrl","subtitle"]],template:function(e,a){e&1&&(n(0,"modal-material",1),h("onOk",function(){return a.onOk()})("onCancel",function(){return a.onClose()})("onClose",function(){return a.onClose()}),oe(1,Wo,2,2,"ng-template",null,0,Ee),o()),e&2&&u("config",a.modalConfig)},dependencies:[G,We],encapsulation:2})};var Uo=t=>({selected:t}),ut=class t{constructor(m,e){this.data=m;this.dialogRef=e;this.config=new Y,this.categories=this.data.categories,this.categoryID=this.data.category?.CategoryID,this.categoryList=this.data.categoryList,this.index=this.data.index,T.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(T.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)(g(ce),g(z))};static \u0275cmp=w({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 i=f();n(0,"modal-material",1),h("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),n(1,"content")(2,"div",2)(3,"div",3)(4,"ng-select",4,0),D("ngModelChange",function(v){return _(i),S(a.categoryID,v)||(a.categoryID=v),C(v)}),h("change",function(v){return a.selectCategory(v)}),o()()()()()}e&2&&(u("config",a.config),r(4),K(M(5,Uo,a.categoryID)),u("items",a.categories),y("ngModel",a.categoryID))},dependencies:[q,N,re,G],styles:[`ng-dropdown-panel.category-select{z-index:1100}
|
|
1
|
+
import{a as Ti}from"./chunk-NVRMZQQR.js";import{a as dt}from"./chunk-FC5H27QV.js";import{a as Ei,b as Ii}from"./chunk-L5SMMPRJ.js";import{a as bi}from"./chunk-FFHUKBEA.js";import{a as Ve}from"./chunk-OM5ISZ62.js";import{a as je}from"./chunk-RRNDKXH4.js";import{a as Xt}from"./chunk-RM6PV7SW.js";import{a as at,b as si}from"./chunk-37PZPWZY.js";import"./chunk-TTZUIFLN.js";import{a as bt}from"./chunk-ZM64NIQG.js";import{a as Di,b as Pi}from"./chunk-ZOBPTHDY.js";import{a as Ue}from"./chunk-P3KIIKY4.js";import{b as We}from"./chunk-JCFGTTRU.js";import{a as yi,b as Si}from"./chunk-UOCGL3EW.js";import"./chunk-DIAV4K3S.js";import"./chunk-2JPZMGCJ.js";import"./chunk-5GHN24QS.js";import"./chunk-JEJGTRFJ.js";import{d as Me}from"./chunk-6C7NKVRP.js";import"./chunk-6TWTQLKB.js";import"./chunk-SASYAFMF.js";import"./chunk-QP7B4347.js";import"./chunk-STYLBZL4.js";import"./chunk-XLS7AM5H.js";import"./chunk-U7XVI26F.js";import{d as lt}from"./chunk-ALUJK3AI.js";import"./chunk-B3U3BHLU.js";import{a as mt,b as Yt}from"./chunk-ZIWP67C5.js";import{a as hi}from"./chunk-PIF44CR4.js";import"./chunk-PDVLZHGX.js";import{b as ue}from"./chunk-FZGFUOJQ.js";import{a as Ne}from"./chunk-FB3YKF4D.js";import"./chunk-FHS4PECQ.js";import"./chunk-UJPQDPFC.js";import"./chunk-RHZ4SE3E.js";import{a as ye}from"./chunk-E6MKUJD5.js";import{f as ee,g as vi}from"./chunk-ZZ3VMSPF.js";import"./chunk-Z3I6U6KT.js";import"./chunk-ZZZXAGCG.js";import"./chunk-LSV7QXYU.js";import"./chunk-3GIDLGOV.js";import"./chunk-JJFV542H.js";import"./chunk-QGI3QC76.js";import{a as Dt,b as Pt,c as ui}from"./chunk-HB5JT7XV.js";import"./chunk-JBO3R4W5.js";import"./chunk-35ECO23I.js";import"./chunk-G2UNSH3R.js";import"./chunk-SFKCZ7DL.js";import"./chunk-PPNXP25T.js";import"./chunk-MHPH7T32.js";import"./chunk-UNAPWUZC.js";import{a as se}from"./chunk-VIKIXIX5.js";import{c as _i,e as Ci,g as fi}from"./chunk-IFLLAVLK.js";import"./chunk-KCLXHEKH.js";import"./chunk-A3HVDWQA.js";import{a as Z}from"./chunk-S66EANWD.js";import"./chunk-3GZUX2TV.js";import"./chunk-LWCDPG6P.js";import"./chunk-3TFWTYY2.js";import"./chunk-IOBYB6AV.js";import{e as we,f as xi}from"./chunk-PQRU7ZVS.js";import"./chunk-52KMSRYQ.js";import"./chunk-STIMAG44.js";import"./chunk-EKGQU5OA.js";import{a as Ie,b as ci}from"./chunk-JFS6EFNT.js";import"./chunk-YNQPX5G6.js";import{G as Oe,N as gi,O as Te}from"./chunk-H7AXZU5M.js";import"./chunk-QU45SEX2.js";import"./chunk-QYSFCWV7.js";import{a as rt,d as re}from"./chunk-ZRBKLF75.js";import"./chunk-VBXYBASD.js";import{a as z,b as ce,c as X}from"./chunk-CPHICIOL.js";import"./chunk-GCPQTFRO.js";import"./chunk-NFVNHSX5.js";import"./chunk-Z6KYVNJQ.js";import"./chunk-4NWLXS6M.js";import"./chunk-OEFF3O4P.js";import"./chunk-ZLJTB3SO.js";import"./chunk-OG6UIE5Q.js";import"./chunk-LYYPWLC4.js";import{a as A,b as Y,c as G}from"./chunk-N4STXFCX.js";import"./chunk-4CLMG36L.js";import{B as di,E as St,F as pi,b as he,c as J,h as q,l as $e,o as N,s as nt,z as ot}from"./chunk-DHBFOXIN.js";import"./chunk-BQYHRA5F.js";import"./chunk-OR3WIH25.js";import"./chunk-VFWU5XQ6.js";import{b as j}from"./chunk-WXT6UMYF.js";import{a as T}from"./chunk-3DEA4WWC.js";import{a as Le}from"./chunk-ZGR5YDF3.js";import{n as B,q as L}from"./chunk-2WBWJI4D.js";import{A as oi,Bb as c,Cc as R,Db as s,Dc as M,Eb as li,Ec as $t,F as me,Fa as Se,Fb as k,Gb as V,Hb as F,Ib as u,Jb as n,Jd as mi,Kb as o,Kc as b,Lb as x,Lc as E,Mc as ae,N as Qe,Qc as Ee,R as ai,Rd as pe,Sa as ri,Td as ve,Ub as f,Ud as $,Wd as Jt,Xb as h,Z as Be,Za as r,Zb as p,aa as Ke,ba as Pe,d as ni,e as Ze,eb as g,ga as gt,hc as ge,ib as w,ic as xe,jb as vt,jc as be,kc as Kt,lc as K,mc as d,md as ht,nb as ne,nc as I,oa as xt,ob as oe,oc as P,pc as qe,ra as Ct,rc as y,sc as S,sd as et,tc as D,td as tt,u as ke,ud as it,v as Qt,va as _,wa as C,wd as U,yc as Re,zd as yt}from"./chunk-2ERDZXCS.js";import"./chunk-WFMAM73Y.js";import{a as ie,b as de}from"./chunk-SNAKHGZS.js";var qi=()=>["/menu/Promotion/Main/Pricebook/Form"],Ni=()=>["/menu/Promotion/Main/Pricebook/Info"],Oi=t=>({ID:t});function Wi(t,m){if(t&1){let e=f();n(0,"button",18),h("click",function(){_(e);let i=p(2);return C(i.openExportModal())}),x(1,"i",19),d(2," Export "),o()}}function Ui(t,m){if(t&1){let e=f();n(0,"a",20),h("click",function(){_(e);let i=p(2);return C(i.httpPostListID("ProductSetup/RemovePricebooks"))}),x(1,"i",21),d(2,"Delete "),o()}}function ji(t,m){t&1&&(n(0,"a",6),d(1,"Add"),o()),t&2&&u("routerLink",R(1,qi))}function Gi(t,m){if(t&1){let e=f();n(0,"th",11)(1,"input",22),h("change",function(i){_(e);let l=p(2);return C(l.onSelectAllData(i.target.checked))}),o()()}}function zi(t,m){if(t&1){let e=f();n(0,"td")(1,"input",27),D("ngModelChange",function(i){_(e);let l=p().$implicit;return S(l.selected,i)||(l.selected=i),C(i)}),o()()}if(t&2){let e=p().$implicit;r(),y("ngModel",e.selected)}}function Hi(t,m){if(t&1&&(n(0,"li"),d(1),o()),t&2){let e=p().$implicit;r(),I(e)}}function Qi(t,m){if(t&1&&(n(0,"ul",26),c(1,Hi,2,1,"li"),o()),t&2){let e=m.$implicit;r(),s(e!=null?1:-1)}}function Ki(t,m){t&1&&d(0," - ")}function $i(t,m){if(t&1&&(d(0),b(1,"date")),t&2){let e=p().$implicit;P(" ",ae(1,1,e.StartDate,"dd MMM yyyy")," ")}}function Ji(t,m){t&1&&d(0," - ")}function Yi(t,m){if(t&1&&(d(0),b(1,"date")),t&2){let e=p().$implicit;P(" ",ae(1,1,e.ExpirationDate,"dd MMM yyyy")," ")}}function Xi(t,m){if(t&1&&(n(0,"tr",23),c(1,zi,2,1,"td"),n(2,"td")(3,"a",24),d(4),o()(),n(5,"td",25),d(6),o(),n(7,"td"),V(8,Qi,2,1,"ul",26,k),o(),n(10,"td"),c(11,Ki,1,0)(12,$i,2,4),o(),n(13,"td"),c(14,Ji,1,0)(15,Yi,2,4),o(),n(16,"td"),d(17),o()()),t&2){let e=m.$implicit,a=p(2);K(e.expiredClass),u("cdkDragDisabled",!a.dragDrop.enabledDragItem),r(),s(a.roleService.promotion.Delete?1:-1),r(2),u("routerLink",R(11,Ni))("queryParams",M(12,Oi,e.ID)),r(),I(e.Name),r(2),I(e.MinimumQuantity),r(2),F(e.Outlets),r(3),s(e.StartDate==a.minDate?11:12),r(3),s(e.ExpirationDate==a.minDate?14:15),r(3),I(e.Description)}}function Zi(t,m){if(t&1){let e=f();n(0,"mainpanel-cmp",1),D("textChange",function(i){_(e);let l=p();return S(l.pageData.Filter.Name,i)||(l.pageData.Filter.Name=i),C(i)}),h("onSubmit",function(){_(e);let i=p();return C(i.searchFromPageOne())}),n(1,"actions"),c(2,Wi,3,0,"button",2),n(3,"button",3),h("click",function(){_(e);let i=p();return C(i.onPutSaveDragAndDrop("ProductSetup/SortPricebook"))}),x(4,"i",4),d(5),o(),c(6,Ui,3,0,"a",5),c(7,ji,2,2,"a",6),o(),n(8,"content")(9,"div",7)(10,"div",8)(11,"table",9)(12,"thead",10)(13,"tr"),c(14,Gi,2,0,"th",11),n(15,"th",12),d(16,"Name"),o(),n(17,"th",13),d(18," Min Qty "),o(),n(19,"th",12),d(20,"Outlet"),o(),n(21,"th",14),d(22,"Start"),o(),n(23,"th",14),d(24,"Expiration"),o(),n(25,"th"),d(26,"Description"),o()()(),n(27,"tbody",15),h("cdkDropListDropped",function(i){_(e);let l=p();return C(l.dragDrop.drop(i,l.data))}),V(28,Xi,18,14,"tr",16,k),o()()(),n(30,"POS-complex-pagination",17),h("jumpToPage",function(){_(e);let i=p();return C(i.getListData())})("previousPage",function(){_(e);let i=p();return C(i.getListData())})("nextPage",function(){_(e);let i=p();return C(i.getListData())}),o()()()()}if(t&2){let e=p();u("pageData",e.menuData)("hideSearchDropdown",!0),y("text",e.pageData.Filter.Name),r(2),s(e.roleService.global.Export?2:-1),r(3),P("",e.dragDrop.enabledDragItem?"Save Changes":"Sort"," "),r(),s(e.getSelectedData().length>0?6:-1),r(),s(e.roleService.promotion.Create?7:-1),r(7),s(e.roleService.promotion.Delete?14:-1),r(14),F(e.data.Data),r(2),u("total",e.data.Data.length)("pageData",e.pageData)}}var Et=class t extends Ne{constructor(e,a,i,l,v,O){super(e,a,"Promotion/GetPricebookList",null,i);this.roleService=l;this.matDialog=v;this.csvConverter=O}minDate=T.MinDate;postInit(e){e.Data=e?.Data?.map(a=>(a.expiredClass=this.setExpirationStatus(a),a))}openExportModal(){this.matDialog.open(ue,{data:{title:"Pricebook",exportTypes:[{ID:"PromotionExport/GetPricebookList",Value:"Default",FileName:"Pricebook"}],filterExport:this.pageData.Filter,getAllDataLengthAPI:"",pagination:!0}})}setExpirationStatus(e){let a=this.getTodayDate(),i,l=e.ExpirationDate==T.MinDate?null:new Date(e.ExpirationDate);if(l){let v=a.getTime(),O=l.getTime();v==O?i="bg-gradient-warning":v>O&&(i="bg-gradient-danger")}return i}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)(g(Z),g(L),g(B),g(j),g(X),g(ye))};static \u0275cmp=w({type:t,selectors:[["POS-pricebook"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[[3,"pageData","hideSearchDropdown","text"],[3,"textChange","onSubmit","pageData","hideSearchDropdown","text"],[1,"btn","btn-outline-secondary"],["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"],[1,"btn","btn-outline-secondary","ms-3"],[1,"button","btn","btn-success","ms-3",3,"routerLink"],[1,"container-fluid","mt-5"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[2,"width","14px"],[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"],["cdkDrag","",1,"border-bottom",3,"class","cdkDragDisabled"],["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"],["type","checkbox",3,"change"],["cdkDrag","",1,"border-bottom",3,"cdkDragDisabled"],[3,"routerLink","queryParams"],[1,"text-end"],[1,"mb-0"],["type","checkbox",3,"ngModelChange","ngModel"]],template:function(a,i){a&1&&c(0,Zi,31,10,"mainpanel-cmp",0),a&2&&s(i.data?0:-1)},dependencies:[$,ee,he,q,N,mt,Ci,_i,Ie,it],encapsulation:2})};var en=()=>["/menu/Promotion/Main/Pricebook/Form"],Vi=t=>({ID:t});function tn(t,m){if(t&1&&(n(0,"a",2),x(1,"i",26),d(2,"Edit"),o()),t&2){let e=p(2);u("routerLink",R(2,en))("queryParams",M(3,Vi,e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.ID))}}function nn(t,m){if(t&1){let e=f();n(0,"a",27),h("click",function(){_(e);let i=p(2);return C(i.delete(i.data==null||i.data.Data==null||i.data.Data.Info==null?null:i.data.Data.Info.ID))}),x(1,"i",28),d(2,"Delete "),o()}}function on(t,m){if(t&1&&(n(0,"div",14),x(1,"lib-info-page-input",29),b(2,"IsMinDate"),o()),t&2){let e=p(2);r(),u("inputValue",ae(2,1,e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.StartDate,"dd MMM yyyy"))}}function an(t,m){if(t&1&&(n(0,"div",14),x(1,"lib-info-page-input",30),b(2,"IsMinDate"),o()),t&2){let e=p(2);r(),u("inputValue",ae(2,1,e.data==null||e.data.Data==null||e.data.Data.Info==null?null:e.data.Data.Info.ExpirationDate,"dd MMM yyyy"))}}function rn(t,m){if(t&1&&(n(0,"tr",36)(1,"td",37),d(2),o()()),t&2){let e=m.$implicit;r(2),P(" ",e==null?null:e.Name," ")}}function ln(t,m){if(t&1&&(n(0,"div",34)(1,"table",35)(2,"tbody"),V(3,rn,3,1,"tr",36,k),o()()()),t&2){let e=p(3);r(3),F(e.data==null||e.data.Data==null?null:e.data.Data.Entities)}}function mn(t,m){if(t&1){let e=f();n(0,"div",10)(1,"div",31)(2,"div",32),h("click",function(){_(e);let i=p(2);return C(i.toggleName=!i.toggleName)}),n(3,"h4",33),d(4,"Outlet"),o()(),c(5,ln,5,0,"div",34),o()()}if(t&2){let e=p(2);r(5),s(e.toggleName?-1:5)}}function dn(t,m){t&1&&(n(0,"span"),d(1),o()),t&2&&(r(),P("(",m.ListTotal," Items)"))}function pn(t,m){if(t&1){let e=f();n(0,"div",1)(1,"button",38),h("click",function(){_(e);let i=p(2);return C(i.openExportModal())}),x(2,"i",39),d(3,"Export "),o()()}}function cn(t,m){if(t&1&&(n(0,"tr",40)(1,"td")(2,"a",41),d(3),o()(),n(4,"td"),d(5),o(),n(6,"td",25),d(7),b(8,"number"),o(),n(9,"td",25),d(10),b(11,"number"),o(),n(12,"td",25),d(13),b(14,"number"),o()()),t&2){let e=m.$implicit;r(2),u("queryParams",M(12,Vi,e.VariantID)),r(),I(e.VariantName),r(2),I(e.VariantCode),r(2),P(" ",E(8,6,e.OriginalPrice)," "),r(3),P(" ",E(11,8,e.UnitPrice)," "),r(3),P(" ",E(14,10,e.PriceDiscount)," ")}}function sn(t,m){t&1&&V(0,cn,15,14,"tr",40,k),t&2&&F(m.Data)}function un(t,m){if(t&1){let e=f();n(0,"mat-paginator",43),h("page",function(i){_(e);let l=p(3);return C(l.onRequirementPaginationChange(i))}),o()}if(t&2){let e=m,a=p();u("length",e.ListTotal)("pageSize",e.Data.length)("pageIndex",a.pageIndex)}}function _n(t,m){if(t&1&&(c(0,un,1,3,"mat-paginator",42),b(1,"async")),t&2){let e,a=p(2);s((e=E(1,1,a.promotionRequirement$))?0:-1,e)}}function Cn(t,m){if(t&1&&(n(0,"mainpanel-cmp",0)(1,"actions")(2,"div",1),c(3,tn,3,5,"a",2),c(4,nn,3,0,"a",3),o()(),n(5,"content")(6,"div",4)(7,"div",5)(8,"div",6)(9,"div",7)(10,"div",8)(11,"h3"),d(12,"General"),o()(),n(13,"div",9)(14,"div",5)(15,"div",10)(16,"div",11),x(17,"lib-info-page-input",12),o()(),n(18,"div",10)(19,"div",11),x(20,"lib-info-page-input",13),o()()()()()(),n(21,"div",6)(22,"div",7)(23,"div",8)(24,"h3"),d(25,"Configuration"),o()(),n(26,"div",9)(27,"div",5),c(28,on,3,4,"div",14),c(29,an,3,4,"div",14),n(30,"div",10)(31,"div",11),x(32,"lib-info-page-input",15),o()(),c(33,mn,6,1,"div",10),o()()()(),n(34,"div",10)(35,"div",7)(36,"div",16)(37,"div",17)(38,"div",18)(39,"h3"),d(40,"Product"),o(),c(41,dn,2,1,"span"),b(42,"async"),o()(),n(43,"div",19),x(44,"input",20),c(45,pn,4,0,"div",1),o()(),n(46,"div",9)(47,"div",5)(48,"div",21)(49,"table",22)(50,"thead",23)(51,"tr")(52,"th"),d(53,"Name"),o(),n(54,"th",24),d(55,"Code"),o(),n(56,"th",25),d(57,"Original Price"),o(),n(58,"th",25),d(59,"Pricebook Price"),o(),n(60,"th",25),d(61,"Price Disc.(%)"),o()()(),n(62,"tbody"),c(63,sn,2,0),b(64,"async"),o()()()(),n(65,"div"),c(66,_n,2,3),b(67,"async"),o()()()()()()()()),t&2){let e,a,i,l=p();u("pageData",l.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(3),s(l.roleService.promotion.Edit?3:-1),r(),s(l.roleService.promotion.Delete?4:-1),r(13),u("inputValue",l.data==null||l.data.Data==null||l.data.Data.Info==null?null:l.data.Data.Info.Name),r(3),u("inputValue",l.data==null||l.data.Data==null||l.data.Data.Info==null?null:l.data.Data.Info.Description),r(8),s((l.data==null||l.data.Data==null||l.data.Data.Info==null?null:l.data.Data.Info.StartDate)!=l.minDate?28:-1),r(),s((l.data==null||l.data.Data==null||l.data.Data.Info==null?null:l.data.Data.Info.ExpirationDate)!=l.minDate?29:-1),r(3),u("inputValue",l.data==null||l.data.Data==null||l.data.Data.Info==null?null:l.data.Data.Info.MinimumQuantity),r(),s(!(l.data==null||l.data.Data==null||l.data.Data.Entities==null)&&l.data.Data.Entities.length?33:-1),r(8),s((e=E(42,16,l.promotionRequirement$))?41:-1,e),r(3),u("formControl",l.promotionRequirementQuery),r(),s(l.roleService.global.Export?45:-1),r(18),s((a=E(64,18,l.promotionRequirement$))?63:-1,a),r(3),s((i=E(67,20,l.promotionRequirementPagination))?66:-1,i)}}var Tt=class t extends je{constructor(e,a,i,l,v,O,De,_t){super(e,a,"Promotion/PricebooksInfo",i);this.router=l;this.csvConverter=v;this.roleService=O;this.matDialog=De;this.toastr=_t;let W=i.snapshot.queryParams.ID;this.promotionRequirement$=this.promotionRequirementQuery.valueChanges.pipe(Qe(700),Ke("")).pipe(gt(()=>this.promotionRequirementPagination.next({pageIndex:0})),ke(Q=>({query:Q,pagination:0})),Pe(({query:Q,pagination:Xe})=>this.onPageChange.asObservable().pipe(ke(()=>({query:Q,pagination:this.promotionRequirementPagination.value})))),Pe(({query:Q,pagination:Xe})=>a.post("/API/Promotion/PriceBookList",{ID:W,PageNumber:Xe.pageIndex+1,RowCount:20,Text:Q})),Be(1))}minDate=T.MinDate;toggleName=!1;promotionRequirementQuery=new $e("");promotionRequirementPagination=new Ze({pageIndex:0});promotionRequirement$;onPageChange=new Ze(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",A.Success),this.router.navigate(["/menu/Promotion/Main/Pricebook"])})}}onRequirementPaginationChange(e){this.promotionRequirementPagination.next(e),this.onPageChange.next()}openExportModal(){this.matDialog.open(ue,{data:{title:"Pricebook",exportTypes:[{ID:"PromotionExport/ExportPriceBook",Value:"Default"}],filterExport:de(ie({},this.data.Filter),{ID:this.route.snapshot.queryParamMap.get("ID")||""}),getAllDataLengthAPI:"",pagination:!1}})}static \u0275fac=function(a){return new(a||t)(g(Z),g(L),g(pe),g(ve),g(ye),g(j),g(X),g(B))};static \u0275cmp=w({type:t,selectors:[["POS-pricebook-info"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[[3,"pageData","hideSearchBox","hideSearchDropdown"],[1,"btn-group"],[1,"button","btn","btn-outline-secondary","border-end-0",3,"routerLink","queryParams"],[1,"btn","btn-outline-secondary"],[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"],[1,"form-floating-outline","col-sm-6"],["labelValue","Minimum Quantity",3,"inputValue"],[1,"card-header","d-flex"],[1,"me-auto","mt-5"],[1,"d-flex","gap-2","align-items-baseline"],[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"],[1,"col-sm-12"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[2,"width","45px"],[1,"text-end"],[1,"fa-solid","fa-pen-to-square","me-3"],[1,"btn","btn-outline-secondary",3,"click"],[1,"fa-solid","fa-trash","me-3"],["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"],[1,"content"],[1,"table","table-borderless"],[1,"mt-5"],[1,"ps-4","py-1"],[1,"btn","btn-outline-secondary","btn-sm",3,"click"],[1,"fa","fa-upload","me-3"],[1,"border-bottom"],["routerLink","/menu/Products/Catalog/Variants/Info","target","_blank",3,"queryParams"],[3,"length","pageSize","pageIndex"],[3,"page","length","pageSize","pageIndex"]],template:function(a,i){a&1&&c(0,Cn,68,22,"mainpanel-cmp",0),a&2&&s(i.data?0:-1)},dependencies:[$,ee,J,q,at,Ve,nt,et,U,Oe],styles:["input[_ngcontent-%COMP%]{background-color:#fff!important}"]})};var wt=class t{constructor(m,e,a,i){this.httpService=m;this.data=e;this.dialogRef=a;this.toastr=i;this.config=new Y,this.products=this.data.products,this.item=Object.assign({},this.data.item),this.index=this.data.index,T.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(Te.GetVariantOnSelectedIDByID,[{key:"ID",value:m}]).subscribe(e=>{this.products.findIndex(i=>m===i.VariantID)!=-1?(this.isAlreadyRegistered=!0,this.toastr.error(`${e.Name} already registered`,A.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(){T.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)(g(L),g(ce),g(z),g(B))};static \u0275cmp=w({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&&(n(0,"modal-material",0),h("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),n(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"autocompleteV2",5),h("onSelect",function(l){return a.changeVariant(l)})("keyup.enter",function(l){return l.stopPropagation()}),o()()()(),n(7,"div",2)(8,"div",3)(9,"div",4),x(10,"input",6),n(11,"label",7),d(12,"Variant Code"),o()()()(),n(13,"div",2)(14,"div",8)(15,"div",4),x(16,"input",9),b(17,"number"),n(18,"label",10),d(19,"Original Price"),o()()(),n(20,"div",11)(21,"div",4)(22,"input",12),D("ngModelChange",function(l){return S(a.item.UnitPrice,l)||(a.item.UnitPrice=l),l}),o(),n(23,"label",13),d(24,"Pricebook Price"),o()()(),n(25,"div",14)(26,"div",4)(27,"input",15),D("ngModelChange",function(l){return S(a.item.PriceDiscount,l)||(a.item.PriceDiscount=l),l}),o(),n(28,"label",16),d(29,"Disc %"),o()()()()()()()),e&2&&(u("config",a.config),r(6),u("renderThumbnail",!0)("inputTextValue",a.item.VariantName),r(4),u("value",a.item.VariantCode),r(6),u("value",E(17,8,a.item.OriginalPrice)),r(6),y("ngModel",a.item.UnitPrice),r(5),y("ngModel",a.item.PriceDiscount),u("max",100))},dependencies:[J,q,N,G,se,we,U],styles:["autocompletev2[_ngcontent-%COMP%] input{font-size:16px!important;height:58px}"]})};function fn(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.assignFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleImportFileUrl)("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function gn(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.assignFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleImportFileUrl)("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function xn(t,m){if(t&1&&(c(0,fn,1,2,"POS-uppy",2),c(1,gn,1,2,"POS-uppy",2)),t&2){let e=p();s(e.uploadState()===e.uploadStateEnum.Idle||e.uploadState()===e.uploadStateEnum.Uploading?0:-1),r(),s(e.uploadState()===e.uploadStateEnum.Success||e.uploadState()===e.uploadStateEnum.Error?1:-1)}}var Vt=class t{constructor(m,e){this.dialogRef=m;this.config=e.config}httpService=Ct(L);fileInput;sampleImportFileUrl=Le.files.csv.pricebook_import;config;uploadState=Se(0);uploadStateEnum=Ue;fil;matDialogRef=Ct(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)(g(z),g(ce))};static \u0275cmp=w({type:t,selectors:[["POS-modal-import-price-book"]],standalone:!1,decls:3,vars:1,consts:[["modalContent",""],[3,"onOk","onCancel","onClose","config"],[3,"sampleUrl","subtitle"],[3,"fileUploaded","sampleUrl","subtitle"]],template:function(e,a){e&1&&(n(0,"modal-material",1),h("onOk",function(){return a.onOk()})("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()}),oe(1,xn,2,2,"ng-template",null,0,Ee),o()),e&2&&u("config",a.config)},dependencies:[G,We],encapsulation:2})};var vn=()=>["/menu/Promotion/Main/Pricebook"],hn=t=>({selected:t});function yn(t,m){t&1&&(n(0,"small",15),d(1,"Name is required."),o())}function Sn(t,m){if(t&1&&(x(0,"input",40),d(1),b(2,"uppercase")),t&2){let e=m.item,a=m.item$,i=m.index;u("id",Re("item-",i))("ngModel",a.selected),r(),P(" ",E(2,4,e.selectAll)," ")}}function Dn(t,m){if(t&1&&(x(0,"input",40),d(1)),t&2){let e=m.item,a=m.item$,i=m.index;u("id",Re("item-",i))("ngModel",a.selected),r(),P(" ",e.Name," ")}}function Pn(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p(2);r(),P("(",e.data.List.length," Items)")}}function bn(t,m){if(t&1){let e=f();n(0,"div",33)(1,"a",32),h("click",function(){_(e);let i=p(2);return C(i.openVariantDialog())}),x(2,"span",41),d(3," Add a Variant "),o()()}}function En(t,m){t&1&&x(0,"th",36)}function In(t,m){if(t&1){let e=f();n(0,"td")(1,"i",44),h("click",function(){_(e);let i=p().$index,l=p(2);return C(l.data.List.splice(i,1))}),o()()}}function Tn(t,m){if(t&1){let e=f();n(0,"a",45),h("click",function(){_(e);let i=p(),l=i.$implicit,v=i.$index,O=p(2);return C(O.openVariantDialog(l,v))}),d(1),o()}if(t&2){let e=p().$implicit;r(),P(" ",e.VariantName," ")}}function wn(t,m){if(t&1&&d(0),t&2){let e=p().$implicit;P(" ",e.VariantName," ")}}function Mn(t,m){if(t&1&&(n(0,"tr",39),c(1,In,2,0,"td"),n(2,"td",42),c(3,Tn,2,1,"a",43)(4,wn,1,1),o(),n(5,"td"),d(6),o(),n(7,"td",38),d(8),b(9,"number"),o(),n(10,"td",38),d(11),b(12,"number"),o(),n(13,"td",38),d(14),b(15,"number"),o()()),t&2){let e=m.$implicit,a=p(2);r(),s(a.roleService.promotion.Create||a.roleService.promotion.Edit?1:-1),r(2),s(a.roleService.promotion.Create||a.roleService.promotion.Edit?3:4),r(3),I(e.VariantCode),r(2),I(E(9,6,e.OriginalPrice)),r(3),I(E(12,8,e.UnitPrice)),r(3),I(E(15,10,e.PriceDiscount))}}function Vn(t,m){if(t&1){let e=f();n(0,"mainpanel-cmp",2)(1,"actions")(2,"a",3),d(3,"Cancel"),o(),n(4,"a",4),h("click",function(){_(e);let i=p();return C(i.validate())}),d(5,"Save"),o()(),n(6,"content")(7,"div",5)(8,"div",6)(9,"div",7)(10,"div",8)(11,"div",9)(12,"h3"),d(13,"General"),o()(),n(14,"div",10)(15,"div",6)(16,"div",11)(17,"div",12)(18,"input",13,0),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.Name,i)||(l.formData.Name=i),C(i)}),o(),n(20,"label",14),d(21,"Name"),o(),c(22,yn,2,0,"small",15),o()(),n(23,"div",11)(24,"div",12)(25,"textarea",16),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.Description,i)||(l.formData.Description=i),C(i)}),o(),n(26,"label",17),d(27,"Description"),o()()()()()()(),n(28,"div",7)(29,"div",8)(30,"div",9)(31,"h3"),d(32,"Configuration"),o()(),n(33,"div",10)(34,"div",6)(35,"div",18)(36,"datepicker",19),D("dateChange",function(i){_(e);let l=p();return S(l.formData.StartDate,i)||(l.formData.StartDate=i),C(i)}),o()(),n(37,"div",18)(38,"datepicker",20),D("dateChange",function(i){_(e);let l=p();return S(l.formData.ExpirationDate,i)||(l.formData.ExpirationDate=i),C(i)}),o()(),n(39,"div",11)(40,"div",12)(41,"input",21),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.MinimumQuantity,i)||(l.formData.MinimumQuantity=i),C(i)}),o(),n(42,"label",22),d(43,"Minimum Quantity"),o()()(),n(44,"div",11)(45,"div",23)(46,"ng-select",24,1),D("ngModelChange",function(i){_(e);let l=p();return S(l.entities,i)||(l.entities=i),C(i)}),oe(48,Sn,3,6,"ng-template",25)(49,Dn,2,4,"ng-template",26),o(),n(50,"label",27),d(51,"Outlet"),o()()()()()()(),n(52,"div",11)(53,"div",8)(54,"div",28)(55,"div",29)(56,"h3"),d(57,"Product"),o(),c(58,Pn,2,1,"span"),o(),n(59,"div",30)(60,"div",31)(61,"a",32),h("click",function(){_(e);let i=p();return C(i.openImportDialog())}),d(62," Import Price Book "),o()(),c(63,bn,4,0,"div",33),o()(),n(64,"div",10)(65,"div",6)(66,"div",11)(67,"table",34)(68,"thead",35)(69,"tr"),c(70,En,1,0,"th",36),n(71,"th"),d(72,"Name"),o(),n(73,"th",37),d(74,"Code"),o(),n(75,"th",38),d(76,"Original Price"),o(),n(77,"th",38),d(78,"Pricebook Price"),o(),n(79,"th",38),d(80,"Price Disc.(%)"),o()()(),n(81,"tbody"),V(82,Mn,16,12,"tr",39,k),o()()()()()()()()()()()}if(t&2){let e=ge(19),a=ge(47),i=p();u("pageData",i.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(2),u("routerLink",R(25,vn)),r(16),y("ngModel",i.formData.Name),r(4),s(e.touched&&(e.errors!=null&&e.errors.required)?22:-1),r(3),y("ngModel",i.formData.Description),r(11),y("date",i.formData.StartDate),u("showPlaceholder",!0),r(2),y("date",i.formData.ExpirationDate),u("showPlaceholder",!0),r(3),y("ngModel",i.formData.MinimumQuantity),r(4),K(M(26,hn,i.entities)),r(),u("items",i.options.Entities)("multiple",!0)("selectableGroup",!0)("selectableGroupAsModel",!1)("closeOnSelect",!1),y("ngModel",i.entities),r(4),xe("z-index",a.isOpen?"9999":""),r(8),s(i.data.List.length>0?58:-1),r(5),s(i.roleService.promotion.Create||i.roleService.promotion.Edit?63:-1),r(7),s(i.roleService.promotion.Create||i.roleService.promotion.Edit?70:-1),r(12),F(i.data.List)}}var Ft=class t extends je{constructor(e,a,i,l,v,O,De){super(e,a,"Promotion/PricebooksFormInitials",i);this.toastr=l;this.router=v;this.matDialog=O;this.roleService=De;this.products=[]}products;entities;uploadState=Se(0);uploadStateEnum=Ue;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=>de(ie({},a),{selectAll:"Select All"}))}validate(){if(T.IsEmpty(this.formData.Name)){this.toastr.error("Name is required.",A.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";T.IsEmpty(this.formData.model.ID)&&(e="add",this.state=e),this.toastr.success(`Success ${e} pricebook`,A.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 Y;e.title="Import Price Book",this.matDialog.open(Vt,{data:{config:e}}).afterClosed().pipe(me(a=>T.IsNotEmpty(a))).subscribe({next:a=>{a.forEach(i=>{let l=this.products.findIndex(v=>v.VariantID==i.VariantID);l!=-1?this.products[l]=i:this.products.push(i)})}})}static \u0275fac=function(a){return new(a||t)(g(Z),g(L),g(pe),g(B),g(ve),g(X),g(j))};static \u0275cmp=w({type:t,selectors:[["POS-pricebook-form"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[["name","ngModel"],["outlet",""],[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"],[2,"color","red"],["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"],[1,"d-sm-block","mt-2"],[1,"btn-group","me-5"],["role","button",1,"btn","btn-outline-secondary","btn-sm",3,"click"],[1,"btn-group"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],["width","15px"],[2,"width","45px"],[1,"text-end"],[1,"border-bottom"],["type","checkbox",3,"id","ngModel"],[1,"fa-solid","fa-circle-plus"],[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,i){a&1&&c(0,Vn,84,28,"mainpanel-cmp",2),a&2&&s(i.data&&i.formData?0:-1)},dependencies:[$,ee,J,he,q,ot,N,re,se,Me,Ie,rt,tt,U],styles:[".outlet-multiselect[_ngcontent-%COMP%] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:10px;padding-left:10px}"]})};function Fn(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.onSelectFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleImportFileUrl)("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function kn(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.onSelectFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleImportFileUrl)("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function Rn(t,m){if(t&1&&(c(0,Fn,1,2,"POS-uppy",2),c(1,kn,1,2,"POS-uppy",2)),t&2){let e=p();s(e.uploadState()===e.uploadStateEnum.Idle||e.uploadState()===e.uploadStateEnum.Uploading?0:-1),r(),s(e.uploadState()===e.uploadStateEnum.Success||e.uploadState()===e.uploadStateEnum.Error?1:-1)}}var kt=class t{constructor(m,e,a){this.dialogRef=m;this.toastService=e;this.httpService=a;this.config=new Y,this.config.title="Import Coupon"}config;file;uploadState=Se(0);uploadStateEnum=Ue;sampleImportFileUrl=Le.files.csv.promotion_coupon_import;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,A.Success),this.dialogRef.close("Success")},error:e=>{this.uploadState.set(3)}})}onClose(){this.dialogRef.close()}static \u0275fac=function(e){return new(e||t)(g(z),g(B),g(L))};static \u0275cmp=w({type:t,selectors:[["POS-modal-upload-generate-key"]],standalone:!1,decls:3,vars:1,consts:[["modalContent",""],[3,"onOk","onCancel","onClose","config"],[3,"sampleUrl","subtitle"],[3,"fileUploaded","sampleUrl","subtitle"]],template:function(e,a){e&1&&(n(0,"modal-material",1),h("onOk",function(){return a.onOk()})("onCancel",function(){return a.onClose()})("onClose",function(){return a.onClose()}),oe(1,Rn,2,2,"ng-template",null,0,Ee),o()),e&2&&u("config",a.config)},dependencies:[G,We],encapsulation:2})};var Ln=t=>({"border-end-0":t}),An=()=>["/menu/Promotion/Main/Coupon/Form"],Bn=()=>["/menu/Promotion/Main/Coupon/Info"],qn=t=>({ID:t});function Nn(t,m){if(t&1){let e=f();n(0,"a",16),h("click",function(){_(e);let i=p(2);return C(i.httpPostListID("Promotion/RemoveKey"))}),x(1,"i",17),d(2,"Delete "),o()}}function On(t,m){if(t&1){let e=f();n(0,"button",16),h("click",function(){_(e);let i=p(2);return C(i.onImport())}),x(1,"i",18),d(2,"Import "),o()}if(t&2){let e=p(2);K(M(2,Ln,e.roleService.global.Export))}}function Wn(t,m){if(t&1){let e=f();n(0,"button",16),h("click",function(){_(e);let i=p(2);return C(i.openExportModal())}),x(1,"i",19),d(2," Export "),o()}}function Un(t,m){t&1&&(n(0,"a",6),d(1,"Add"),o()),t&2&&u("routerLink",R(1,An))}function jn(t,m){if(t&1){let e=f();n(0,"div",20)(1,"h6"),d(2,"Balance From - To"),o(),n(3,"div",21)(4,"input",22),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.FromUsageBalance,i)||(l.pageData.Filter.FromUsageBalance=i),C(i)}),o(),d(5," - "),n(6,"input",22),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.ToUsageBalance,i)||(l.pageData.Filter.ToUsageBalance=i),C(i)}),o()(),n(7,"h6"),d(8,"Customer"),o(),n(9,"autocompleteV2",23),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.CustomerID,i)||(l.pageData.Filter.CustomerID=i),C(i)}),o(),n(10,"h6"),d(11,"Type"),o(),n(12,"ng-select",24),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.TypeID,i)||(l.pageData.Filter.TypeID=i),C(i)}),o(),n(13,"h6"),d(14,"Usage Status"),o(),n(15,"ng-select",24),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.UsageStatusID,i)||(l.pageData.Filter.UsageStatusID=i),C(i)}),o(),n(16,"h6"),d(17,"Created"),o(),n(18,"div",25)(19,"datepicker",26),D("dateChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.FromCreated,i)||(l.pageData.Filter.FromCreated=i),C(i)}),o(),n(20,"datepicker",27),D("dateChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.ToCreated,i)||(l.pageData.Filter.ToCreated=i),C(i)}),o()(),n(21,"h6"),d(22,"Expiry"),o(),n(23,"div",25)(24,"datepicker",26),D("dateChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.FromExpiry,i)||(l.pageData.Filter.FromExpiry=i),C(i)}),o(),n(25,"datepicker",27),D("dateChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.ToExpiry,i)||(l.pageData.Filter.ToExpiry=i),C(i)}),o()(),n(26,"h6"),d(27,"Reference ID"),o(),n(28,"div")(29,"input",28),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.ReferenceID,i)||(l.pageData.Filter.ReferenceID=i),C(i)}),o()()(),n(30,"h6"),d(31,"Row Count"),o(),n(32,"div")(33,"input",29),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.RowCount,i)||(l.pageData.Filter.RowCount=i),C(i)}),o()()}if(t&2){let e=p(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),u("items",e.pageData.Options.AuthorizationTypes),y("ngModel",e.pageData.Filter.TypeID),r(3),u("items",e.pageData.Options.StatusTypes),y("ngModel",e.pageData.Filter.UsageStatusID),r(4),u("isFloatingLabel",!1),y("date",e.pageData.Filter.FromCreated),r(),u("isFloatingLabel",!1),y("date",e.pageData.Filter.ToCreated),r(4),u("isFloatingLabel",!1),y("date",e.pageData.Filter.FromExpiry),r(),u("isFloatingLabel",!1),y("date",e.pageData.Filter.ToExpiry),r(4),y("ngModel",e.pageData.Filter.ReferenceID),r(4),y("ngModel",e.pageData.Filter.RowCount)}}function Gn(t,m){if(t&1){let e=f();n(0,"th",11)(1,"input",30),h("change",function(i){_(e);let l=p(2);return C(l.onSelectAllData(i.target.checked))}),o()()}}function zn(t,m){if(t&1){let e=f();n(0,"td")(1,"input",33),D("ngModelChange",function(i){_(e);let l=p().$implicit;return S(l.selected,i)||(l.selected=i),C(i)}),o()()}if(t&2){let e=p().$implicit;r(),y("ngModel",e.selected)}}function Hn(t,m){if(t&1&&(n(0,"a",31),d(1),o()),t&2){let e=p().$implicit;u("routerLink",R(3,Bn))("queryParams",M(4,qn,e.ID)),r(),P("",e.Code," ")}}function Qn(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p().$implicit;r(),I(e.Code)}}function Kn(t,m){if(t&1&&(n(0,"span"),d(1),b(2,"number"),b(3,"number"),o()),t&2){let e=p().$implicit;r(),qe("",E(2,2,e.UsageBalance)," / ",E(3,4,e.UsageLimit))}}function $n(t,m){t&1&&(n(0,"span"),d(1,"\u221E"),o())}function Jn(t,m){if(t&1&&(n(0,"span"),d(1),b(2,"number"),o()),t&2){let e=p().$implicit;r(),P("",E(2,1,e.Discount),"%")}}function Yn(t,m){if(t&1&&(n(0,"span"),d(1),b(2,"number"),o()),t&2){let e=p().$implicit;r(),I(E(2,1,e.Discount))}}function Xn(t,m){t&1&&(n(0,"span"),d(1,"-"),o())}function Zn(t,m){if(t&1&&(n(0,"div")(1,"span",34),d(2),o()()),t&2){let e=p().$implicit;r(2),P("Specific ",e.RequirementTypeID==1?"Products":"Categories")}}function eo(t,m){if(t&1&&(n(0,"div")(1,"span",34),d(2,"Customer:"),o(),d(3),o()),t&2){let e=p().$implicit;r(3),P(" ",e.CustomerName," ")}}function to(t,m){if(t&1&&(n(0,"li"),d(1),o()),t&2){let e=m.$implicit;r(),P(" ",e," ")}}function io(t,m){if(t&1&&(n(0,"div",34),d(1,"Outlets:"),o(),n(2,"ul",35),V(3,to,2,1,"li",null,k),o()),t&2){let e=p().$implicit;r(3),F(e.Outlets)}}function no(t,m){if(t&1&&(n(0,"div")(1,"span",34),d(2,"Min Spending:"),o(),d(3),b(4,"number"),o()),t&2){let e=p().$implicit;r(3),P(" ",E(4,1,e.MinimumAmount)," ")}}function oo(t,m){if(t&1&&(n(0,"tr",14),c(1,zn,2,1,"td"),n(2,"td"),c(3,Hn,2,6,"a",31)(4,Qn,2,1,"span"),o(),n(5,"td"),c(6,Kn,4,6,"span"),c(7,$n,2,0,"span"),o(),n(8,"td"),d(9),o(),n(10,"td",32),c(11,Jn,3,3,"span"),c(12,Yn,3,3,"span"),c(13,Xn,2,0,"span"),o(),n(14,"td"),d(15),b(16,"IsMinDate"),o(),n(17,"td"),d(18),b(19,"IsMinDate"),o(),n(20,"td"),c(21,Zn,3,1,"div"),c(22,eo,4,1,"div"),c(23,io,5,0),c(24,no,5,3,"div"),o()()),t&2){let e=m.$implicit,a=p(2);r(),s(a.roleService.promotion.Delete?1:-1),r(2),s(!(a.roleService==null||a.roleService.promotion==null)&&a.roleService.promotion.View?3:4),r(3),s(e.UsageLimit!=0?6:-1),r(),s(e.UsageLimit==0?7:-1),r(2),I(e.AuthorizationTypeString),r(2),s(e.AuthorizationType==1?11:-1),r(),s(e.AuthorizationType==2?12:-1),r(),s(e.AuthorizationType>2?13:-1),r(2),I(E(16,14,e.StartDate)),r(3),I(E(19,16,e.ExpiryDate)),r(3),s(e.RequirementTypeID!=0?21:-1),r(),s(e.CustomerName?22:-1),r(),s((e.Outlets==null?null:e.Outlets.length)>0?23:-1),r(),s(e.MinimumAmount?24:-1)}}function ao(t,m){if(t&1){let e=f();n(0,"mat-paginator",36),h("page",function(i){_(e);let l=p(2);return C(l.onPaginationChange(i))}),o()}if(t&2){let e=p(2);u("length",e.pagination.listTotal)("pageSize",e.pagination.pageSize)("pageIndex",e.pageData.Filter.PageNumber==0?0:e.pageData.Filter.PageNumber-1)}}function ro(t,m){if(t&1){let e=f();n(0,"mainpanel-cmp",2),D("textChange",function(i){_(e);let l=p();return S(l.pageData.Filter.code,i)||(l.pageData.Filter.code=i),C(i)}),h("onSubmit",function(){_(e);let i=p();return C(i.searchFromPageOne())}),D("filterChange",function(i){_(e);let l=p();return S(l.pageData.Filter,i)||(l.pageData.Filter=i),C(i)}),n(1,"actions"),c(2,Nn,3,0,"a",3),n(3,"div",4),c(4,On,3,4,"button",5),c(5,Wn,3,0,"button",3),o(),c(6,Un,2,2,"a",6),o(),n(7,"filters"),oe(8,jn,34,17,"ng-template",null,0,Ee),o(),n(10,"content")(11,"div",7)(12,"div",8)(13,"table",9)(14,"thead",10)(15,"tr"),c(16,Gn,2,0,"th",11),n(17,"th"),d(18,"Coupon"),o(),n(19,"th"),d(20,"Balance"),o(),n(21,"th"),d(22,"Type"),o(),n(23,"th",12),d(24,"Discount"),o(),n(25,"th",13),d(26,"Start"),o(),n(27,"th",13),d(28,"Expiry"),o(),n(29,"th"),d(30,"Requirement"),o()()(),n(31,"tbody"),V(32,oo,25,18,"tr",14,k),o()()(),n(34,"div"),c(35,ao,1,3,"mat-paginator",15),o()()()()}if(t&2){let e=p();u("pageData",e.menuData),y("text",e.pageData.Filter.code),u("isFilterOnDropdown",!1),y("filter",e.pageData.Filter),r(2),s(e.getSelectedData().length>0?2:-1),r(2),s(e.roleService.promotion.Create?4:-1),r(),s(e.roleService.global.Export?5:-1),r(),s(e.roleService.promotion.Create?6:-1),r(10),s(e.roleService.promotion.Delete?16:-1),r(16),F(e.data.Data),r(3),s(e.pagination.listTotal>0?35:-1)}}var Rt=class t extends Ne{constructor(e,a,i,l,v,O,De){super(e,a,"Promotion/GetPromotionCouponList","PromotionLoader/PromotionLoader",i,De);this.csvConverter=l;this.matDialog=v;this.roleService=O}onImport(){this.matDialog.open(kt).afterClosed().pipe(me(e=>T.IsNotEmpty(e))).subscribe(()=>this.getListData())}openExportModal(){this.matDialog.open(ue,{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)(g(Z),g(L),g(B),g(ye),g(X),g(j),g(pe))};static \u0275cmp=w({type:t,selectors:[["POS-promotion-coupon"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[["pageFilterTemplate",""],[3,"pageData","text","isFilterOnDropdown","filter"],[3,"textChange","onSubmit","filterChange","pageData","text","isFilterOnDropdown","filter"],[1,"btn","btn-outline-secondary"],[1,"btn-group","ms-3"],[1,"btn","btn-outline-secondary",3,"class"],[1,"button","btn","btn-success","ms-3",3,"routerLink"],[1,"container-fluid","mt-5"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[2,"width","14px"],[1,"text-end",2,"width","100px"],[2,"width","150px"],[1,"border-bottom"],[3,"length","pageSize","pageIndex"],[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,"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"],["autoNum","","type","text",1,"form-control","input-filter",3,"ngModelChange","ngModel"],["type","checkbox",3,"change"],[3,"routerLink","queryParams"],[1,"text-end"],["type","checkbox",3,"ngModelChange","ngModel"],[1,"fw-bold"],[1,"ps-3","ms-12","mb-0"],[3,"page","length","pageSize","pageIndex"]],template:function(a,i){a&1&&c(0,ro,36,10,"mainpanel-cmp",1),a&2&&s(i.data?0:-1)},dependencies:[$,ee,J,he,q,N,re,se,we,at,Me,U,Oe],styles:["ng-select[_ngcontent-%COMP%] div.ng-option{white-space:normal!important}"]})};var lo=()=>["/menu/Promotion/Main/Coupon/Form"],At=t=>({ID:t}),mo=t=>({CategoryID:t}),po=t=>({Filter:t}),co=()=>["/menu/Orders/Orders/Customer_Invoice/Info"];function so(t,m){if(t&1&&(n(0,"a",3),x(1,"i",25),d(2,"Edit "),o()),t&2){let e=p(2);u("routerLink",R(2,lo))("queryParams",M(3,At,e.data.Detail.ID))}}function uo(t,m){if(t&1){let e=f();n(0,"button",26),h("click",function(){_(e);let i=p(2);return C(i.delete(i.data.Detail.ID))}),x(1,"i",27),d(2,"Delete "),o()}}function _o(t,m){if(t&1&&(n(0,"div",13)(1,"div",11),x(2,"lib-info-page-input",28),b(3,"number"),o()()),t&2){let e=p(2);r(2),u("inputValue",e.data.Detail.AuthorizationType==1?e.data.Detail.Discount+"%":E(3,1,e.data.Detail.Discount))}}function Co(t,m){if(t&1&&(n(0,"div",7)(1,"div",11),x(2,"lib-info-page-input",29),o()()),t&2){let e=p(2);r(2),u("inputValue",e.data.Detail.ReferenceID)}}function fo(t,m){if(t&1){let e=f();n(0,"div",30)(1,"div",33)(2,"ng-select",34,0),D("ngModelChange",function(i){_(e);let l=p(3);return S(l.outletIDs,i)||(l.outletIDs=i),C(i)}),o(),n(4,"label",35),d(5,"Outlet"),o()()()}if(t&2){let e=ge(3),a=p(3);r(2),u("items",a.data.Outlets)("readonly",!0),y("ngModel",a.outletIDs),u("multiple",!0),r(2),xe("z-index",e.isOpen?"9999":"")}}function go(t,m){if(t&1&&(n(0,"div",30)(1,"div",11)(2,"a",36),x(3,"lib-info-page-input",37),o()()()),t&2){let e=p(3);r(2),u("queryParams",M(2,At,e.data.Detail==null?null:e.data.Detail.CustomerID)),r(),u("inputValue",e.data==null?null:e.data.CustomerName)}}function xo(t,m){if(t&1&&(n(0,"div",30)(1,"div",11),x(2,"lib-info-page-input",38),b(3,"number"),o()()),t&2){let e=p(3);r(2),u("inputValue",E(3,1,e.data==null||e.data.Detail==null?null:e.data.Detail.MinimumAmount))}}function vo(t,m){if(t&1&&(n(0,"div",30)(1,"div",11),x(2,"lib-info-page-input",39),b(3,"number"),o()()),t&2){let e=p(3);r(2),u("inputValue",E(3,1,e.data==null||e.data.Detail==null?null:e.data.Detail.MaximumDiscount))}}function ho(t,m){if(t&1&&(n(0,"div",30)(1,"div",11),x(2,"lib-info-page-input",40),o()()),t&2){let e=p(3);r(2),u("inputValue",!(e.data==null||e.data.Detail==null)&&e.data.Detail.FullPriceProductOnly?"Yes":"No")}}function yo(t,m){if(t&1&&(n(0,"div",30)(1,"div",11),x(2,"lib-info-page-input",41),o()()),t&2){let e=p(3);r(2),u("inputValue",(e.data==null||e.data.Detail==null?null:e.data.Detail.MultipleItemRequirementDiscount)==0?"All":"Selected Item")}}function So(t,m){if(t&1&&(n(0,"div",8)(1,"div",9)(2,"h3"),d(3,"Requirements"),o()(),n(4,"div",10)(5,"div",6),c(6,fo,6,6,"div",30),c(7,go,4,4,"div",30),c(8,xo,4,3,"div",30),c(9,vo,4,3,"div",30),c(10,ho,3,1,"div",30),c(11,yo,3,1,"div",30),n(12,"div",30)(13,"div",11),x(14,"lib-info-page-input",31),o()(),n(15,"div",30)(16,"div",11),x(17,"lib-info-page-input",32),o()()()()()),t&2){let e=p(2);r(6),s(e.data.Outlets.length>0?6:-1),r(),s(e.data!=null&&e.data.CustomerName?7:-1),r(),s(!(e.data==null||e.data.Detail==null)&&e.data.Detail.MinimumAmount?8:-1),r(),s(!(e.data==null||e.data.Detail==null)&&e.data.Detail.MaximumDiscount?9:-1),r(),s((e.data==null||e.data.Detail==null?null:e.data.Detail.TypeId)==e.couponType.DiscountPercentage?10:-1),r(),s((e.data==null||e.data.Detail==null?null:e.data.Detail.RequirementTypeID)>0?11:-1),r(3),u("inputValue",e.requirementTypeDisplayLabel),r(3),u("inputValue",e.data==null||e.data.Detail==null?null:e.data.Detail.MultipleItemRequirementDiscountLabel)}}function Do(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p(4);r(),P("(",e.data.ListRequirementVariants.length," Items)")}}function Po(t,m){if(t&1&&c(0,Do,2,1,"span"),t&2){let e=p(3);s(e.data.ListRequirementVariants.length?0:-1)}}function bo(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p(4);r(),P("(",e.data.ListRequirementCategories.length," Items)")}}function Eo(t,m){if(t&1&&c(0,bo,2,1,"span"),t&2){let e=p(3);s(e.data.ListRequirementCategories.length?0:-1)}}function Io(t,m){if(t&1&&(n(0,"tr",51)(1,"td"),d(2),o(),n(3,"td")(4,"a",52),d(5),o()(),n(6,"td"),d(7),o(),n(8,"td",50),d(9),b(10,"number"),o()()),t&2){let e=m.$implicit,a=m.$index;r(2),I(a+1+"."),r(2),u("queryParams",M(7,At,e.VariantID)),r(),P(" ",e.VariantName," "),r(2),I(e.VariantCode),r(2),P(" ",E(10,5,e.UnitPrice)," ")}}function To(t,m){if(t&1&&(n(0,"div",45)(1,"table",46)(2,"thead",47)(3,"tr")(4,"th",48),d(5,"No"),o(),n(6,"th"),d(7,"Name"),o(),n(8,"th",49),d(9,"Code"),o(),n(10,"th",50),d(11,"Price"),o()()(),n(12,"tbody"),V(13,Io,11,9,"tr",51,k),o()()()),t&2){let e=p(3);r(13),F(e.data.ListRequirementVariants)}}function wo(t,m){if(t&1&&(n(0,"tr",51)(1,"td"),d(2),o(),n(3,"td",53)(4,"a",54),d(5),o()()()),t&2){let e=m.$implicit,a=m.$index;r(2),I(a+1+"."),r(2),u("queryParams",M(3,mo,e.CategoryID)),r(),P(" ",e.CategoryName," ")}}function Mo(t,m){if(t&1&&(n(0,"div",45)(1,"table",46)(2,"thead",47)(3,"tr")(4,"th",48),d(5,"No"),o(),n(6,"th"),d(7,"Name"),o()()(),n(8,"tbody"),V(9,wo,6,5,"tr",51,k),o()()()),t&2){let e=p(3);r(9),F(e.data.ListRequirementCategories)}}function Vo(t,m){if(t&1&&(n(0,"div",6)(1,"div",18)(2,"div",8)(3,"div",42)(4,"div",43)(5,"h3"),d(6),o(),c(7,Po,1,1)(8,Eo,1,1),o()(),n(9,"div",10)(10,"div",6)(11,"div",18)(12,"div",44),c(13,To,15,0,"div",45),c(14,Mo,11,0,"div",45),o()()()()()()()),t&2){let e,a=p(2);r(6),P(" ",a.data.Detail.RequirementTypeID==1?"Requirement":"Category"," "),r(),s((e=a.data.Detail.RequirementTypeID)===1?7:e===2?8:-1),r(6),s(a.data.Detail.RequirementTypeID==1?13:-1),r(),s(a.data.Detail.RequirementTypeID==2?14:-1)}}function Fo(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p(2);r(),P("(",e.Data.length," Invoices)")}}function ko(t,m){if(t&1&&(n(0,"tr")(1,"td",60),d(2),o(),n(3,"td"),d(4),o(),n(5,"td"),x(6,"a",66),o(),n(7,"td"),d(8),o(),n(9,"td"),d(10),b(11,"date"),o(),n(12,"td",50),d(13),b(14,"number"),o()()),t&2){let e=m.$implicit,a=m.$index;r(2),I(a+1),r(2),I(e.Outlet),r(2),u("routerLink",R(13,co))("queryParams",M(14,At,e.ID))("innerHTML",e.Number,ri),r(2),I(e.Name),r(2),I(ae(11,8,e.Date,"dd MMM yyyy")),r(3),I(E(14,11,e.Total))}}function Ro(t,m){if(t&1){let e=f();n(0,"div",8)(1,"div",55)(2,"div",56)(3,"h2",57),d(4,"Invoices"),o(),c(5,Fo,2,1,"span"),o(),n(6,"button",26),h("click",function(){_(e);let i=p(3);return C(i.openExportModal())}),x(7,"i",58),d(8,"Export "),o()(),n(9,"div",10)(10,"table",59)(11,"thead",47)(12,"tr")(13,"th",60),d(14,"No"),o(),n(15,"th",61),d(16,"Outlet"),o(),n(17,"th",62),d(18,"Number"),o(),n(19,"th",61),d(20,"Customer"),o(),n(21,"th",63),d(22,"Date"),o(),n(23,"th",64),d(24,"Amount"),o()()(),n(25,"tbody"),V(26,ko,15,16,"tr",null,k),o()(),n(28,"POS-complex-pagination",65),h("jumpToPage",function(){_(e);let i=p(3);return C(i.initObsInvoices())})("previousPage",function(){_(e);let i=p(3);return C(i.initObsInvoices())})("nextPage",function(){_(e);let i=p(3);return C(i.initObsInvoices())}),o()()()}if(t&2){let e=p(),a=p(2);r(5),s(e.Data?5:-1),r(21),F(e.Data),r(2),u("total",e==null||e.Data==null?null:e.Data.length)("pageData",M(3,po,a.invoiceFilter))}}function Lo(t,m){if(t&1&&c(0,Ro,29,5,"div",8),t&2){let e=m;s((e.Data==null?null:e.Data.length)>0?0:-1)}}function Ao(t,m){if(t&1&&(n(0,"div",22)(1,"div",8)(2,"div",9)(3,"h3"),d(4,"Loyalty Point"),o()(),n(5,"div",10)(6,"div",6)(7,"div",17)(8,"div",11),x(9,"lib-info-page-input",67),o()()()()()()),t&2){let e=p(2);r(9),u("inputValue",e.data.Detail.DeductionPoint)}}function Bo(t,m){if(t&1&&(n(0,"span")(1,"b"),d(2,"Modified:"),o(),d(3),o()),t&2){let e=p(2);r(3),qe(" ",e.data.DocumentInfo.Modified.Date," / ",e.data.DocumentInfo.Modified.User," ")}}function qo(t,m){if(t&1&&(n(0,"mainpanel-cmp",1)(1,"actions")(2,"div",2),c(3,so,3,5,"a",3),c(4,uo,3,0,"button",4),o()(),n(5,"content")(6,"div",5)(7,"div",6)(8,"div",7)(9,"div",8)(10,"div",9)(11,"h3"),d(12,"Coupon Info"),o()(),n(13,"div",10)(14,"div",6)(15,"div",7)(16,"div",11),x(17,"lib-info-page-input",12),o()(),n(18,"div",13)(19,"div",11),x(20,"lib-info-page-input",14),o()(),n(21,"div",7)(22,"div",11),x(23,"lib-info-page-input",15),o()(),c(24,_o,4,3,"div",13),c(25,Co,3,1,"div",7),o()()(),c(26,So,18,8,"div",8),c(27,Vo,15,4,"div",6),c(28,Lo,1,1),b(29,"async"),o(),n(30,"div",16)(31,"div",6)(32,"div",17)(33,"div",6)(34,"div",18)(35,"div",8)(36,"div",9)(37,"h3"),d(38,"Expiration Info"),o()(),n(39,"div",10)(40,"div",6)(41,"div",18)(42,"div",11),x(43,"lib-info-page-input",19),b(44,"IsMinDate"),o()(),n(45,"div",18)(46,"div",11),x(47,"lib-info-page-input",20),b(48,"IsMinDate"),o()(),n(49,"div",18)(50,"div",11),x(51,"lib-info-page-input",21),o()()()()()()()(),c(52,Ao,10,1,"div",22),o()()(),n(53,"div",23),x(54,"i",24),n(55,"span")(56,"b"),d(57,"Created:"),o(),d(58),o(),c(59,Bo,4,2,"span"),o()()()()),t&2){let e,a=p();u("pageData",a.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(3),s(a.roleService.promotion.Edit?3:-1),r(),s(a.roleService.promotion.Delete?4:-1),r(13),u("inputValue",a.data.Detail.Code),r(3),u("inputValue",a.data.Detail.UsageLimit==0?"\u221E":a.data.Detail.UsageBalance+" / "+a.data.Detail.UsageLimit),r(3),u("inputValue",a.data.Detail.AuthorizationTypeString),r(),s(a.data.Detail.AuthorizationType<3?24:-1),r(),s(a.data.Detail!=null&&a.data.Detail.ReferenceID?25:-1),r(),s(a.data.Outlets.length>0||a.data!=null&&a.data.CustomerName||!(a.data==null||a.data.Detail==null)&&a.data.Detail.MinimumAmount||(a.data==null||a.data.Detail==null?null:a.data.Detail.MaximumDiscount)>0||(a.data==null||a.data.Detail==null?null:a.data.Detail.TypeId)==a.couponType.DiscountPercentage?26:-1),r(),s(a.data.Detail.RequirementTypeID?27:-1),r(),s((e=E(29,20,a.invoices$))?28:-1,e),r(15),u("inputValue",ae(44,22,a.data.Detail.Created,"dd MMM yyyy")),r(4),u("inputValue",ae(48,25,a.data.Detail.ExpiryDate,"dd MMM yyyy")),r(4),u("inputValue",a.data.Detail.Description),r(),s(a.data.Detail.DeductionPoint!==0?52:-1),r(6),qe(" ",a.data.DocumentInfo.Created.Date," / ",a.data.DocumentInfo.Created.User," "),r(),s(a.data.DocumentInfo.Modified.User?59:-1)}}var Lt=class t extends Ne{constructor(e,a,i,l,v,O,De,_t){super(e,a,"Promotion/Info",null,i,v);this.toastr=i;this.router=l;this.csvConverter=O;this.roleService=De;this.dialog=_t}outletIDs;invoices$;invoiceFilter={ID:null,PageNumber:1,RowCount:100};couponType=bt;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(ue,{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",A.Success),this.router.navigate(["/menu/Promotion/Main/Coupon"])})}get requirementTypeDisplayLabel(){switch(this.data.Detail.RequirementTypeID){case 0:return"None";case 1:return"Variant";case 2:return"Category"}}static \u0275fac=function(a){return new(a||t)(g(Z),g(L),g(B),g(ve),g(pe),g(ye),g(j),g(X))};static \u0275cmp=w({type:t,selectors:[["POS-promotion-coupon-info"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[["outlet",""],[3,"pageData","hideSearchBox","hideSearchDropdown"],[1,"btn-group","me-5"],[1,"btn","btn-outline-secondary",3,"routerLink","queryParams"],[1,"btn","btn-outline-secondary"],[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"],[1,"col-4"],[1,"col-12"],[1,"col-sm-12"],["labelValue","Created on",3,"inputValue"],["labelValue","Expired on",3,"inputValue"],["labelValue","Description",3,"inputValue"],[1,"col"],[1,"alert","alert-warning","mt-5"],["aria-hidden","true",1,"fa-regular","fa-file","me-3"],[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","Reference ID",3,"inputValue"],[1,"col-sm-6"],["labelValue","Requirement Type",3,"inputValue"],["labelValue","Multiple Item Requirement Discount",3,"inputValue"],[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"],[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"],["api","Promotion/GetCountInvoicesUsedPromotion",3,"jumpToPage","previousPage","nextPage","total","pageData"],["target","_blank",3,"routerLink","queryParams","innerHTML"],["labelValue","Point Deduction",3,"inputValue"]],template:function(a,i){a&1&&c(0,qo,60,28,"mainpanel-cmp",1),a&2&&s(i.data?0:-1)},dependencies:[$,ee,q,N,re,mt,Ve,et,U,it,Oe],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 st=class t{constructor(m,e,a,i){this.httpService=m;this.data=e;this.dialogRef=a;this.toastr=i;this.config=new Y,this.variantList=this.data.variantList,this.rewardItems=this.data.rewardItems,this.item=Object.assign({},this.data.item),this.index=this.data.index,T.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(Te.GetVariantOnSelectedIDByID,[{key:"ID",value:m}]).subscribe(e=>{this.rewardItems.findIndex(i=>m===i.VariantID)!=-1?(this.isAlreadyRegistered=!0,this.toastr.error(`${e.Name} already registered`,A.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(){T.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",A.Error)}static \u0275fac=function(e){return new(e||t)(g(L),g(ce),g(z),g(B))};static \u0275cmp=w({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&&(n(0,"modal-material",0),h("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),n(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"autocompleteV2",5),h("onSelect",function(l){return a.changeVariant(l)}),o()()()(),n(7,"div",2)(8,"div",6),x(9,"lib-info-page-input",7),o(),n(10,"div",6),x(11,"lib-info-page-input",8),o()()()()()),e&2&&(u("config",a.config),r(6),u("inputTextValue",a.item.VariantName)("renderThumbnail",!0),r(3),u("inputValue",a.item.VariantCode),r(2),u("inputValue",a.item.UnitPrice))},dependencies:[G,we,Ve],styles:["autocompletev2[_ngcontent-%COMP%] input{font-size:16px!important;height:58px}"]})};function No(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.assignFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleUrl())("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function Oo(t,m){if(t&1){let e=f();n(0,"POS-uppy",3),h("fileUploaded",function(i){_(e);let l=p(2);return C(l.assignFile(i))}),o()}if(t&2){let e=p(2);u("sampleUrl",e.sampleUrl())("subtitle","Accepted file formats: .csv & max file size: 1 MB")}}function Wo(t,m){if(t&1&&(c(0,No,1,2,"POS-uppy",2),c(1,Oo,1,2,"POS-uppy",2)),t&2){let e=p();s(e.uploadState()===e.uploadStateEnum.Idle||e.uploadState()===e.uploadStateEnum.Uploading?0:-1),r(),s(e.uploadState()===e.uploadStateEnum.Success||e.uploadState()===e.uploadStateEnum.Error?1:-1)}}var Ye=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=Se(0);uploadStateEnum=Ue;sampleUrl=Se(null);ngOnInit(){this.initModalConfig()}initModalConfig(){this.modalConfig=new Y,this.type=="Purchase"?(this.modalConfig.title="Import Purchase Requirement Items",this.csvLink="https://cdn.dealpos.xyz/web-import-template/PurchaseRequirement.csv",this.API="/API/Promotion/ImportPurchaseRequirementCSV"):(this.modalConfig.title="Import Variant Items",this.csvLink="https://cdn.dealpos.xyz/web-import-template/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 mi&&this.uploadState.set(3)}})}onClose(){this.dialogRef.close()}assignFile(m){this.fileInput=m}static \u0275fac=function(e){return new(e||t)(g(z),g(L),g(ce))};static \u0275cmp=w({type:t,selectors:[["POS-modal-import-variant-items"]],standalone:!1,decls:3,vars:1,consts:[["modalContent",""],[3,"onOk","onCancel","onClose","config"],[3,"sampleUrl","subtitle"],[3,"fileUploaded","sampleUrl","subtitle"]],template:function(e,a){e&1&&(n(0,"modal-material",1),h("onOk",function(){return a.onOk()})("onCancel",function(){return a.onClose()})("onClose",function(){return a.onClose()}),oe(1,Wo,2,2,"ng-template",null,0,Ee),o()),e&2&&u("config",a.modalConfig)},dependencies:[G,We],encapsulation:2})};var Uo=t=>({selected:t}),ut=class t{constructor(m,e){this.data=m;this.dialogRef=e;this.config=new Y,this.categories=this.data.categories,this.categoryID=this.data.category?.CategoryID,this.categoryList=this.data.categoryList,this.index=this.data.index,T.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(T.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)(g(ce),g(z))};static \u0275cmp=w({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 i=f();n(0,"modal-material",1),h("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),n(1,"content")(2,"div",2)(3,"div",3)(4,"ng-select",4,0),D("ngModelChange",function(v){return _(i),S(a.categoryID,v)||(a.categoryID=v),C(v)}),h("change",function(v){return a.selectCategory(v)}),o()()()()()}e&2&&(u("config",a.config),r(4),K(M(5,Uo,a.categoryID)),u("items",a.categories),y("ngModel",a.categoryID))},dependencies:[q,N,re,G],styles:[`ng-dropdown-panel.category-select{z-index:1100}
|
|
2
2
|
`],encapsulation:2})};var ki=t=>({selected:t}),zo=()=>["/menu/Promotion/Main/Coupon/Info"],Ho=t=>({ID:t}),Qo=()=>["/menu/Promotion/Main/Coupon"];function Ko(t,m){if(t&1&&(n(0,"a",3),d(1,"Cancel"),o()),t&2){let e=p(2);u("routerLink",R(2,zo))("queryParams",M(3,Ho,e.data.Form.ID))}}function $o(t,m){t&1&&(n(0,"a",4),d(1,"Cancel"),o()),t&2&&u("routerLink",R(1,Qo))}function Jo(t,m){if(t&1){let e=f();n(0,"div",14)(1,"radio-options",40),D("modelChange",function(i){_(e);let l=p(2);return S(l.formData.GenerateType,i)||(l.formData.GenerateType=i),C(i)}),o(),n(2,"label",41),d(3,"Generate Type"),o()()}if(t&2){let e=p(2);r(),y("model",e.formData.GenerateType),u("options",e.typeOptions)("title",e.typeTooltips)}}function Yo(t,m){if(t&1){let e=f();n(0,"div",26)(1,"input",42),D("ngModelChange",function(i){_(e);let l=p(3);return S(l.formData.TotalCode,i)||(l.formData.TotalCode=i),C(i)}),o(),n(2,"label",43),d(3,"Total Coupon"),o()()}if(t&2){let e=p(3);r(),y("ngModel",e.formData.TotalCode)}}function Xo(t,m){if(t&1&&(n(0,"div",15),c(1,Yo,4,1,"div",26),o()),t&2){let e=p(2);r(),s(e.data.IsEdit?-1:1)}}function Zo(t,m){if(t&1){let e=f();n(0,"div",15)(1,"div",26)(2,"input",44),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.CustomPrefix,i)||(l.formData.CustomPrefix=i),C(i)}),o(),n(3,"label",45),d(4,"Prefix"),o()()()}if(t&2){let e=p(2);r(2),y("ngModel",e.formData.CustomPrefix)}}function ea(t,m){if(t&1){let e=f();n(0,"div",13)(1,"div",26)(2,"input",46),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.CustomCode,i)||(l.formData.CustomCode=i),C(i)}),o(),n(3,"label",47),d(4,"Coupon Code"),o()()()}if(t&2){let e=p(2);r(2),y("ngModel",e.formData.CustomCode)}}function ta(t,m){if(t&1){let e=f();n(0,"div",13)(1,"div",26)(2,"input",48),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.CustomCode,i)||(l.formData.CustomCode=i),C(i)}),o(),n(3,"label",49),d(4,"Coupon Code"),o()()()}if(t&2){let e=p(2);r(2),y("ngModel",e.formData.CustomCode)}}function ia(t,m){if(t&1){let e=f();n(0,"div",15)(1,"div",26)(2,"input",50),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.GeneratedCodeDigit,i)||(l.formData.GeneratedCodeDigit=i),C(i)}),o(),n(3,"label",51),d(4,"Total Digit"),o()()()}if(t&2){let e=p(2);r(2),y("ngModel",e.formData.GeneratedCodeDigit)}}function na(t,m){if(t&1){let e=f();n(0,"div",19)(1,"div",26)(2,"input",52,1),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.Discount,i)||(l.formData.Discount=i),C(i)}),o(),n(4,"label",53),d(5,"Discount (%)"),o()()()}if(t&2){let e=p(2);u("ngClass",e.formData.GenerateType==1&&!e.data.IsEdit?"col-sm-3":"col-sm-6"),r(2),u("disabled",e.data.IsEdit),y("ngModel",e.formData.Discount),u("preventNegative",!0)}}function oa(t,m){if(t&1){let e=f();n(0,"div",20)(1,"div",26)(2,"input",54),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.Discount,i)||(l.formData.Discount=i),C(i)}),o(),n(3,"label",53),d(4,"Discount Amount"),o()()()}if(t&2){let e=p(2);u("ngClass",e.formData.GenerateType==1&&!e.data.IsEdit?"col-sm-3":"col-sm-6"),r(2),u("disabled",e.data.IsEdit),y("ngModel",e.formData.Discount)}}function aa(t,m){if(t&1&&(x(0,"input",55),d(1),b(2,"uppercase")),t&2){let e=m.item,a=m.item$,i=m.index;u("id",Re("item-",i))("ngModel",a.selected),r(),P(" ",E(2,4,e.selectAll)," ")}}function ra(t,m){if(t&1&&(x(0,"input",55),d(1)),t&2){let e=m.item,a=m.item$,i=m.index;u("id",Re("item-",i))("ngModel",a.selected),r(),P(" ",e.Name," ")}}function la(t,m){if(t&1){let e=f();n(0,"div",13)(1,"div",26)(2,"input",56),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.MinimumAmount,i)||(l.formData.MinimumAmount=i),C(i)}),o(),n(3,"label",53),d(4,"Minimum Spending Amount"),o()()()}if(t&2){let e=p(2);r(2),y("ngModel",e.formData.MinimumAmount)}}function ma(t,m){if(t&1){let e=f();n(0,"div",13)(1,"div",14)(2,"radio-options",57),D("modelChange",function(i){_(e);let l=p(2);return S(l.formData.FullPriceProductOnly,i)||(l.formData.FullPriceProductOnly=i),C(i)}),o(),n(3,"label",41),d(4,"Full Price Item Only"),o()()()}if(t&2){let e=p(2);r(2),y("model",e.formData.FullPriceProductOnly),u("disabled",e.data.IsEdit)}}function da(t,m){if(t&1){let e=f();n(0,"div",13)(1,"div",26)(2,"input",58),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.MaximumDiscount,i)||(l.formData.MaximumDiscount=i),C(i)}),o(),n(3,"label",53),d(4,"Maximum Discount"),o()()()}if(t&2){let e=p(2);r(2),u("disabled",e.data.IsEdit),y("ngModel",e.formData.MaximumDiscount)}}function pa(t,m){if(t&1){let e=f();n(0,"div",13)(1,"div",59)(2,"label"),d(3,"Requirement Type"),o(),n(4,"radio-options",60),D("modelChange",function(i){_(e);let l=p(2);return S(l.formData.RequirementTypeID,i)||(l.formData.RequirementTypeID=i),C(i)}),o()()()}if(t&2){let e=p(2);r(4),u("options",e.requirementOptions),y("model",e.formData.RequirementTypeID),u("title",e.requirementOptionsTooltip)}}function ca(t,m){if(t&1){let e=f();n(0,"div",28)(1,"div",14)(2,"radio-options",40),D("modelChange",function(i){_(e);let l=p(2);return S(l.formData.RequirementDiscountType,i)||(l.formData.RequirementDiscountType=i),C(i)}),o(),n(3,"label",41),d(4,"Multiple Item Requirement Discount"),o()()()}if(t&2){let e=p(2);r(2),y("model",e.formData.RequirementDiscountType),u("options",e.options==null?null:e.options.DiscountScope)("title",e.RequirementDiscountTypeTooltips)}}function sa(t,m){if(t&1){let e=f();n(0,"input",61),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.UsageBalance,i)||(l.formData.UsageBalance=i),C(i)}),o()}if(t&2){let e=p(2);y("ngModel",e.formData.UsageBalance)}}function ua(t,m){if(t&1&&x(0,"input",32),t&2){let e=p(2);u("value",e.formData.UsageLimit==0?"\u221E":e.formData.UsageBalance+" / "+e.formData.UsageLimit)}}function _a(t,m){if(t&1){let e=f();n(0,"div",39)(1,"div",9)(2,"div",10)(3,"h3"),d(4,"Loyalty Point"),o()(),n(5,"div",11)(6,"div",12)(7,"div",30)(8,"div",26)(9,"input",62),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.DeductionPoint,i)||(l.formData.DeductionPoint=i),C(i)}),o(),n(10,"label",63),d(11,"Point Deduction"),o()()()()()()()}if(t&2){let e=p(2);r(9),y("ngModel",e.formData.DeductionPoint),u("disabled",e.data.IsEdit)}}function Ca(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p(4);r(),P("(",e.data.Form.ListRequirementVariants.length," Items)")}}function fa(t,m){if(t&1&&c(0,Ca,2,1,"span"),t&2){let e=p(3);s(e.data.Form.ListRequirementVariants.length>0?0:-1)}}function ga(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p(4);r(),P("(",e.data.Form.ListRequirementCategories.length," Items)")}}function xa(t,m){if(t&1&&c(0,ga,2,1,"span"),t&2){let e=p(3);s(e.data.Form.ListRequirementCategories.length>0?0:-1)}}function va(t,m){if(t&1){let e=f();n(0,"mat-button-toggle-group",71),D("ngModelChange",function(i){_(e);let l=p(3);return S(l.requirementButtonToggleState,i)||(l.requirementButtonToggleState=i),C(i)}),n(1,"mat-button-toggle",72),d(2),o(),n(3,"mat-button-toggle",73),d(4),o(),n(5,"mat-button-toggle",74),d(6),o()()}if(t&2){let e=p(3);y("ngModel",e.requirementButtonToggleState),r(2),P("Current (",e.data.Form.ListRequirementVariants.length,")"),r(2),P("Added (",e.addedRequirementItem.length,")"),r(2),P("Deleted (",e.removedRequirementItem.length,")")}}function ha(t,m){if(t&1){let e=f();n(0,"mat-button-toggle-group",71),D("ngModelChange",function(i){_(e);let l=p(3);return S(l.categoryButtonToggleState,i)||(l.categoryButtonToggleState=i),C(i)}),n(1,"mat-button-toggle",72),d(2),o(),n(3,"mat-button-toggle",73),d(4),o(),n(5,"mat-button-toggle",74),d(6),o()()}if(t&2){let e=p(3);y("ngModel",e.categoryButtonToggleState),r(2),P("Current (",e.data.Form.ListRequirementCategories.length,")"),r(2),P("Added (",e.addedRequirementItemCategory.length,")"),r(2),P("Deleted (",e.removedRequirementItemCategory.length,")")}}function ya(t,m){if(t&1){let e=f();n(0,"div",75)(1,"a",76),h("click",function(){_(e);let i=p(4);return C(i.openVariantDialog())}),x(2,"span",77),d(3," Add "),o(),n(4,"a",76),h("click",function(){_(e);let i=p(4);return C(i.openImportPurchaseItem())}),x(5,"span",78),d(6," Import "),o()()}}function Sa(t,m){if(t&1&&(n(0,"div",68),c(1,ya,7,0,"div",75),o()),t&2){let e=p(3);r(),s(e.roleService.promotion.Create||e.roleService.promotion.Edit?1:-1)}}function Da(t,m){if(t&1){let e=f();n(0,"div",68)(1,"div",75)(2,"a",76),h("click",function(){_(e);let i=p(3);return C(i.openAddCategory())}),x(3,"span",77),d(4," Add a Category "),o()()()}}function Pa(t,m){t&1&&x(0,"th",81)}function ba(t,m){if(t&1){let e=f();n(0,"td")(1,"i",88),h("click",function(){_(e);let i=p().$index,l=p(4);return C(l.removeRequirementItem(i))}),o()()}if(t&2){let e=p(5);r(),be("fa-xmark",e.requirementButtonToggleState!="Deleted")("fa-trash-undo",e.requirementButtonToggleState=="Deleted")}}function Ea(t,m){if(t&1){let e=f();n(0,"a",89),h("click",function(){_(e);let i=p(),l=i.$implicit,v=i.$index,O=p(4);return C(O.openVariantDialog(l,v))}),d(1),o()}if(t&2){let e=p().$implicit;r(),I(e.VariantName)}}function Ia(t,m){if(t&1&&d(0),t&2){let e=p().$implicit;P(" ",e.VariantName," ")}}function Ta(t,m){if(t&1&&(n(0,"tr",86),c(1,ba,2,4,"td"),n(2,"td"),d(3),o(),n(4,"td"),c(5,Ea,2,1,"a",87)(6,Ia,1,1),o(),n(7,"td"),d(8),o(),n(9,"td",84),d(10),b(11,"number"),o()()),t&2){let e=m.$implicit,a=m.$index,i=p(4);be("bg-gradient-warning",e.modified)("bg-gradient-success",i.requirementButtonToggleState=="Added")("bg-gradient-danger",i.requirementButtonToggleState=="Deleted"),r(),s(i.roleService.promotion.Delete?1:-1),r(2),I(a+1+"."),r(2),s(i.roleService.promotion.Create||i.roleService.promotion.Edit?5:6),r(3),I(e.VariantCode),r(2),P(" ",E(11,11,e.UnitPrice)," ")}}function wa(t,m){if(t&1&&(n(0,"div",70)(1,"table",79)(2,"thead",80)(3,"tr"),c(4,Pa,1,0,"th",81),n(5,"th",82),d(6,"No"),o(),n(7,"th"),d(8,"Name"),o(),n(9,"th",83),d(10,"Code"),o(),n(11,"th",84),d(12,"Price"),o()()(),n(13,"tbody"),V(14,Ta,12,13,"tr",85,k),o()()()),t&2){let e=p(3);r(4),s(e.roleService.promotion.Delete?4:-1),r(10),F(e.requirementButtonToggleState=="Added"?e.addedRequirementItem:e.requirementButtonToggleState=="Current"?e.data.Form.ListRequirementVariants:e.removedRequirementItem)}}function Ma(t,m){t&1&&x(0,"th",81)}function Va(t,m){if(t&1){let e=f();n(0,"td")(1,"i",91),h("click",function(){_(e);let i=p().$index,l=p(4);return C(l.removeCategory(i))}),o()()}}function Fa(t,m){if(t&1){let e=f();n(0,"td",90)(1,"a",89),h("click",function(){_(e);let i=p(),l=i.$implicit,v=i.$index,O=p(4);return C(O.openAddCategory(l,v))}),d(2),o()()}if(t&2){let e=p().$implicit;r(2),I(e.CategoryName)}}function ka(t,m){if(t&1&&(n(0,"tr",86),c(1,Va,2,0,"td"),n(2,"td"),d(3),o(),c(4,Fa,3,1,"td",90),o()),t&2){let e=m.$index,a=p(4);r(),s(a.roleService.promotion.Create||a.roleService.promotion.Edit?1:-1),r(2),I(e+1+"."),r(),s(a.roleService.promotion.Create||a.roleService.promotion.Edit?4:-1)}}function Ra(t,m){if(t&1&&(n(0,"div",70)(1,"table",79)(2,"thead",80)(3,"tr"),c(4,Ma,1,0,"th",81),n(5,"th",82),d(6,"No"),o(),n(7,"th"),d(8,"Name"),o()()(),n(9,"tbody"),V(10,ka,5,3,"tr",86,k),o()()()),t&2){let e=p(3);r(4),s(e.roleService.promotion.Create||e.roleService.promotion.Edit?4:-1),r(6),F(e.categoryButtonToggleState=="Added"?e.addedRequirementItemCategory:e.categoryButtonToggleState=="Current"?e.data.Form.ListRequirementCategories:e.removedRequirementItemCategory)}}function La(t,m){if(t&1&&(n(0,"div",12)(1,"div",28)(2,"div",9)(3,"div",64)(4,"div",65)(5,"div",66)(6,"h3"),d(7,"Requirement"),o(),c(8,fa,1,1)(9,xa,1,1),o(),c(10,va,7,4,"mat-button-toggle-group",67),c(11,ha,7,4,"mat-button-toggle-group",67),o(),c(12,Sa,2,1,"div",68),c(13,Da,5,0,"div",68),o(),n(14,"div",11)(15,"div",12)(16,"div",28)(17,"div",69),c(18,wa,16,1,"div",70),c(19,Ra,12,1,"div",70),o()()()()()()()),t&2){let e,a=p(2);r(8),s((e=a.formData.RequirementTypeID)===1?8:e===2?9:-1),r(2),s(a.data.isEdit&&a.formData.RequirementTypeID==1?10:-1),r(),s(a.data.isEdit&&a.formData.RequirementTypeID==2?11:-1),r(),s(a.formData.RequirementTypeID==1?12:-1),r(),s(a.formData.RequirementTypeID==2?13:-1),r(5),s(a.formData.RequirementTypeID==1?18:-1),r(),s(a.formData.RequirementTypeID==2?19:-1)}}function Aa(t,m){if(t&1){let e=f();n(0,"mainpanel-cmp",2)(1,"actions"),c(2,Ko,2,5,"a",3),c(3,$o,2,2,"a",4),n(4,"button",5),h("click",function(){_(e);let i=p();return C(i.validate())}),d(5," Save "),o()(),n(6,"content")(7,"div",6)(8,"div",7)(9,"div",8)(10,"div",9)(11,"div",10)(12,"h3"),d(13,"General"),o()(),n(14,"div",11)(15,"div",12)(16,"div",13),c(17,Jo,4,3,"div",14),o(),c(18,Xo,2,1,"div",15),c(19,Zo,5,1,"div",15),c(20,ea,5,1,"div",13),c(21,ta,5,1,"div",13),n(22,"div",13)(23,"div",16)(24,"ng-select",17),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.AuthorizationType,i)||(l.formData.AuthorizationType=i),C(i)}),o(),n(25,"label",18),d(26,"Type"),o()()(),c(27,ia,5,1,"div",15),c(28,na,6,4,"div",19),c(29,oa,5,3,"div",20),o()()(),n(30,"div",9)(31,"div",10)(32,"h3"),d(33,"Requirements"),o()(),n(34,"div",11)(35,"div",12)(36,"div",13)(37,"div",21)(38,"ng-select",22,0),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.OutletIDs,i)||(l.formData.OutletIDs=i),C(i)}),oe(40,aa,3,6,"ng-template",23)(41,ra,2,4,"ng-template",24),o(),n(42,"label",25),d(43,"Outlet"),o()()(),n(44,"div",13)(45,"div",26)(46,"autocompleteV2",27),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.CustomerID,i)||(l.formData.CustomerID=i),C(i)}),o()()(),c(47,la,5,1,"div",13),c(48,ma,5,2,"div",13),c(49,da,5,2,"div",13),c(50,pa,5,3,"div",13),c(51,ca,5,3,"div",28),o()()()(),n(52,"div",29)(53,"div",12)(54,"div",30)(55,"div",9)(56,"div",10)(57,"h3"),d(58,"Coupon Properties"),o()(),n(59,"div",11)(60,"div",12)(61,"div",28)(62,"div",26),c(63,sa,1,1,"input",31),c(64,ua,1,1,"input",32),n(65,"label",33),d(66,"Usage Limit"),o()()(),n(67,"div",28)(68,"datepicker",34),D("dateChange",function(i){_(e);let l=p();return S(l.formData.StartDate,i)||(l.formData.StartDate=i),C(i)}),o()(),n(69,"div",35)(70,"datepicker",36),D("dateChange",function(i){_(e);let l=p();return S(l.formData.ExpiryDate,i)||(l.formData.ExpiryDate=i),C(i)}),o()(),n(71,"div",35)(72,"div",26)(73,"textarea",37),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.Description,i)||(l.formData.Description=i),C(i)}),o(),n(74,"label",38),d(75,"Description"),o()()()()()()(),c(76,_a,12,2,"div",39),o()()(),c(77,La,20,7,"div",12),o()()()}if(t&2){let e=ge(39),a=p();u("pageData",a.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(2),s(a.data.IsEdit?2:-1),r(),s(a.data.IsEdit?-1:3),r(14),s(a.data.IsEdit?-1:17),r(),s(a.formData.GenerateType==1?18:-1),r(),s(a.formData.GenerateType==1&&!a.data.IsEdit?19:-1),r(),s(a.formData.GenerateType==0&&!a.data.IsEdit?20:-1),r(),s(a.data.IsEdit?21:-1),r(2),K(M(46,ki,a.formData.AuthorizationType)),r(),u("items",a.data.Options.AuthorizationTypes)("readonly",a.data.IsEdit),y("ngModel",a.formData.AuthorizationType),u("clearable",!1),r(3),s(a.formData.GenerateType==1&&!a.data.IsEdit?27:-1),r(),s(a.formData.AuthorizationType==1?28:-1),r(),s(a.formData.AuthorizationType==2?29:-1),r(8),K(M(48,ki,(a.formData.OutletIDs==null?null:a.formData.OutletIDs.length)>0)),r(),u("items",a.data.Options.Outlets)("multiple",!0)("selectableGroup",!0)("selectableGroupAsModel",!1)("closeOnSelect",!1),y("ngModel",a.formData.OutletIDs),r(4),xe("z-index",e.isOpen?"9999":""),r(4),u("customStyle",!0),y("ngModel",a.formData.CustomerID),u("inputTextValue",a.data.CustomerName),r(),s(a.formData.AuthorizationType<3?47:-1),r(),s(a.formData.AuthorizationType==a.couponType.DiscountPercentage?48:-1),r(),s(a.formData.AuthorizationType==a.couponType.DiscountPercentage?49:-1),r(),s(a.formData.AuthorizationType==1||a.formData.AuthorizationType==2?50:-1),r(),s(a.formData.RequirementTypeID>0&&(a.formData.AuthorizationType==1||a.formData.AuthorizationType==2)?51:-1),r(12),s(a.data.IsEdit?-1:63),r(),s(a.data.IsEdit?64:-1),r(4),y("date",a.formData.StartDate),u("showPlaceholder",!0),r(2),y("date",a.formData.ExpiryDate),u("showPlaceholder",!0),r(3),y("ngModel",a.formData.Description),r(3),s(a.formData.CustomerID?76:-1),r(),s((a.formData.AuthorizationType==1||a.formData.AuthorizationType==2)&&(a.formData.RequirementTypeID==1||a.formData.RequirementTypeID==2)?77:-1)}}var Bt=class t extends je{constructor(e,a,i,l,v,O,De){super(e,a,"PromotionLoader/GenerateCouponLoader2",i);this.toastr=l;this.router=v;this.roleService=O;this.matDialog=De}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"}];couponType=bt;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=T.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=>de(ie({},a),{selectAll:"Select All"}))}validate(){this.validateCouponRequirement()&&this.onSubmit("Promotion/Generate")}openVariantDialog(e,a){this.matDialog.open(st,{data:{variantList:this.data.Form.ListRequirementVariants,addedRequirementItem:this.addedRequirementItem,rewardItems:[],item:e,index:a,isEdit:this.data.isEdit}}).afterClosed().subscribe(()=>{T.IsEmpty(e)&&this.data.isEdit&&(this.requirementButtonToggleState="Added")})}openImportPurchaseItem(){this.matDialog.open(Ye,{data:{type:"Purchase",sampleUrl:Le.files.csv.promotion_coupon_item_requirement_import}}).afterClosed().pipe(me(e=>T.IsNotEmpty(e))).subscribe(e=>{e.filter(a=>this.data.Form.ListRequirementVariants.findIndex(i=>a.VariantID==i.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(ut,{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;T.IsNotEmpty(e)&&(e=e.replace(/\s/g,"")),this.formData.CustomCode=e,this.formData=de(ie({},this.formData),{DeductionCustomer:!0,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",A.Error),a=!1);break;case 2:this.data.Form.ListRequirementCategories.length==0&&(this.toastr.error("Please add at least one category",A.Error),a=!1);break}return a}onSubmitSuccess(e){this.toastr.success(e.Message,A.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)(g(Z),g(L),g(pe),g(B),g(ve),g(j),g(X))};static \u0275cmp=w({type:t,selectors:[["POS-promotion-coupon-form"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[["outlet",""],["discount","ngModel"],[3,"pageData","hideSearchBox","hideSearchDropdown"],["role","button",1,"btn","btn-outline-secondary","me-5",3,"routerLink","queryParams"],["role","button",1,"btn","btn-outline-secondary","me-5",3,"routerLink"],["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"],[1,"form-floating-outline","radio","border","rounded",2,"padding-top","16px"],[1,"col-sm-3"],[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"],[3,"ngClass"],[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"],[1,"col-sm-12"],[1,"col-4"],[1,"col-12"],["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,"ngModel"],["id","limit","placeholder","Usage Limit","type","text","disabled","",1,"form-control","block",3,"value"],["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"],[1,"col"],[3,"modelChange","model","options","title"],["for","type"],["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"],["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"],["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"],["type","text","id","deductionPoint","placeholder","Point Deducted","matTooltipPosition","above","matTooltip","When the customer does not have enough points available then the Coupon Generation will fail","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"],[1,"d-sm-block","mt-2"],[1,"row","mt-2"],[1,"table-responsive"],["name","fontStyle","aria-label","Font Style",3,"ngModelChange","ngModel"],["value","Current"],["value","Added"],["value","Deleted"],[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"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],["width","15px"],[2,"width","20px"],[2,"width","80px"],[1,"text-end"],[1,"border-bottom",3,"bg-gradient-warning","bg-gradient-success","bg-gradient-danger"],[1,"border-bottom"],[1,"text-info"],["aria-hidden","true",1,"fa","text-danger","fa-2x",2,"cursor","pointer",3,"click"],[1,"text-info",3,"click"],[2,"cursor","pointer"],["aria-hidden","true",1,"fa","fa-xmark","text-danger","fa-2x",2,"cursor","pointer",3,"click"]],template:function(a,i){a&1&&c(0,Aa,78,50,"mainpanel-cmp",2),a&2&&s(i.data&&i.formData?0:-1)},dependencies:[ht,$,ee,J,he,q,ot,di,N,re,se,we,lt,Me,Ie,Dt,Pt,rt,tt,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 qt=class t{dialogRef=Ct(z);config;selectedOutlet=Se([]);constructor(){this.config=new Y,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=w({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&&(n(0,"modal-material",0),h("onCancel",function(){return a.onClose()})("onClose",function(){return a.onClose()})("onOk",function(){return a.onOk()}),n(1,"content")(2,"h5"),d(3,"Choose Outlet to Push Promotions"),o(),n(4,"div",1)(5,"outlet-selector",2),D("ngModelChange",function(l){return S(a.selectedOutlet,l)||(a.selectedOutlet=l),l}),o()(),n(6,"div",3),x(7,"i",4),n(8,"span"),d(9," The changes will be applied to all outlets if left blank "),o()()()()),e&2&&(u("config",a.config),r(5),u("multiple",!0),y("ngModel",a.selectedOutlet))},dependencies:[yt,St,q,N,G,hi],encapsulation:2})};var Ba=()=>["/menu/Promotion/Main/Event/Form"],qa=()=>["/menu/Promotion/Main/Event/Info"],Na=t=>({ID:t}),Oa=(t,m)=>({"bg-gradient-danger":t,"bg-gradient-warning":m}),Wa=(t,m)=>({"bg-success-subtle text-success-emphasis":t,"bg-danger-subtle text-danger-emphasis":m});function Ua(t,m){if(t&1){let e=f();n(0,"a",20),h("click",function(){_(e);let i=p(2);return C(i.httpPostListID("Promotion/DeletePromotion"))}),x(1,"i",21),d(2,"Delete "),o()}}function ja(t,m){if(t&1){let e=f();n(0,"button",20),h("click",function(){_(e);let i=p(2);return C(i.openExportModal())}),x(1,"i",22),d(2,"Export"),o()}}function Ga(t,m){t&1&&(n(0,"a",6),d(1,"Add"),o()),t&2&&u("routerLink",R(1,Ba))}function za(t,m){if(t&1){let e=f();n(0,"div")(1,"div",23)(2,"h6"),d(3,"Type"),o(),n(4,"ng-select",24),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.TypeID,i)||(l.pageData.Filter.TypeID=i),C(i)}),o(),n(5,"h6"),d(6,"Usage Status"),o(),n(7,"ng-select",25),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.pageData.Filter.StateID,i)||(l.pageData.Filter.StateID=i),C(i)}),o()()()}if(t&2){let e=p(2);r(4),u("items",e.pageData.Options.PromotionType),y("ngModel",e.pageData.Filter.TypeID),r(3),u("clearable",!1)("items",e.pageData.Options.State),y("ngModel",e.pageData.Filter.StateID)}}function Ha(t,m){if(t&1){let e=f();n(0,"th",12)(1,"input",26),h("change",function(i){_(e);let l=p(2);return C(l.onSelectAllData(i.target.checked))}),o()()}}function Qa(t,m){if(t&1){let e=f();n(0,"td")(1,"input",34),D("ngModelChange",function(i){_(e);let l=p().$implicit;return S(l.selected,i)||(l.selected=i),C(i)}),o()()}if(t&2){let e=p().$implicit;r(),y("ngModel",e.selected)}}function Ka(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p().$implicit;r(),P(" ",e.StartTime)}}function $a(t,m){if(t&1&&(n(0,"span"),d(1),o()),t&2){let e=p().$implicit;r(),P(" ",e.EndTime)}}function Ja(t,m){if(t&1&&(n(0,"li"),d(1),o()),t&2){let e=m.$implicit;r(),I(e)}}function Ya(t,m){if(t&1&&(n(0,"ul",30),V(1,Ja,2,1,"li",null,li),o()),t&2){let e=p().$implicit;r(),F(e.Outlets)}}function Xa(t,m){t&1&&(n(0,"span"),d(1,"All"),o())}function Za(t,m){t&1&&d(0," - ")}function er(t,m){if(t&1&&(n(0,"span",33),d(1),o()),t&2){let e=p().$implicit;u("ngClass",$t(2,Wa,e.Enabled,!e.Enabled)),r(),P(" ",e.Enabled?"Enabled":"Disabled"," ")}}function tr(t,m){if(t&1&&(n(0,"tr",18),c(1,Qa,2,1,"td"),n(2,"td")(3,"a",27),d(4),o()(),n(5,"td"),d(6),o(),n(7,"td")(8,"div")(9,"span",28),d(10,"Start: "),o(),n(11,"span"),d(12),b(13,"IsMinDate"),o(),c(14,Ka,2,1,"span"),o(),n(15,"div")(16,"span",28),d(17,"End: "),o(),n(18,"span"),d(19),b(20,"IsMinDate"),o(),c(21,$a,2,1,"span"),o()(),n(22,"td",29)(23,"div")(24,"span"),d(25,"Minimum: "),o(),n(26,"span"),d(27),b(28,"number"),o()(),n(29,"div")(30,"span"),d(31,"Outlet: "),o(),c(32,Ya,3,0,"ul",30)(33,Xa,2,0,"span"),o()(),n(34,"td",31),d(35),b(36,"number"),o(),n(37,"td",32),c(38,Za,1,0)(39,er,2,5,"span",33),o()()),t&2){let e=m.$implicit,a=p(2);r(),s(a.roleService.promotion!=null&&a.roleService.promotion.Delete?1:-1),r(2),u("routerLink",R(25,qa))("queryParams",M(26,Na,e.ID)),r(),I(e.Name),r(2),I(e.PromotionTypeString),r(),K($t(28,Oa,e.ExpirationDate<a.data.Today,e.ExpirationDate==a.data.Today)),r(5),P(" ",ae(13,15,e.StartDate,"dd MMM yy")," "),r(2),s(e.StartTime!==a.startTimeDefault||e.EndTime!==a.endTimeDefault?14:-1),r(5),P(" ",ae(20,18,e.ExpirationDate,"dd MMM yy")," "),r(2),s(e.EndTime!==a.endTimeDefault||e.StartTime!==a.startTimeDefault?21:-1),r(6),I(E(28,21,e.MinimumAmount)),r(5),s((e==null||e.Outlets==null?null:e.Outlets.length)>0?32:33),r(3),P(" ",E(36,23,e.GiftCount)),r(3),s(e.ExpirationDate<a.data.Today?38:39)}}function ir(t,m){if(t&1){let e=f();n(0,"mainpanel-cmp",2),D("textChange",function(i){_(e);let l=p();return S(l.pageData.Filter.Name,i)||(l.pageData.Filter.Name=i),C(i)}),h("onSubmit",function(){_(e);let i=p();return C(i.searchFromPageOne())}),D("filterChange",function(i){_(e);let l=p();return S(l.pageData.Filter,i)||(l.pageData.Filter=i),C(i)}),n(1,"actions")(2,"a",3),h("click",function(){_(e);let i=p();return C(i.onPushToPOS())}),x(3,"i",4),d(4,"Publish "),o(),c(5,Ua,3,0,"a",5),c(6,ja,3,0,"button",5),c(7,Ga,2,2,"a",6),o(),n(8,"filters"),oe(9,za,8,5,"ng-template",null,0,Ee),o(),n(11,"content")(12,"div",7)(13,"div",8)(14,"table",9)(15,"thead",10)(16,"tr",11),c(17,Ha,2,0,"th",12),n(18,"th"),d(19,"Name"),o(),n(20,"th",13),d(21,"Type"),o(),n(22,"th",14),d(23,"Period"),o(),n(24,"th",15),d(25,"Requirement"),o(),n(26,"th",16),d(27,"Reward"),o(),n(28,"th",17),d(29,"Status"),o()()(),n(30,"tbody"),V(31,tr,40,31,"tr",18,k),o()()(),n(33,"POS-complex-pagination",19),h("jumpToPage",function(){_(e);let i=p();return C(i.getListData())})("previousPage",function(){_(e);let i=p();return C(i.getListData())})("nextPage",function(){_(e);let i=p();return C(i.getListData())}),o()()()()}if(t&2){let e=p();u("pageData",e.menuData),y("text",e.pageData.Filter.Name),u("isFilterOnDropdown",!1),y("filter",e.pageData.Filter),r(5),s(e.getSelectedData().length>0?5:-1),r(),s(e.roleService.global.Export?6:-1),r(),s(e.roleService.promotion!=null&&e.roleService.promotion.Create?7:-1),r(10),s(e.roleService.promotion!=null&&e.roleService.promotion.Delete?17:-1),r(14),F(e.data.Data),r(2),u("total",e.data.Data.length)("pageData",e.pageData)}}var Nt=class t extends Ne{constructor(e,a,i,l,v,O){super(e,a,"Promotion/GetPromotionList","PromotionLoader/GetPromotionList",i);this.toastr=i;this.csvConverter=l;this.roleService=v;this.matDialog=O}startTimeDefault="00:00:00";endTimeDefault="23:59:59";openExportModal(){this.matDialog.open(ue,{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(qt,{width:"450px"}).afterClosed().pipe(me(e=>e),Pe(e=>this.httpService.post(Te.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)(g(Z),g(L),g(B),g(ye),g(j),g(X))};static \u0275cmp=w({type:t,selectors:[["POS-promotion-event"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[["pageFilterTemplate",""],[3,"pageData","text","isFilterOnDropdown","filter"],[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"],[1,"btn","btn-outline-secondary","ms-3"],[1,"button","btn","btn-success","ms-3",3,"routerLink"],[1,"container-fluid","mt-5"],[1,"table-responsive"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[1,"header"],[2,"width","20px"],[2,"width","120px"],[2,"width","210px"],[2,"width","150px"],[1,"text-end",2,"width","50px"],[1,"text-center",2,"width","100px"],[1,"border-bottom"],["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,"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"],["type","checkbox",3,"change"],[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,i){a&1&&c(0,ir,34,10,"mainpanel-cmp",1),a&2&&s(i.data?0:-1)},dependencies:[ht,$,ee,he,q,N,re,mt,Ie,U,Oe],encapsulation:2})};function nr(t,m){if(t&1){let e=f();n(0,"div",2)(1,"div",17)(2,"div",4),x(3,"input",18),b(4,"number"),n(5,"label",19),d(6,"Original Cost"),o()()(),n(7,"div",20)(8,"div",4)(9,"input",21),D("ngModelChange",function(i){_(e);let l=p();return S(l.item.ExtraCost,i)||(l.item.ExtraCost=i),C(i)}),o(),n(10,"label",22),d(11,"Extra Cost"),o()()()()}if(t&2){let e=p();r(3),u("ngModel",E(4,2,e.item.OriginalCost)),r(6),y("ngModel",e.item.ExtraCost)}}var Ot=class t{constructor(m,e,a,i,l){this.httpService=m;this.data=e;this.dialogRef=a;this.toastr=i;this.roleService=l;this.config=new Y,this.rewardItems=this.data.rewardItems,this.item=Object.assign({},this.data.item),this.index=this.data.index,T.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(Te.GetVariantOnSelectedIDByID,[{key:"ID",value:m}]).subscribe(e=>{this.rewardItems.findIndex(i=>m===i.VariantID)!=-1?(this.isAlreadyRegistered=!0,this.toastr.error(`${e.Name} already registered`,A.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(){T.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",A.Error)}static \u0275fac=function(e){return new(e||t)(g(L),g(ce),g(z),g(B),g(j))};static \u0275cmp=w({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"],[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&&(n(0,"modal-material",0),h("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),n(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"autocompleteV2",5),h("onSelect",function(l){return a.changeVariant(l)}),o()()()(),n(7,"div",2)(8,"div",3)(9,"div",4),x(10,"input",6),n(11,"label",7),d(12,"Variant Code"),o()()()(),n(13,"div",2)(14,"div",8)(15,"div",4),x(16,"input",9),b(17,"number"),n(18,"label",10),d(19,"Basic Price"),o()()(),n(20,"div",11)(21,"div",4)(22,"input",12),D("ngModelChange",function(l){return S(a.item.UnitPrice,l)||(a.item.UnitPrice=l),l}),o(),n(23,"label",13),d(24,"Promotion Price"),o()()(),n(25,"div",14)(26,"div",4)(27,"input",15),D("ngModelChange",function(l){return S(a.item.Discount,l)||(a.item.Discount=l),l}),o(),n(28,"label",16),d(29,"Disc %"),o()()()(),c(30,nr,12,4,"div",2),o()()()),e&2&&(u("config",a.config),r(6),u("renderThumbnail",!0)("inputTextValue",a.item.VariantName),r(4),u("value",a.item.VariantCode),r(6),u("ngModel",E(17,8,a.item.OriginalPrice)),r(6),y("ngModel",a.item.UnitPrice),r(5),y("ngModel",a.item.Discount),r(3),s(a.roleService.product.Cost?30:-1))},dependencies:[J,q,N,G,se,we,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 Y,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 T.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)(g(ce),g(z),g(B))};static \u0275cmp=w({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&&(n(0,"modal-material",0),h("onCancel",function(){return a.dialogRef.close()})("onClose",function(){return a.dialogRef.close()})("onOk",function(){return a.onOk()}),n(1,"content")(2,"div",1)(3,"div",2)(4,"div",3)(5,"div",4)(6,"input",5),D("ngModelChange",function(l){return S(a.quantity,l)||(a.quantity=l),l}),o(),n(7,"label",6),d(8,"Quantity"),o()()(),n(9,"div",3)(10,"div",4)(11,"input",7),D("ngModelChange",function(l){return S(a.discount,l)||(a.discount=l),l}),o(),n(12,"label",8),d(13,"Discount (%)"),o()()()()()()()),e&2&&(u("config",a.config),r(6),y("ngModel",a.quantity),r(5),y("ngModel",a.discount))},dependencies:[J,q,N,G,se],encapsulation:2})};var Ut=t=>({selected:t}),ar=()=>["/menu/Promotion/Main/Event"],rr=()=>["/menu/Promotion/Main/Event/Info"],lr=t=>({ID:t}),jt=()=>({width:"100%"}),Ri=()=>({standalone:!0});function mr(t,m){t&1&&(n(0,"a",5),d(1,"Cancel"),o()),t&2&&u("routerLink",R(1,ar))}function dr(t,m){if(t&1&&(n(0,"a",6),d(1,"Cancel"),o()),t&2){let e=p(2);u("routerLink",R(2,rr))("queryParams",M(3,lr,e.formData.ID))}}function pr(t,m){t&1&&(n(0,"small",20),d(1,"Name is required."),o())}function cr(t,m){if(t&1&&(x(0,"input",43),d(1),b(2,"uppercase")),t&2){let e=m.item,a=m.item$,i=m.index;u("id",Re("item-",i))("ngModel",a.selected),r(),P(" ",E(2,4,e.selectAll)," ")}}function sr(t,m){if(t&1&&(x(0,"input",43),d(1)),t&2){let e=m.item,a=m.item$,i=m.index;u("id",Re("item-",i))("ngModel",a.selected),r(),P(" ",e.Name," ")}}function ur(t,m){t&1&&(n(0,"div",31),x(1,"i",44),n(2,"p",45),d(3," When no outlet is selected, promotion can be used in "),n(4,"b"),d(5,"ANY"),o(),d(6," outlet. "),o()())}function _r(t,m){t&1&&(n(0,"small",20),d(1,"Minimum spending must be greater than zero."),o())}function Cr(t,m){if(t&1){let e=f();n(0,"div",34)(1,"div",17)(2,"input",46),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.MinimumAmount,i)||(l.formData.MinimumAmount=i),C(i)}),o(),n(3,"label",47),d(4,"Minimum Spending"),o(),c(5,_r,2,0,"small",20),o()()}if(t&2){let e=p(2);r(2),xe("border-color",e.formData.MinimumAmount<1?"#fb404b":null),y("ngModel",e.formData.MinimumAmount),r(3),s(e.formData.MinimumAmount<1?5:-1)}}function fr(t,m){t&1&&(n(0,"small",20),d(1,"Minimum spending must be greater than zero."),o())}function gr(t,m){if(t&1){let e=f();n(0,"div",35)(1,"div",17)(2,"input",48),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.MinimumAmount,i)||(l.formData.MinimumAmount=i),C(i)}),o(),n(3,"label",49),d(4,"Min Quantity"),o(),c(5,fr,2,0,"small",20),o()()}if(t&2){let e=p(2);r(2),xe("border-color",e.formData.MinimumAmount<1?"#fb404b":null),y("ngModel",e.formData.MinimumAmount),r(3),s(e.formData.MinimumAmount<1?5:-1)}}function xr(t,m){if(t&1){let e=f();n(0,"div",35)(1,"div",50)(2,"label"),d(3,"Requirement Type"),o(),n(4,"radio-options",51),D("modelChange",function(i){_(e);let l=p(2);return S(l.formData.RequirementTypeID,i)||(l.formData.RequirementTypeID=i),C(i)}),o()()()}if(t&2){let e=p(2);r(4),u("options",e.requirementOptions),y("model",e.formData.RequirementTypeID)}}function vr(t,m){if(t&1){let e=f();n(0,"div",35)(1,"div",50)(2,"label"),d(3,"Reward Type"),o(),n(4,"radio-options",51),D("modelChange",function(i){_(e);let l=p(2);return S(l.formData.RewardTypeID,i)||(l.formData.RewardTypeID=i),C(i)}),h("modelChange",function(i){_(e);let l=p(2);return C(l.onRewardTypeChange(i))}),o()()()}if(t&2){let e=p(2);r(4),u("options",e.rewardOptions),y("model",e.formData.RewardTypeID)}}function hr(t,m){if(t&1){let e=f();n(0,"div",35)(1,"mat-checkbox",52),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.MultipleApply,i)||(l.formData.MultipleApply=i),C(i)}),d(2," Applies in multiple "),o(),n(3,"div",53)(4,"small"),d(5,"( Buy 1 Get 1 Free, Buy 2 Get 2 Free, etc )"),o()()()}if(t&2){let e=p(2);r(),y("ngModel",e.formData.MultipleApply)}}function yr(t,m){if(t&1){let e=f();n(0,"div",34)(1,"div",17)(2,"input",54),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.Discount1,i)||(l.formData.Discount1=i),C(i)}),o(),n(3,"label",55),d(4,"Discount Rate 1(%)"),o()()()}if(t&2){let e=p(2);r(2),y("ngModel",e.formData.Discount1)}}function Sr(t,m){if(t&1){let e=f();n(0,"div",34)(1,"div",17)(2,"input",56),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.Discount2,i)||(l.formData.Discount2=i),C(i)}),o(),n(3,"label",57),d(4,"Discount Rate 2(%)"),o()()()}if(t&2){let e=p(2);r(2),y("ngModel",e.formData.Discount2)}}function Dr(t,m){if(t&1){let e=f();n(0,"div",34)(1,"div",58)(2,"ng-select",59),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.TaxTypeID,i)||(l.formData.TaxTypeID=i),C(i)}),o(),n(3,"label",60),d(4,"Tax"),o()()()}if(t&2){let e=p(2);r(),K(M(4,Ut,e.formData.TaxTypeID)),r(),u("items",e.options.TaxTypes),y("ngModel",e.formData.TaxTypeID)}}function Pr(t,m){if(t&1){let e=f();n(0,"div",34)(1,"div",17)(2,"input",61),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.MinimumAmount,i)||(l.formData.MinimumAmount=i),C(i)}),o(),n(3,"label",62),d(4,"Minimum Spending"),o()()()}if(t&2){let e=p(2);r(2),y("ngModel",e.formData.MinimumAmount)}}function br(t,m){t&1&&(n(0,"i",42),d(1,"Promotions are valid all day long"),o())}function Er(t,m){t&1&&(n(0,"i",42),d(1,"Promotion is only valid at happy hours"),o())}function Ir(t,m){if(t&1){let e=f();n(0,"div",37)(1,"p",63),d(2,"START TIME"),o(),n(3,"p-datepicker",64),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.StartTime,i)||(l.formData.StartTime=i),C(i)}),o()()}if(t&2){let e=p(2);r(3),Kt(R(6,jt)),u("inputStyle",R(7,jt)),y("ngModel",e.formData.StartTime),u("timeOnly",!0)("ngModelOptions",R(8,Ri))}}function Tr(t,m){if(t&1){let e=f();n(0,"div",37)(1,"p",63),d(2,"EXPIRATION TIME"),o(),n(3,"p-datepicker",65),D("ngModelChange",function(i){_(e);let l=p(2);return S(l.formData.EndTime,i)||(l.formData.EndTime=i),C(i)}),o()()}if(t&2){let e=p(2);r(3),Kt(R(6,jt)),u("inputStyle",R(7,jt)),y("ngModel",e.formData.EndTime),u("timeOnly",!0)("ngModelOptions",R(8,Ri))}}function wr(t,m){if(t&1){let e=f();n(0,"mat-button-toggle-group",73),D("ngModelChange",function(i){_(e);let l=p(3);return S(l.requirementButtonToggleState,i)||(l.requirementButtonToggleState=i),C(i)}),n(1,"mat-button-toggle",74),d(2),o(),n(3,"mat-button-toggle",75),d(4),o(),n(5,"mat-button-toggle",76),d(6),o()()}if(t&2){let e=p(3);y("ngModel",e.requirementButtonToggleState),r(2),P("Current (",e.data.VariantList.length,")"),r(2),P("Added (",e.addedRequirementItem.length,")"),r(2),P("Deleted (",e.removedRequirementItem.length,")")}}function Mr(t,m){if(t&1){let e=f();n(0,"mat-button-toggle-group",73),D("ngModelChange",function(i){_(e);let l=p(3);return S(l.categoryButtonToggleState,i)||(l.categoryButtonToggleState=i),C(i)}),n(1,"mat-button-toggle",74),d(2),o(),n(3,"mat-button-toggle",75),d(4),o(),n(5,"mat-button-toggle",76),d(6),o()()}if(t&2){let e=p(3);y("ngModel",e.categoryButtonToggleState),r(2),P("Current (",e.data.CategoryList.length,")"),r(2),P("Added (",e.addedRequirementItemCategory.length,")"),r(2),P("Deleted (",e.removedRequirementItemCategory.length,")")}}function Vr(t,m){if(t&1){let e=f();n(0,"div",77)(1,"a",78),h("click",function(){_(e);let i=p(4);return C(i.openVariantDialog())}),x(2,"span",79),d(3," Add "),o(),n(4,"a",78),h("click",function(){_(e);let i=p(4);return C(i.openImportPurchaseItem())}),x(5,"span",80),d(6," Import "),o()()}}function Fr(t,m){if(t&1&&(n(0,"div",70),c(1,Vr,7,0,"div",77),o()),t&2){let e=p(3);r(),s(e.roleService.promotion.Create||e.roleService.promotion.Edit?1:-1)}}function kr(t,m){if(t&1){let e=f();n(0,"div",70)(1,"div",77)(2,"a",78),h("click",function(){_(e);let i=p(3);return C(i.openAddCategory())}),x(3,"span",79),d(4," Add a Category "),o()()()}}function Rr(t,m){t&1&&x(0,"th",83)}function Lr(t,m){if(t&1){let e=f();n(0,"td")(1,"i",90),h("click",function(){_(e);let i=p().$index,l=p(4);return C(l.removeRequirementItem(i))}),o()()}if(t&2){let e=p(5);r(),be("fa-xmark",e.requirementButtonToggleState!="Deleted")("fa-trash-undo",e.requirementButtonToggleState=="Deleted")}}function Ar(t,m){if(t&1){let e=f();n(0,"a",91),h("click",function(){_(e);let i=p(),l=i.$implicit,v=i.$index,O=p(4);return C(O.openVariantDialog(l,v))}),d(1),o()}if(t&2){let e=p().$implicit;r(),I(e.VariantName)}}function Br(t,m){if(t&1&&d(0),t&2){let e=p().$implicit;P(" ",e.VariantName," ")}}function qr(t,m){if(t&1&&(n(0,"tr",88),c(1,Lr,2,4,"td"),n(2,"td"),d(3),o(),n(4,"td"),c(5,Ar,2,1,"a",89)(6,Br,1,1),o(),n(7,"td"),d(8),o(),n(9,"td",86),d(10),b(11,"number"),o()()),t&2){let e=m.$implicit,a=m.$index,i=p(4);be("bg-gradient-warning",e.modified)("bg-gradient-success",i.requirementButtonToggleState=="Added")("bg-gradient-danger",i.requirementButtonToggleState=="Deleted"),r(),s(i.roleService.promotion.Delete?1:-1),r(2),I(a+1+"."),r(2),s(i.roleService.promotion.Create||i.roleService.promotion.Edit?5:6),r(3),I(e.VariantCode),r(2),P(" ",E(11,11,e.UnitPrice)," ")}}function Nr(t,m){if(t&1&&(n(0,"div",72)(1,"table",81)(2,"thead",82)(3,"tr"),c(4,Rr,1,0,"th",83),n(5,"th",84),d(6,"No"),o(),n(7,"th"),d(8,"Name"),o(),n(9,"th",85),d(10,"Code"),o(),n(11,"th",86),d(12,"Price"),o()()(),n(13,"tbody"),V(14,qr,12,13,"tr",87,k),o()()()),t&2){let e=p(3);r(4),s(e.roleService.promotion.Delete?4:-1),r(10),F(e.requirementButtonToggleState=="Added"?e.addedRequirementItem:e.requirementButtonToggleState=="Current"?e.data.VariantList:e.removedRequirementItem)}}function Or(t,m){t&1&&x(0,"th",83)}function Wr(t,m){if(t&1){let e=f();n(0,"td")(1,"i",93),h("click",function(){_(e);let i=p().$index,l=p(4);return C(l.removeCategory(i))}),o()()}}function Ur(t,m){if(t&1){let e=f();n(0,"td",92)(1,"a",91),h("click",function(){_(e);let i=p(),l=i.$implicit,v=i.$index,O=p(4);return C(O.openAddCategory(l,v))}),d(2),o()()}if(t&2){let e=p().$implicit;r(2),I(e.CategoryName)}}function jr(t,m){if(t&1&&(n(0,"tr",88),c(1,Wr,2,0,"td"),n(2,"td"),d(3),o(),c(4,Ur,3,1,"td",92),o()),t&2){let e=m.$index,a=p(4);r(),s(a.roleService.promotion.Create||a.roleService.promotion.Edit?1:-1),r(2),I(e+1+"."),r(),s(a.roleService.promotion.Create||a.roleService.promotion.Edit?4:-1)}}function Gr(t,m){if(t&1&&(n(0,"div",72)(1,"table",81)(2,"thead",82)(3,"tr"),c(4,Or,1,0,"th",83),n(5,"th",84),d(6,"No"),o(),n(7,"th"),d(8,"Name"),o()()(),n(9,"tbody"),V(10,jr,5,3,"tr",88,k),o()()()),t&2){let e=p(3);r(4),s(e.roleService.promotion.Create||e.roleService.promotion.Edit?4:-1),r(6),F(e.categoryButtonToggleState=="Added"?e.addedRequirementItemCategory:e.categoryButtonToggleState=="Current"?e.data.CategoryList:e.removedRequirementItemCategory)}}function zr(t,m){if(t&1&&(n(0,"div",11)(1,"div",66)(2,"div",67)(3,"div")(4,"h3"),d(5,"Requirement"),o(),n(6,"small",68),d(7,"(just leave it blank if the promotion is valid for all item) "),o()(),c(8,wr,7,4,"mat-button-toggle-group",69),c(9,Mr,7,4,"mat-button-toggle-group",69),o(),c(10,Fr,2,1,"div",70),c(11,kr,5,0,"div",70),o(),n(12,"div",13)(13,"div",9)(14,"div",14)(15,"div",71),c(16,Nr,16,1,"div",72),c(17,Gr,12,1,"div",72),o()()()()()),t&2){let e=p(2);r(8),s(e.isEdit&&e.formData.RequirementTypeID==0?8:-1),r(),s(e.isEdit&&e.formData.RequirementTypeID==1?9:-1),r(),s(e.formData.RequirementTypeID==0?10:-1),r(),s(e.formData.RequirementTypeID==1?11:-1),r(5),s(e.formData.RequirementTypeID==0?16:-1),r(),s(e.formData.RequirementTypeID==1?17:-1)}}function Hr(t,m){if(t&1){let e=f();n(0,"mat-button-toggle-group",73),D("ngModelChange",function(i){_(e);let l=p(4);return S(l.promotionButtonToggleState,i)||(l.promotionButtonToggleState=i),C(i)}),n(1,"mat-button-toggle",74),d(2),o(),n(3,"mat-button-toggle",75),d(4),o(),n(5,"mat-button-toggle",76),d(6),o()()}if(t&2){let e=p(4);y("ngModel",e.promotionButtonToggleState),r(2),P("Current (",e.data.List.length,")"),r(2),P("Added (",e.addedRewardItem.length,")"),r(2),P("Deleted (",e.removedRewardItem.length,")")}}function Qr(t,m){if(t&1){let e=f();x(0,"input",95),n(1,"div",77)(2,"a",78),h("click",function(){_(e);let i=p(4);return C(i.openRewardItemDialog())}),x(3,"span",79),d(4," Add "),o(),n(5,"a",78),h("click",function(){_(e);let i=p(4);return C(i.openImportPromotion())}),x(6,"span",80),d(7," Import "),o()()}if(t&2){let e=p(4);u("formControl",e.query)}}function Kr(t,m){t&1&&x(0,"th",83)}function $r(t,m){t&1&&(n(0,"th",86),d(1,"Basic Cost"),o())}function Jr(t,m){t&1&&(n(0,"th",86),d(1,"Extra Cost"),o())}function Yr(t,m){if(t&1){let e=f();n(0,"td")(1,"i",90),h("click",function(){_(e);let i=p().$index,l=p(4);return C(l.removePromotionItem(i))}),o()()}if(t&2){let e=p(5);r(),be("fa-xmark",e.promotionButtonToggleState!="Deleted")("fa-trash-undo",e.promotionButtonToggleState=="Deleted")}}function Xr(t,m){if(t&1){let e=f();n(0,"a",91),h("click",function(){_(e);let i=p(),l=i.$implicit,v=i.$index,O=p(4);return C(O.openRewardItemDialog(l,v))}),d(1),o()}if(t&2){let e=p().$implicit;r(),I(e.VariantName)}}function Zr(t,m){if(t&1&&d(0),t&2){let e=p().$implicit;P(" ",e.VariantName," ")}}function el(t,m){if(t&1&&(n(0,"td",86),d(1),b(2,"number"),o()),t&2){let e=p().$implicit;r(),P(" ",E(2,1,e.OriginalCost)," ")}}function tl(t,m){if(t&1&&(n(0,"td",86),d(1),b(2,"number"),o()),t&2){let e=p().$implicit;r(),P(" ",E(2,1,e.ExtraCost)," ")}}function il(t,m){if(t&1&&(n(0,"tr",88),c(1,Yr,2,4,"td"),n(2,"td"),d(3),o(),n(4,"td",96),c(5,Xr,2,1,"a",89)(6,Zr,1,1),o(),n(7,"td"),d(8),o(),c(9,el,3,3,"td",86),c(10,tl,3,3,"td",86),n(11,"td",86),d(12),b(13,"number"),o(),n(14,"td",86),d(15),b(16,"number"),o(),n(17,"td",86),d(18),b(19,"number"),o()()),t&2){let e=m.$implicit,a=m.$index,i=p(4);be("bg-gradient-warning",e.modified)("bg-gradient-success",i.promotionButtonToggleState=="Added")("bg-gradient-danger",i.promotionButtonToggleState=="Deleted"),r(),s(i.roleService.promotion.Delete?1:-1),r(2),I(a+1+"."),r(2),s(i.roleService.promotion.Create||i.roleService.promotion.Edit?5:6),r(3),I(e.VariantCode),r(),s(i.roleService.product.Cost?9:-1),r(),s(i.roleService.product.Cost?10:-1),r(2),P(" ",E(13,15,e.OriginalPrice)," "),r(3),P(" ",E(16,17,e.UnitPrice)," "),r(3),P(" ",E(19,19,e.Discount)," ")}}function nl(t,m){if(t&1&&(n(0,"div",11)(1,"div",66)(2,"div",67)(3,"h3"),d(4,"Reward"),o(),c(5,Hr,7,4,"mat-button-toggle-group",69),o(),n(6,"div",94),c(7,Qr,8,1),o()(),n(8,"div",13)(9,"div",9)(10,"div",14)(11,"div",71)(12,"div",72)(13,"table",81)(14,"thead",82)(15,"tr"),c(16,Kr,1,0,"th",83),n(17,"th",84),d(18,"No"),o(),n(19,"th"),d(20,"Name"),o(),n(21,"th",85),d(22,"Code"),o(),c(23,$r,2,0,"th",86),c(24,Jr,2,0,"th",86),n(25,"th",86),d(26,"Basic Price"),o(),n(27,"th",86),d(28,"Promotion Price"),o(),n(29,"th",86),d(30,"Disc(%)"),o()()(),n(31,"tbody"),V(32,il,20,21,"tr",87,k),o()()()()()()()()),t&2){let e=p(3);r(5),s(e.isEdit?5:-1),r(2),s(e.roleService.promotion.Create||e.roleService.promotion.Edit?7:-1),r(9),s(e.roleService.promotion.Delete?16:-1),r(7),s(e.roleService.product.Cost?23:-1),r(),s(e.roleService.product.Cost?24:-1),r(8),F(e.viewList)}}function ol(t,m){if(t&1&&(n(0,"div",9)(1,"div",14),c(2,nl,34,5,"div",11),o()()),t&2){let e=p(2);r(2),s(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)?2:-1)}}function al(t,m){if(t&1){let e=f();n(0,"tr",103),h("click",function(){let i=_(e),l=i.$implicit,v=i.$index,O=p(3);return C(O.openPromotionTierModal(l,v))}),n(1,"td")(2,"i",93),h("click",function(){let i=_(e).$index,l=p(3);return C(l.promotionTiered.splice(i,1))}),o()(),n(3,"td"),d(4),o(),n(5,"td"),d(6),o(),n(7,"td"),d(8),o()()}if(t&2){let e=m.$implicit,a=m.$index;r(4),I(a+1),r(2),I(e.Quantity),r(2),I(e.Discount)}}function rl(t,m){if(t&1){let e=f();n(0,"div",9)(1,"div",97)(2,"div",11)(3,"div",66)(4,"div",98)(5,"h3"),d(6,"Promotion Tiered"),o()()(),n(7,"div",13)(8,"div",9)(9,"div",97)(10,"div",72)(11,"table",99)(12,"thead",82)(13,"tr")(14,"th",100)(15,"button",101),h("click",function(){_(e);let i=p(2);return C(i.openPromotionTierModal())}),x(16,"i",102),o()(),n(17,"th"),d(18,"No"),o(),n(19,"th"),d(20,"Quantity"),o(),n(21,"th"),d(22,"Discount"),o()()(),n(23,"tbody"),V(24,al,9,3,"tr",88,k),o()()()()()()()()()}if(t&2){let e=p(2);r(24),F(e.promotionTiered)}}function ll(t,m){if(t&1){let e=f();n(0,"mainpanel-cmp",4)(1,"actions"),c(2,mr,2,2,"a",5),c(3,dr,2,5,"a",6),n(4,"button",7),h("click",function(){_(e);let i=p();return C(i.validate())}),d(5," Save "),o()(),n(6,"content")(7,"div",8)(8,"div",9)(9,"div",10)(10,"div",11)(11,"div",12)(12,"h3"),d(13,"General"),o()(),n(14,"div",13)(15,"div",9)(16,"div",14)(17,"div",15)(18,"div",16)(19,"div",17)(20,"input",18,0),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.Name,i)||(l.formData.Name=i),C(i)}),o(),n(22,"label",19),d(23,"Name"),o(),c(24,pr,2,0,"small",20),o()(),n(25,"div",21)(26,"div",22)(27,"div",23)(28,"app-customize-toggle",24),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.Enabled,i)||(l.formData.Enabled=i),C(i)}),o()(),n(29,"label",25),d(30," Enabled "),o()()()()(),n(31,"div",14)(32,"div",26)(33,"ng-select",27,1),D("ngModelChange",function(i){_(e);let l=p();return S(l.data.ListEntityID,i)||(l.data.ListEntityID=i),C(i)}),oe(35,cr,3,6,"ng-template",28)(36,sr,2,4,"ng-template",29),o(),n(37,"label",30),d(38,"Outlet"),o(),c(39,ur,7,0,"div",31),o()(),n(40,"div",14)(41,"div",17)(42,"ng-select",32,2),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.TypeID,i)||(l.formData.TypeID=i),C(i)}),o(),n(44,"label",33),d(45,"Type"),o()(),n(46,"div",9),c(47,Cr,6,4,"div",34),c(48,gr,6,4,"div",35),c(49,xr,5,2,"div",35),c(50,vr,5,2,"div",35),c(51,hr,6,1,"div",35),c(52,yr,5,1,"div",34),c(53,Sr,5,1,"div",34),c(54,Dr,5,6,"div",34),c(55,Pr,5,1,"div",34),o()()()()()(),n(56,"div",36)(57,"div",11)(58,"div",12)(59,"h3"),d(60,"Promotion Period"),o()(),n(61,"div",13)(62,"div",9)(63,"div",37)(64,"datepicker",38),D("dateChange",function(i){_(e);let l=p();return S(l.formData.StartDate,i)||(l.formData.StartDate=i),C(i)}),o()(),n(65,"div",37)(66,"datepicker",39),D("dateChange",function(i){_(e);let l=p();return S(l.formData.ExpirationDate,i)||(l.formData.ExpirationDate=i),C(i)}),o()(),n(67,"div",14)(68,"div",17)(69,"ng-select",40,3),D("ngModelChange",function(i){_(e);let l=p();return S(l.formData.TimeType,i)||(l.formData.TimeType=i),C(i)}),h("ngModelChange",function(i){_(e);let l=p();return C(l.onTimeTypeChange(i))}),o(),n(71,"label",41),d(72,"Availibility"),o(),c(73,br,2,0,"i",42),c(74,Er,2,0,"i",42),o()(),c(75,Ir,4,9,"div",37),c(76,Tr,4,9,"div",37),o()()()()(),n(77,"div",9)(78,"div",14),c(79,zr,18,6,"div",11),o()(),c(80,ol,3,1,"div",9),c(81,rl,26,0,"div",9),o()()()}if(t&2){let e=ge(21),a=ge(34),i=ge(43),l=ge(70),v=p();u("pageData",v.menuData)("hideSearchBox",!0)("hideSearchDropdown",!0),r(2),s(v.isEdit?-1:2),r(),s(v.isEdit?3:-1),r(),u("disabled",!v.formData.Name),r(16),y("ngModel",v.formData.Name),r(4),s(e.touched&&(e.errors!=null&&e.errors.required)?24:-1),r(4),y("ngModel",v.formData.Enabled),r(4),K(M(55,Ut,v.data.ListEntityID)),r(),u("items",v.options.Entities)("multiple",!0)("selectableGroup",!0)("selectableGroupAsModel",!1)("closeOnSelect",!1),y("ngModel",v.data.ListEntityID),r(4),xe("z-index",a.isOpen?"9999":""),r(2),s(!v.data.ListEntityID||v.data.ListEntityID.length==0?39:-1),r(2),K(M(57,Ut,v.formData.TypeID)),r(),u("items",v.options.PromotionTypes),y("ngModel",v.formData.TypeID),r(2),xe("z-index",i.isOpen?"9999":""),r(3),s(v.formData.TypeID==v.promotionType.Amount&&v.formData.TypeID!=v.promotionType.PromotionTiered?47:-1),r(),s(v.formData.TypeID==v.promotionType.Quantity?48:-1),r(),s(v.formData.TypeID==v.promotionType.Quantity||v.formData.TypeID==v.promotionType.PromotionTiered?49:-1),r(),s(v.formData.TypeID==v.promotionType.Quantity&&v.formData.TypeID!=v.promotionType.PromotionTiered?50:-1),r(),s(v.formData.TypeID==v.promotionType.Quantity&&v.formData.RewardTypeID==v.rewardType.Product?51:-1),r(),s(v.formData.TypeID==v.promotionType.Discount?52:-1),r(),s(v.formData.TypeID==v.promotionType.Discount?53:-1),r(),s(v.formData.TypeID==v.promotionType.Discount?54:-1),r(),s(v.formData.TypeID==v.promotionType.Discount?55:-1),r(9),u("hidelClearBtn",!0),y("date",v.formData.StartDate),u("showPlaceholder",!0),r(2),u("hidelClearBtn",!0),y("date",v.formData.ExpirationDate),u("showPlaceholder",!0),r(2),K(M(59,Ut,v.formData.TimeType)),r(),u("items",v.options.TimeTypes),y("ngModel",v.formData.TimeType),u("clearable",!1),r(2),xe("z-index",l.isOpen?"9999":""),r(2),s(v.formData.TimeType==1?73:-1),r(),s(v.formData.TimeType==2?74:-1),r(),s(v.formData.TimeType==2?75:-1),r(),s(v.formData.TimeType==2?76:-1),r(3),s(v.formData.TypeID==v.promotionType.Quantity||v.formData.TypeID==v.promotionType.PromotionTiered?79:-1),r(),s(v.formData.TypeID!=v.promotionType.PromotionTiered?80:-1),r(),s(v.formData.TypeID==v.promotionType.PromotionTiered?81:-1)}}var Gt=class t extends je{constructor(e,a,i,l,v,O,De,_t){super(e,a,"Promotion/PromotionFormLoader",l);this.router=i;this.toastr=v;this.csvConverter=O;this.matDialog=De;this.roleService=_t;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=Di;rewardType=Pi;query=new $e("");originalList=[];filteredList=[];ngOnInit(){this.filteredList=[...this.originalList],this.query.valueChanges.pipe(Ke(""),Xt("query"),Qe(300),ai(),ke(e=>e?.trim()?new Ti(this.originalList,{keys:["VariantCode","VariantName","PromotionName"],threshold:.3}).search(e).map(i=>i.item):[...this.originalList]),Xt("promotion requirement search")).subscribe(e=>{this.filteredList=e})}get viewList(){switch(this.promotionButtonToggleState){case"Added":return this.addedRewardItem;case"Current":return this.filteredList;default:return this.removedRewardItem}}postBindForm(e){console.log("data form",e),this.originalList=e.List,this.filteredList=[...this.originalList],this.menuData.H="Promotion Event Form",T.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!=T.GuidEmpty,this.options.Entities=this.options.Entities.map(a=>de(ie({},a),{selectAll:"Select All"}))}initTimeRange(){if(this.formData.TimeType=T.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(T.IsEmpty(this.formData.Name)){this.toastr.error("Name cannot be empty",A.Error);return}if(T.IsEmpty(this.formData.StartDate)){this.toastr.error("Start Date cannot be empty",A.Error);return}if(T.IsEmpty(this.formData.ExpirationDate)){this.toastr.error("Expiration Date cannot be empty",A.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=de(ie({},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 i=e.getHours().toString(),l=e.getMinutes().toString();i=i.length<2?"0"+i:i,l=l.length<2?"0"+l:l,a=i+":"+l}return a}onSubmitSuccess(){T.IsEmpty(this.formData.ID)?this.toastr.success("Success add new promotion event",A.Success):this.toastr.success("Success edit promotion event",A.Success),this.router.navigate(["/menu/Promotion/Main/Event"])}onSubmitError(e){this.data.Form=this.originalData}onTimeTypeChange(e){if(e==2&&T.IsEmpty(this.formData.EndTime)){let a=new Date;a.setHours(0,0,0),this.formData.StartTime=a;let i=new Date;i.setHours(23,59,59),this.formData.EndTime=i}}openRewardItemDialog(e,a){this.matDialog.open(Ot,{data:{rewardItems:this.rewardItems,addedRewardItem:this.addedRewardItem,item:e,index:a,isEdit:this.isEdit}}).afterClosed().subscribe(()=>{T.IsEmpty(e)&&this.isEdit&&(this.promotionButtonToggleState="Added"),this.originalList=[...this.rewardItems],this.filteredList=[...this.originalList]})}openVariantDialog(e,a){this.matDialog.open(st,{data:{variantList:this.variantList,addedRequirementItem:this.addedRequirementItem,rewardItems:this.rewardItems,item:e,index:a,isEdit:this.isEdit}}).afterClosed().subscribe(()=>{T.IsEmpty(e)&&this.isEdit&&(this.requirementButtonToggleState="Added")})}openImportPurchaseItem(){this.matDialog.open(Ye,{data:{type:"Purchase",sampleUrl:Le.files.csv.promotion_event_item_requirement_import}}).afterClosed().pipe(me(e=>T.IsNotEmpty(e))).subscribe(e=>{e.filter(a=>this.variantList.findIndex(i=>a.VariantID==i.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(ut,{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(Ye,{data:{type:"Promotion",sampleUrl:Le.files.csv.promotion_event_import}}).afterClosed().pipe(me(e=>T.IsNotEmpty(e)),gt(()=>this.promotionButtonToggleState="Added")).subscribe(e=>{for(let a of e){let i=this.rewardItems.findIndex(l=>l.VariantID==a.VariantID);i!=-1?(this.promotionButtonToggleState="Current",a.modified=!0,this.rewardItems[i]=a):this.isEdit?this.addedRewardItem.push(a):(this.promotionButtonToggleState="Current",this.rewardItems.push(a))}this.originalList=[...this.rewardItems],this.filteredList=[...this.originalList]})}openPromotionTierModal(e,a){this.matDialog.open(Wt,{data:{quantity:e?.Quantity,discount:e?.Discount,promotionTier:this.promotionTiered,index:a}}).afterClosed().pipe(me(i=>i&&i.Quantity&&i.Discount)).subscribe({next:i=>{this.promotionTiered=a==null?[...this.promotionTiered,i]:[...this.promotionTiered].map((l,v)=>v==a?ie(ie({},l),i):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.originalList=[...this.data.List],this.filteredList=[...this.originalList]):(this.data.List.splice(e,1),this.filteredList.splice(e,1),this.originalList=[...this.data.List])}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)(g(Z),g(L),g(ve),g(pe),g(B),g(ye),g(X),g(j))};static \u0275cmp=w({type:t,selectors:[["POS-promotion-event-form"]],standalone:!1,features:[ne],decls:1,vars:1,consts:[["name","ngModel"],["outlet",""],["type",""],["avail",""],[3,"pageData","hideSearchBox","hideSearchDropdown"],[1,"btn","btn-outline-secondary","me-5",3,"routerLink"],[1,"btn","btn-outline-secondary","me-5",3,"routerLink","queryParams"],[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"],[2,"color","red"],[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"],[2,"background","#fff3cd","padding","10px 5px","margin-top","10px","border-radius","5px"],["bindLabel","Value","bindValue","Key","name","promoType",3,"ngModelChange","items","ngModel"],["for","promoType"],[1,"col-sm-4"],[1,"col-sm-6"],[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"],[1,"text-dark","mt-2"],["type","checkbox",3,"id","ngModel"],[1,"fa-solid","fa-circle-exclamation","ms-4","me-2"],[2,"display","inline"],["type","text","id","minimum","placeholder","Minimum Spending","matTooltip","Minimum amount to get this promotion","autoNum","",1,"form-control",3,"ngModelChange","ngModel"],["for","minimum"],["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"],["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"],[1,"d-sm-block","mt-2"],[1,"row","mt-2"],[1,"table-responsive"],["name","fontStyle","aria-label","Font Style",3,"ngModelChange","ngModel"],["value","Current"],["value","Added"],["value","Deleted"],[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"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],["width","15px"],[2,"width","20px"],[2,"width","80px"],[1,"text-end"],[1,"border-bottom",3,"bg-gradient-warning","bg-gradient-success","bg-gradient-danger"],[1,"border-bottom"],[1,"text-info"],["aria-hidden","true",1,"fa","text-danger","fa-2x",2,"cursor","pointer",3,"click"],[1,"text-info",3,"click"],[2,"cursor","pointer"],["aria-hidden","true",1,"fa","fa-xmark","text-danger","fa-2x",2,"cursor","pointer",3,"click"],[1,"d-flex","gap-4","mt-2"],["type","text","placeholder","Search variant...",1,"form-control","input",2,"width","250px","font-size","1rem",3,"formControl"],[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"],[1,"border-bottom",3,"click"]],template:function(a,i){a&1&&c(0,ll,82,61,"mainpanel-cmp",4),a&2&&s(i.data&&i.formData?0:-1)},dependencies:[$,ee,J,he,q,ot,N,re,se,lt,Me,yi,Ie,Ei,nt,Dt,Pt,dt,rt,tt,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 ml=()=>["/menu/Promotion/Main/Event/Form"],ii=t=>({ID:t}),dl=t=>({CategoryID:t});function pl(t,m){if(t&1&&(n(0,"a",28),x(1,"i",29),d(2,"Edit "),o()),t&2){let e=p(),a=p();be("border-end-0",a.role.promotion.Delete),u("routerLink",R(4,ml))("queryParams",M(5,ii,e.Form.ID))}}function cl(t,m){if(t&1){let e=f();n(0,"button",30),h("click",function(){_(e);let i=p(),l=p();return C(l.delete(i.Form.ID))}),x(1,"i",31),d(2,"Delete "),o()}}function sl(t,m){if(t&1){let e=f();n(0,"app-customize-toggle",32),h("ngModelChange",function(i){_(e);let l=p(),v=p();return C(v.onEnablePromotion(i,l.Form))}),o()}if(t&2){let e=m,a=p(),i=p();u("ngModel",a.Form.Enabled)("disabled",e.startDateDays>0&&e.endDateDays>=0||!(i.role.promotion!=null&&i.role.promotion.Edit))}}function ul(t,m){if(t&1&&(n(0,"tr",38)(1,"td",39),d(2),o()()),t&2){let e=m.$implicit;r(2),I(e.Name)}}function _l(t,m){if(t&1&&(n(0,"div",10)(1,"div",33)(2,"div",34)(3,"h4",35),d(4,"Outlet"),o()(),n(5,"div",36)(6,"table",37)(7,"tbody"),V(8,ul,3,1,"tr",38,k),o()()()()()),t&2){let e=p();r(8),F(e.Outlets)}}function Cl(t,m){if(t&1&&(n(0,"div",20),x(1,"lib-info-page-input",40),o()),t&2){let e=p();r(),u("inputValue",e.Form.MinimumAmount)}}function fl(t,m){if(t&1&&(n(0,"div",21),x(1,"lib-info-page-input",41),o()),t&2){let e=p();r(),u("inputValue",e.Form.MinimumAmount)}}function gl(t,m){if(t&1&&(n(0,"div",21),x(1,"lib-info-page-input",42),o()),t&2){let e=p();r(),u("inputValue",e.Form.RequirementString)}}function xl(t,m){if(t&1&&(n(0,"div",21),x(1,"lib-info-page-input",43),o()),t&2){let e=p();r(),u("inputValue",e.Form.RewardString)}}function vl(t,m){if(t&1&&(n(0,"div",21),x(1,"lib-info-page-input",44),o()),t&2){let e=p();r(),u("inputValue",e.Form.MultipleApply?"Applied":"Not Applied")}}function hl(t,m){if(t&1&&(n(0,"div",20),x(1,"lib-info-page-input",45),o()),t&2){let e=p();r(),u("inputValue",e.Form.Discount1)}}function yl(t,m){if(t&1&&(n(0,"div",20),x(1,"lib-info-page-input",46),o()),t&2){let e=p();r(),u("inputValue",e.Form.Discount2)}}function Sl(t,m){if(t&1&&(n(0,"div",20),x(1,"lib-info-page-input",47),o()),t&2){let e=p();r(),u("inputValue",e.Form.TaxTypeString)}}function Dl(t,m){if(t&1&&(n(0,"div",20),x(1,"lib-info-page-input",40),o()),t&2){let e=p();r(),u("inputValue",e.Form.MinimumAmount)}}function Pl(t,m){if(t&1&&(n(0,"div",48),d(1),b(2,"MathAbs"),o()),t&2){let e=p();r(),P(" Promotion Upcoming - Active in ",E(2,1,e.startDateDays)," Days ")}}function bl(t,m){if(t&1&&(n(0,"div",49),d(1),b(2,"MathAbs"),o()),t&2){let e=p();r(),P(" Promotion Is Active - End in ",E(2,1,e.endDateDays)," Days ")}}function El(t,m){if(t&1&&(n(0,"div",50),d(1),b(2,"MathAbs"),b(3,"MathAbs"),o()),t&2){let e=p();r(),P(" Promotion Expired - Since ",E(2,1,e.endDateDays)==0?"Today":E(3,3,e.endDateDays)+" Days ago"," ")}}function Il(t,m){if(t&1&&(c(0,Pl,3,3,"div",48),c(1,bl,3,3,"div",49),c(2,El,4,5,"div",50)),t&2){let e=m;s(e.startDateDays<0?0:-1),r(),s(e.startDateDays>=0&&e.endDateDays<0?1:-1),r(),s(e.startDateDays>0&&e.endDateDays>=0?2:-1)}}function Tl(t,m){if(t&1&&(n(0,"div",21),x(1,"lib-info-page-input",51),o(),n(2,"div",21),x(3,"lib-info-page-input",52),o()),t&2){let e=p();r(),u("inputValue",e.Form.StartTime),r(2),u("inputValue",e.Form.EndTime)}}function wl(t,m){if(t&1&&(n(0,"div",55)(1,"h3"),d(2,"Requirement"),o(),n(3,"small",62),d(4),b(5,"number"),o()()),t&2){let e=p(3);r(4),I(" ("+E(5,1,e.Count)+" Items)")}}function Ml(t,m){if(t&1&&(n(0,"div",55)(1,"h3"),d(2,"Category"),o(),n(3,"small",62),d(4),o()()),t&2){let e=p(4);r(4),I(" ("+e.Categories.length+" Category)")}}function Vl(t,m){if(t&1&&x(0,"input",57),t&2){let e=p(5);u("formControl",e.promotionRequirementQuery)}}function Fl(t,m){if(t&1&&(n(0,"tr",68)(1,"td"),d(2),o(),n(3,"td")(4,"a",69),d(5),o()(),n(6,"td"),d(7),o(),n(8,"td",67),d(9),b(10,"number"),o()()),t&2){let e=m.$implicit,a=m.$index;r(2),I(a+1+"."),r(2),u("queryParams",M(7,ii,e.VariantID)),r(),P(" ",e.VariantName," "),r(2),I(e.VariantCode),r(2),P(" ",E(10,5,e.UnitPrice)," ")}}function kl(t,m){if(t&1){let e=f();n(0,"mat-paginator",71),h("page",function(i){_(e);let l=p(7);return C(l.onRequirementPaginationChange(i))}),o()}if(t&2){let e=m,a=p();u("length",e.Count)("pageSize",e.Data.length)("pageIndex",a.pageIndex)}}function Rl(t,m){if(t&1&&(c(0,kl,1,3,"mat-paginator",70),b(1,"async")),t&2){let e,a=p(6);s((e=E(1,1,a.promotionRequirement$))?0:-1,e)}}function Ll(t,m){if(t&1&&(n(0,"div",61)(1,"table",63)(2,"thead",64)(3,"tr")(4,"th",65),d(5,"No"),o(),n(6,"th"),d(7,"Name"),o(),n(8,"th",66),d(9,"Code"),o(),n(10,"th",67),d(11,"Price"),o()()(),n(12,"tbody"),V(13,Fl,11,9,"tr",68,k),o()()(),c(15,Rl,2,3),b(16,"async")),t&2){let e,a=p(3),i=p(2);r(13),F(a.Data),r(2),s((e=E(16,1,i.promotionRequirementPagination))?15:-1,e)}}function Al(t,m){if(t&1&&(n(0,"tr",68)(1,"td"),d(2),o(),n(3,"td",72)(4,"a",73),d(5),o()()()),t&2){let e=m.$implicit,a=m.$index;r(2),I(a+1+"."),r(2),u("queryParams",M(3,dl,e.CategoryID)),r(),I(e.CategoryName)}}function Bl(t,m){if(t&1&&(n(0,"div",61)(1,"table",63)(2,"thead",64)(3,"tr")(4,"th",65),d(5,"No"),o(),n(6,"th"),d(7,"Name"),o()()(),n(8,"tbody"),V(9,Al,6,5,"tr",68,k),o()()()),t&2){let e=p(4);r(9),F(e.Categories)}}function ql(t,m){if(t&1){let e=f();n(0,"div",7)(1,"div",53)(2,"div",54),c(3,wl,6,3,"div",55)(4,Ml,5,1,"div",55),o(),n(5,"div",56),c(6,Vl,1,1,"input",57),n(7,"a",58),h("click",function(){_(e);let i=p(3),l=p();return C(l.openExportRequirementModal(i.Form.ID))}),x(8,"span",59),d(9," Export "),o()()(),n(10,"div",9)(11,"div",5)(12,"div",10)(13,"div",60),c(14,Ll,17,3),c(15,Bl,11,0,"div",61),o()()()()()}if(t&2){let e=p(3);r(3),s(e.Form.RequirementTypeID==0?3:4),r(3),s(e.Form.RequirementTypeID==0?6:-1),r(8),s(e.Form.RequirementTypeID==0?14:-1),r(),s(e.Form.RequirementTypeID==1?15:-1)}}function Nl(t,m){if(t&1&&(n(0,"div",10),c(1,ql,16,4,"div",7),o()),t&2){let e=p(2);r(),s(e.Form.TypeID==2||e.Form.TypeID==5?1:-1)}}function Ol(t,m){if(t&1&&(n(0,"div",5),c(1,Nl,2,1,"div",10),o()),t&2){let e=p();r(),s(m.Count||e.Categories.length?1:-1)}}function Wl(t,m){t&1&&(n(0,"th",67),d(1,"Basic Cost"),o())}function Ul(t,m){t&1&&(n(0,"th",67),d(1,"Extra Cost"),o())}function jl(t,m){if(t&1&&(n(0,"td",67),d(1),b(2,"number"),o()),t&2){let e=p().$implicit;r(),P(" ",E(2,1,e.OriginalCost)," ")}}function Gl(t,m){if(t&1&&(n(0,"td",67),d(1),b(2,"number"),o()),t&2){let e=p().$implicit;r(),P(" ",E(2,1,e.ExtraCost)," ")}}function zl(t,m){if(t&1&&(n(0,"tr",68)(1,"td"),d(2),o(),n(3,"td",76)(4,"a",69),d(5),o()(),n(6,"td"),d(7),o(),c(8,jl,3,3,"td",67),c(9,Gl,3,3,"td",67),n(10,"td",67),d(11),b(12,"number"),o(),n(13,"td",67),d(14),b(15,"number"),o(),n(16,"td",67),d(17),b(18,"number"),o()()),t&2){let e=m.$implicit,a=m.$index,i=p(5);r(2),I(a+1+"."),r(2),u("queryParams",M(15,ii,e.VariantID)),r(),P(" ",e.VariantName," "),r(2),I(e.VariantCode),r(),s(i.role.product.Cost?8:-1),r(),s(i.role.product.Cost?9:-1),r(2),P(" ",E(12,9,e.OriginalPrice)," "),r(3),P(" ",E(15,11,e.UnitPrice)," "),r(3),P(" ",E(18,13,e.Discount)," ")}}function Hl(t,m){t&1&&V(0,zl,19,17,"tr",68,k),t&2&&F(m.Data)}function Ql(t,m){if(t&1){let e=f();n(0,"mat-paginator",71),h("page",function(i){_(e);let l=p(5);return C(l.onGiftPaginationChange(i))}),o()}if(t&2){let e=m,a=p();u("length",e.Count)("pageSize",e.Data.length)("pageIndex",a.pageIndex)}}function Kl(t,m){if(t&1&&(c(0,Ql,1,3,"mat-paginator",70),b(1,"async")),t&2){let e,a=p(4);s((e=E(1,1,a.promotionGift$))?0:-1,e)}}function $l(t,m){if(t&1){let e=f();n(0,"div",7)(1,"div",53)(2,"div",74)(3,"h3"),d(4,"Reward"),o(),n(5,"small",75),d(6),b(7,"async"),b(8,"number"),o()(),n(9,"div",56),x(10,"input",57),n(11,"a",58),h("click",function(){_(e);let i=p(2),l=p();return C(l.openExportModal(i.Form.ID))}),x(12,"span",59),d(13," Export "),o()()(),n(14,"div",9)(15,"div",5)(16,"div",10)(17,"div",60)(18,"div",61)(19,"table",63)(20,"thead",64)(21,"tr")(22,"th",65),d(23,"No"),o(),n(24,"th"),d(25,"Name"),o(),n(26,"th",66),d(27,"Code"),o(),c(28,Wl,2,0,"th",67),c(29,Ul,2,0,"th",67),n(30,"th",67),d(31,"Basic Price"),o(),n(32,"th",67),d(33,"Promotion Price"),o(),n(34,"th",67),d(35,"Disc(%)"),o()()(),n(36,"tbody"),c(37,Hl,2,0),b(38,"async"),o()()(),c(39,Kl,2,3),b(40,"async"),o()()()()()}if(t&2){let e,a,i,l=p(3);r(6),I("("+E(8,8,(e=E(7,6,l.promotionGift$))==null?null:e.Count)+" Items)"),r(4),u("formControl",l.promotionGiftQuery),r(18),s(l.role.product.Cost?28:-1),r(),s(l.role.product.Cost?29:-1),r(8),s((a=E(38,10,l.promotionGift$))?37:-1,a),r(2),s((i=E(40,12,l.promotionGiftPagination))?39:-1,i)}}function Jl(t,m){if(t&1&&(n(0,"div",5)(1,"div",10),c(2,$l,41,14,"div",7),o()()),t&2){let e=p();r(2),s(e.Form.TypeID==1||e.Form.TypeID==2||e.Form.TypeID==4?2:-1)}}function Yl(t,m){if(t&1&&(n(0,"tr",68)(1,"td"),d(2),o(),n(3,"td"),d(4),o(),n(5,"td"),d(6),o()()),t&2){let e=m.$implicit,a=m.$index;r(2),I(a+1),r(2),I(e.Quantity),r(2),I(e.Discount)}}function Xl(t,m){if(t&1&&(n(0,"div",5)(1,"div",77)(2,"div",7)(3,"div",53)(4,"div",78)(5,"h3"),d(6,"Promotion Tiered"),o()()(),n(7,"div",9)(8,"div",5)(9,"div",77)(10,"div",61)(11,"table",79)(12,"thead",64)(13,"tr")(14,"th"),d(15,"No"),o(),n(16,"th"),d(17,"Quantity"),o(),n(18,"th"),d(19,"Discount"),o()()(),n(20,"tbody"),V(21,Yl,7,3,"tr",68,k),o()()()()()()()()()),t&2){let e=p();r(21),F(e.Form.Note)}}function Zl(t,m){if(t&1&&(n(0,"span")(1,"b"),d(2,"Modified:"),o(),d(3),o()),t&2){let e=p();r(3),qe(" ",e.DocumentInfo.Modified.Date," / ",e.DocumentInfo.Modified.User," ")}}function em(t,m){if(t&1&&(n(0,"mainpanel-cmp",0),b(1,"async"),n(2,"actions")(3,"div",1),c(4,pl,3,7,"a",2),c(5,cl,3,0,"button",3),o()(),n(6,"content")(7,"div",4)(8,"div",5)(9,"div",6)(10,"div",7)(11,"div",8)(12,"h3"),d(13,"General"),o()(),n(14,"div",9)(15,"div",5)(16,"div",10)(17,"div",11)(18,"div",12),x(19,"lib-info-page-input",13),o(),n(20,"div",14)(21,"div",15)(22,"div",16),c(23,sl,1,2,"app-customize-toggle",17),b(24,"async"),o(),n(25,"label",18),d(26," Enabled "),o()()()()()(),n(27,"div",5),c(28,_l,10,0,"div",10),n(29,"div",10),x(30,"lib-info-page-input",19),n(31,"div",5),c(32,Cl,2,1,"div",20),c(33,fl,2,1,"div",21),c(34,gl,2,1,"div",21),c(35,xl,2,1,"div",21),c(36,vl,2,1,"div",21),c(37,hl,2,1,"div",20),c(38,yl,2,1,"div",20),c(39,Sl,2,1,"div",20),c(40,Dl,2,1,"div",20),o()()()()()(),n(41,"div",22)(42,"div",7)(43,"div",8)(44,"h3"),d(45,"Promotion Period"),o(),c(46,Il,3,3),b(47,"async"),o(),n(48,"div",23)(49,"div",5)(50,"div",21),x(51,"lib-info-page-input",24),b(52,"date"),o(),n(53,"div",21),x(54,"lib-info-page-input",25),b(55,"date"),o(),c(56,Tl,4,2),o()()()()(),c(57,Ol,2,1,"div",5),b(58,"async"),c(59,Jl,3,1,"div",5),c(60,Xl,23,0,"div",5),n(61,"div",26),x(62,"i",27),n(63,"span")(64,"b"),d(65,"Created:"),o(),d(66),o(),c(67,Zl,4,2,"span"),o()()()()),t&2){let e,a,i,l=m,v=p();u("pageData",E(1,28,v.menu$))("hideSearchDropdown",!0)("hideSearchBox",!0),r(4),s(v.role.promotion.Edit?4:-1),r(),s(v.role.promotion.Delete?5:-1),r(14),u("inputValue",l.Form.Name),r(4),s((e=E(24,30,v.promotionPeriod$))?23:-1,e),r(5),s(l.Outlets.length?28:-1),r(2),u("inputValue",l.Form.PromotionTypeString),r(2),s(l.Form.TypeID==1?32:-1),r(),s(l.Form.TypeID==2?33:-1),r(),s(l.Form.TypeID==2||l.Form.TypeID==5?34:-1),r(),s(l.Form.TypeID==2?35:-1),r(),s(l.Form.TypeID==2&&l.Form.RewardTypeID==1?36:-1),r(),s(l.Form.TypeID==3?37:-1),r(),s(l.Form.TypeID==3?38:-1),r(),s(l.Form.TypeID==3?39:-1),r(),s(l.Form.TypeID==3?40:-1),r(6),s((a=E(47,32,v.promotionPeriod$))?46:-1,a),r(5),u("inputValue",ae(52,34,l.Form.StartDate,"dd MMM yyyy")),r(3),u("inputValue",ae(55,37,l.Form.ExpirationDate,"dd MMM yyyy")),r(2),s(l.Form!=null&&l.Form.StartTime&&(l.Form!=null&&l.Form.EndTime)&&((l.Form==null?null:l.Form.StartTime)!==v.startTime||(l.Form==null?null:l.Form.EndTime)!==v.endTime)?56:-1),r(),s((i=E(58,40,v.promotionRequirement$))?57:-1,i),r(2),s(l.Form.TypeID!=5?59:-1),r(),s(l.Form.TypeID==5?60:-1),r(6),qe(" ",l.DocumentInfo.Created.Date," / ",l.DocumentInfo.Created.User," "),r(),s(l.DocumentInfo.Modified.User?67:-1)}}var zt=class t{constructor(m,e,a,i,l,v,O){this.http=e;this.role=i;this.toastr=l;this.router=v;this.matDialog=O;let De=m.snapshot.queryParams.ID;a.setMenu$();let _t=oi(a.menu$,e.post("/API/Promotion/GetPromotionInfo",{ID:De})).pipe(Be(1));this.menu$=_t.pipe(ke(([W,Q])=>de(ie({},W),{H:`${Q.Form.Name} Promotion Event`}))),this.info$=_t.pipe(ke(([W,Q])=>{let Xe=T.IsNotEmpty(Q.Form.Note)?JSON.parse(Q.Form.Note):"";return de(ie({},Q),{Form:de(ie({},Q.Form),{Note:Xe})})}),Be(1)),this.promotionPeriod$=this.info$.pipe(ke(W=>{let Q=T.IsEmpty(W.Form?.StartTime)?"00:00:00":W.Form?.StartTime,Xe=T.IsEmpty(W.Form?.EndTime)?"23:59:59":W.Form?.EndTime,Ai=this.setTimeInDate(new Date(W.Form?.StartDate),Q),Bi=this.setTimeInDate(new Date(W.Form?.ExpirationDate),Xe);return{startDateDays:T.differentInDays(Ai,new Date),endDateDays:T.differentInDays(Bi,new Date)}}),Be(1)),this.promotionGift$=this.info$.pipe(me(W=>W.Form.TypeID==1||W.Form.TypeID==2||W.Form.TypeID==4),Pe(()=>Qt(this.promotionGiftQuery.valueChanges.pipe(Qe(700),Ke("")),this.promotionGiftPagination)),Pe(([W,Q])=>e.post("/API/Promotion/GetInfoPromotionGift",{ID:De,PageNumber:Q.pageIndex+1,RowCount:100,Name:W})),Be(1)),this.promotionRequirement$=this.info$.pipe(me(W=>W.Form.TypeID==2||W.Form.TypeID==5),Pe(()=>Qt(this.promotionRequirementQuery.valueChanges.pipe(Qe(700),Ke("")),this.promotionRequirementPagination)),Pe(([W,Q])=>e.post("/API/Promotion/GetInfoPromotionRequirement",{ID:De,PageNumber:Q.pageIndex+1,RowCount:100,Name:W})),Be(1))}info$;promotionGift$;promotionRequirement$;menu$;_onLoad=new ni;promotionGiftQuery=new $e("");promotionGiftPagination=new Ze({pageIndex:0});promotionRequirementQuery=new $e("");promotionRequirementPagination=new Ze({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",A.Success),this.router.navigate(["/menu/Promotion/Main/Event"])})}onEnablePromotion(m,e){this.http.post(Te.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(ue,{data:{title:"Promotion Reward",exportTypes:[{ID:"PromotionExport/ExportPromotionEventDetail",Value:"Default"}],filterExport:{ID:m},getAllDataLengthAPI:"",pagination:!1}})}openExportRequirementModal(m){this.matDialog.open(ue,{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)(g(pe),g(L),g(Z),g(j),g(B),g(ve),g(X))};static \u0275cmp=w({type:t,selectors:[["POS-promotion-event-info"]],standalone:!1,decls:2,vars:3,consts:[[3,"pageData","hideSearchDropdown","hideSearchBox"],[1,"btn-group"],[1,"btn","btn-outline-secondary",3,"border-end-0","routerLink","queryParams"],[1,"btn","btn-outline-secondary"],[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"],[1,"mt-3",3,"ngModel","disabled"],[1,"labelFilledInput"],["labelValue","Type",3,"inputValue"],[1,"col-sm-4"],[1,"col-sm-6"],[1,"col-md-4"],[1,"card-body","pt-10"],["labelValue","Start Date",3,"inputValue"],["labelValue","Expiration Date",3,"inputValue"],[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"],[1,"mt-5"],[1,"ps-4","py-1"],["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"],[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","placeholder","Search variant...",1,"form-control","input",2,"width","250px","font-size","1rem",3,"formControl"],["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,"table-responsive"],[1,"ms-2","pt-2"],["id","tableGrid",1,"table"],[1,"thead-light","sticky-top-thead"],[2,"width","20px"],[2,"width","80px"],[1,"text-end"],[1,"border-bottom"],["routerLink","/menu/Products/Catalog/Variants/Info","target","_blank",3,"queryParams"],[3,"length","pageSize","pageIndex"],[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"],[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){if(e&1&&(c(0,em,68,42,"mainpanel-cmp",0),b(1,"async")),e&2){let i;s((i=E(1,1,a.info$))?0:-1,i)}},dependencies:[$,ee,J,q,N,at,Ve,nt,dt,et,U,it,bi],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 tm=[{path:"Main/Pricebook",component:Et},{path:"Main/Pricebook/Info",component:Tt},{path:"Main/Pricebook/Form",component:Ft},{path:"Main/Coupon",component:Rt},{path:"Main/Coupon/Info",component:Lt},{path:"Main/Coupon/Form",component:Bt},{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=vt({type:t});static \u0275inj=xt({imports:[Jt.forChild(tm),Jt]})};var Li=class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=vt({type:t});static \u0275inj=xt({imports:[yt,Ht,vi,St,gi,re,G,xi,si,lt,Me,Yt,Si,Ve,fi,ci,Yt,Ii,pi,ui,We,dt]})};export{Li as PromotionModule};
|