marketplacepos 3.16.6 → 3.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/Marketplace/{chunk-T4MH7AFK.js → chunk-2AMEIUWK.js} +1 -1
  2. package/Marketplace/{chunk-AN57DTS4.js → chunk-2FI33IHG.js} +1 -1
  3. package/Marketplace/{chunk-QVST77FV.js → chunk-37HEKUHD.js} +1 -1
  4. package/Marketplace/{chunk-INOCIPFW.js → chunk-3TNPJNQS.js} +1 -1
  5. package/Marketplace/{chunk-ITTQVZJZ.js → chunk-44IWQ2WK.js} +1 -1
  6. package/Marketplace/{chunk-YMCXD2IY.js → chunk-4HHTQAPY.js} +1 -1
  7. package/Marketplace/{chunk-HPCPVA6F.js → chunk-4QK7Y7R2.js} +1 -1
  8. package/Marketplace/{chunk-43L7CBSZ.js → chunk-4URWFKAM.js} +1 -1
  9. package/Marketplace/{chunk-CHZBEIYE.js → chunk-4YCZLOHQ.js} +1 -1
  10. package/Marketplace/{chunk-Q2DR7RQA.js → chunk-5B6FNQOB.js} +1 -1
  11. package/Marketplace/{chunk-EVDAHZS7.js → chunk-5BU6HQXL.js} +1 -1
  12. package/Marketplace/{chunk-SG42JTLJ.js → chunk-5RS36M3W.js} +2 -2
  13. package/Marketplace/{chunk-ZCPPEAJQ.js → chunk-63QD35VV.js} +1 -1
  14. package/Marketplace/{chunk-YNMFFEF3.js → chunk-6IOKKIXK.js} +1 -1
  15. package/Marketplace/{chunk-CZYGGOZL.js → chunk-6NFPCNPI.js} +1 -1
  16. package/Marketplace/{chunk-X54LLODL.js → chunk-6NTRXLMW.js} +1 -1
  17. package/Marketplace/{chunk-WWRX4VCC.js → chunk-6OGERROP.js} +1 -1
  18. package/Marketplace/chunk-6SHHVYL6.js +1 -0
  19. package/Marketplace/{chunk-OURZMROU.js → chunk-73DE2GZF.js} +1 -1
  20. package/Marketplace/{chunk-D6UTGFEO.js → chunk-7FFNLVJH.js} +1 -1
  21. package/Marketplace/{chunk-SUL6ZUGT.js → chunk-AAFEUTPF.js} +1 -1
  22. package/Marketplace/{chunk-DDUQ3IZU.js → chunk-ACYUSHMS.js} +1 -1
  23. package/Marketplace/{chunk-MHUFSLCT.js → chunk-AO22A2PN.js} +1 -1
  24. package/Marketplace/{chunk-U4SY5KAM.js → chunk-BAAOECNZ.js} +1 -1
  25. package/Marketplace/chunk-BFLBYMTB.js +5 -0
  26. package/Marketplace/{chunk-XWZXILH3.js → chunk-C5IL24BE.js} +1 -1
  27. package/Marketplace/{chunk-PW6QZKJS.js → chunk-C62XLEFW.js} +1 -1
  28. package/Marketplace/{chunk-TC5L2L6N.js → chunk-CHPESC5O.js} +1 -1
  29. package/Marketplace/chunk-CHSTGM5Y.js +3 -0
  30. package/Marketplace/{chunk-BZ7SMYI7.js → chunk-CTKEWRX4.js} +1 -1
  31. package/Marketplace/{chunk-UUHH36QD.js → chunk-DASTO4RB.js} +1 -1
  32. package/Marketplace/{chunk-ZEOMHDTX.js → chunk-DDRDQGEF.js} +1 -1
  33. package/Marketplace/{chunk-S7B6P7NY.js → chunk-DNGIUG3E.js} +1 -1
  34. package/Marketplace/{chunk-HXV4FH6L.js → chunk-E3LCGTRI.js} +1 -1
  35. package/Marketplace/{chunk-X3QMMNE7.js → chunk-F32X4UUF.js} +1 -1
  36. package/Marketplace/{chunk-6A746Q2N.js → chunk-FUH4AMYX.js} +1 -1
  37. package/Marketplace/{chunk-T3POIC5F.js → chunk-GP6U42SV.js} +1 -1
  38. package/Marketplace/{chunk-DRY23ALE.js → chunk-GXHE2CDH.js} +1 -1
  39. package/Marketplace/{chunk-MPMNVKBU.js → chunk-HA3Y34OJ.js} +1 -1
  40. package/Marketplace/{chunk-IH2NT4RC.js → chunk-HSFUKC7R.js} +4 -4
  41. package/Marketplace/{chunk-AKI6ACKF.js → chunk-I7OLAB5O.js} +1 -1
  42. package/Marketplace/{chunk-WF6PBLOY.js → chunk-IZXSCJ3N.js} +1 -1
  43. package/Marketplace/{chunk-B42KSOUB.js → chunk-KGSUB5OH.js} +1 -1
  44. package/Marketplace/{chunk-CK442KU6.js → chunk-KN5RSYFT.js} +1 -1
  45. package/Marketplace/{chunk-A3ZMDUMP.js → chunk-M4JG6342.js} +1 -1
  46. package/Marketplace/{chunk-VBPSLPVJ.js → chunk-M64SKYWS.js} +1 -1
  47. package/Marketplace/{chunk-WMPI2QPB.js → chunk-MM4QZFVY.js} +1 -1
  48. package/Marketplace/{chunk-YP423ZQ6.js → chunk-MOWBKS7Y.js} +1 -1
  49. package/Marketplace/{chunk-F4FACWQU.js → chunk-NEQN5BMS.js} +1 -1
  50. package/Marketplace/chunk-O5MOPAT5.js +1 -0
  51. package/Marketplace/{chunk-6JF7HXB4.js → chunk-ONKOEBKR.js} +1 -1
  52. package/Marketplace/{chunk-3HQCLIMJ.js → chunk-OXSGKWPW.js} +1 -1
  53. package/Marketplace/{chunk-VS2ZOTGT.js → chunk-P6UIWSMI.js} +1 -1
  54. package/Marketplace/chunk-PAGHWDCT.js +1 -0
  55. package/Marketplace/{chunk-FQ72DFEO.js → chunk-PBJG5QAA.js} +1 -1
  56. package/Marketplace/{chunk-YXUEYLE5.js → chunk-QVCJCYVC.js} +1 -1
  57. package/Marketplace/{chunk-XC5VDAOP.js → chunk-R5RWR7T6.js} +1 -1
  58. package/Marketplace/{chunk-AYFY7HHL.js → chunk-R7JZ77UO.js} +1 -1
  59. package/Marketplace/{chunk-OKB4Q376.js → chunk-RKRJ4JOF.js} +1 -1
  60. package/Marketplace/{chunk-QNHIAAV3.js → chunk-RN744Z4D.js} +1 -1
  61. package/Marketplace/{chunk-KSTCUPYX.js → chunk-RVVTVU4B.js} +1 -1
  62. package/Marketplace/{chunk-LIJHEC5V.js → chunk-SKTTDASB.js} +1 -1
  63. package/Marketplace/{chunk-XGEX66UB.js → chunk-TCYAJ4HK.js} +1 -1
  64. package/Marketplace/{chunk-DIQW3R2I.js → chunk-US5WZ2ZS.js} +1 -1
  65. package/Marketplace/{chunk-YWLE67TM.js → chunk-VEKQ4MF5.js} +1 -1
  66. package/Marketplace/{chunk-AXDEQQNM.js → chunk-VZHIFACR.js} +1 -1
  67. package/Marketplace/{chunk-V6PMZ6DL.js → chunk-W3POM6UQ.js} +1 -1
  68. package/Marketplace/{chunk-C3R6SGRH.js → chunk-WJGR76JO.js} +1 -1
  69. package/Marketplace/{chunk-UUI7T7NV.js → chunk-WONQYZFA.js} +1 -1
  70. package/Marketplace/{chunk-K66EVMAU.js → chunk-XNGU3O4O.js} +1 -1
  71. package/Marketplace/{chunk-37QWNWHJ.js → chunk-ZPHWXIRT.js} +1 -1
  72. package/Marketplace/index.html +6 -2
  73. package/Marketplace/{main-E4M7FNAV.js → main-CXT72QF6.js} +1 -1
  74. package/Marketplace/{styles-M7SD6AU3.css → styles-YTVQ5ZDC.css} +1 -1
  75. package/package.json +1 -1
  76. package/Marketplace/chunk-3LNROKGQ.js +0 -5
  77. package/Marketplace/chunk-3OCV5XYQ.js +0 -1
  78. package/Marketplace/chunk-LMYVXZ5O.js +0 -1
  79. package/Marketplace/chunk-QICAMN6U.js +0 -3
  80. package/Marketplace/chunk-VFLG2BDB.js +0 -1
@@ -1 +1 @@
1
- import{$ as P,A as z,E as F,I as H,L as G,La as Q,N as v,R as C,Sa as X,T as j,Wc as ee,X as V,aa as Y,ba as T,ca as d,d as f,da as S,ha as Z,ia as J,jc as _,m as p,n as h,na as q,q as E,s as y,t as I,w as M,za as $}from"./chunk-IH2NT4RC.js";import{a as g,b as A}from"./chunk-GNOSNGXM.js";var c=function(s){return s[s.Tokopedia=1]="Tokopedia",s[s.WooCommerce=2]="WooCommerce",s[s.None=3]="None",s[s.KalCare=4]="KalCare",s[s.Shopee=5]="Shopee",s[s.Tiktok=6]="Tiktok",s[s.Lazada=7]="Lazada",s[s.Shopify=8]="Shopify",s}(c||{});var u=function(s){return s.SHOOPE="https://res.cloudinary.com/pos/image/upload/v1598262220/icons/marketplace_icons/shopee.png",s.WOOCOMMERCE="https://res.cloudinary.com/pos/image/upload/w_50/v1632447439/icons/WooCommerce/woocommerce-icon.webp",s.TOKOPEDIA="https://res.cloudinary.com/pos/image/upload/v1598262221/icons/marketplace_icons/tokopedia.png",s.TIKTOK="https://res.cloudinary.com/pos/image/upload/w_30/v1645761611/icons/Marketplace%20logo/tiktok.png",s.LAZADA="https://res.cloudinary.com/pos/image/upload/v1680681836/icons/marketplace_icons/Lazadanew.png",s.KALCARE="https://res.cloudinary.com/pos/image/upload/v1654230268/icons/marketplace_icons/kalcare.png",s.SHOPIFY="https://res.cloudinary.com/pos/image/upload/v1707987435/icons/marketplace_icons/shopify.png",s}(u||{});var fe=(()=>{let r=class r{static IsNotEmpty(e){return e!=""&&e!=r.GuidEMpty&&e!=null&&e!=null}static IsEmpty(e){return e==""||e==null||e==null||e==r.GuidEMpty}static getChannelLogoByTypeId(e){let t;switch(e){case c.Tokopedia:t=u.TOKOPEDIA;break;case c.Shopee:t=u.SHOOPE;break;case c.WooCommerce:t=u.WOOCOMMERCE;break;case c.Lazada:t=u.LAZADA;break;case c.Tiktok:t=u.TIKTOK;break;case c.KalCare:t=u.KALCARE;break;case c.Shopify:t=u.SHOPIFY;break}return t}static getChannelLogoByName(e=""){e=e.toLowerCase();let t;switch(e){case"tokopedia":t=u.TOKOPEDIA;break;case"shoppe":t=u.SHOOPE;break;case"woocommerce":t=u.WOOCOMMERCE;break;case"tiktok":t=u.TIKTOK;break;case"lazada":t=u.LAZADA;break;case"kalCare":t=u.KALCARE;break}return t}static getChannelName(e){let t;switch(e){case c.Shopee:t="Shopee";break;case c.Tokopedia:t="Tokopedia";break;case c.Lazada:t="Lazada";break;case c.Tiktok:t="Tiktok";break;case c.WooCommerce:t="WooCommerce";break;case c.KalCare:t="WooCommerce";break}return t}static assignChannelLogo(e){return e=e.map(t=>(t.logo=this.getChannelLogoByTypeId(t.TypeID),t)),e}static getCssChannelColor(e){let t;switch(e){case c.Shopee:t="#ee4d2d";break;case c.Tokopedia:t="var(--G500,#03AC0E)";break;case c.Lazada:t="#FF00B2";break;case c.Tiktok:t="black";break;case c.WooCommerce:t="#674399";break;case c.KalCare:t="rgb(128, 188, 0)";break}return t}static getDaysDiff(e,t){var i=t.getTime()-e.getTime(),n=i/(1e3*60*60*24);return n}static addDays(e,t){let i=new Date(Number(e));return i.setDate(e.getDate()-t),i}static isValidDate(e){return e instanceof Date&&!isNaN(e)}static getImageInfo(e){return new Promise((t,i)=>{let n=new Image;n.src=e,n.decode().then(()=>{t({img:e,height:n.height,width:n.width})}).catch(()=>{i(new Error(`Image load error for ${e}`))})})}static formatTitleFromDate(e,t){let i=null,n=new Date(e),o=new Date(t);return n.getDate()!=o.getDate()&&(i="dd"),n.getMonth()!=o.getMonth()&&(i="dd MMM"),n.getFullYear()!=o.getFullYear()&&(i="dd MMM yyyy"),i}static openDownloadFile(e,t){var i=window.URL.createObjectURL(e),n=document.createElement("a");n.href=i,n.download=t,n.click()}static compare(e,t,i){return(e<t?-1:1)*(i?1:-1)}static isDateExpired(e){let t=new Date,i=!1;return e.getTime()<t.getTime()&&(i=!0),i}static getLabelPathTree(e){let t=[],i=e;for(;i;)t.unshift(i.label),i=i.parent;return t.join(" / ")}static getTimeDifference(e){let t=new Date(e),i=new Date,n=Math.abs(t.getTime()-i.getTime()),o=1e3,a=6e4,m=60*a,x=24*m,ne=Math.floor(n/x),oe=Math.floor(n%x/m),ae=Math.floor(n%m/a),ce=Math.floor(n%a/o);return{days:ne,hours:oe,minutes:ae,seconds:ce}}static convertToReadableDate(e){let{days:t,hours:i,minutes:n,seconds:o}=r.getTimeDifference(e),a="";return t>0&&i>0&&n>0&&(a=`${t} days, ${i} hours and ${n} minutes ago`),t>0&&i>0&&n==0&&(a=`${t} days and ${i} hours ago`),t>0&&i==0&&(a=`${t} days ago`),t==0&&i>0&&n>0&&(a=`${i} hours and ${n} minutes ago`),t==0&&i>0&&n==0&&(a=`${i} hours ago`),t==0&&i==0&&n>0&&(a=`${n} minutes ago`),t==0&&i==0&&n==0&&o>0&&(a=`${o} seconds ago`),a}};r.GuidEMpty="00000000-0000-0000-0000-000000000000",r.MinDate="0001-01-01T00:00:00";let s=r;return s})();var w={REMOVE:"remove",SHOW:"show"},ie=(()=>{let r=class r{constructor(){this.strategiesSource=new f({}),this.strategies$=this.strategiesSource.asObservable()}};r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})(),W=new T("USE_CONFIGURATION_STORE"),K=(()=>{let r=class r{constructor(e=!1,t){this.isolate=e,this.configurationStore=t,this.strategiesSource=this.isolate?new f({}):this.configurationStore.strategiesSource,this.strategies$=this.strategiesSource.asObservable(),this.onAuthorisedDefaultStrategy=this.isolate?void 0:this.configurationStore.onAuthorisedDefaultStrategy,this.onUnAuthorisedDefaultStrategy=this.isolate?void 0:this.configurationStore.onUnAuthorisedDefaultStrategy}setDefaultOnAuthorizedStrategy(e){this.isolate?this.onAuthorisedDefaultStrategy=this.getDefinedStrategy(e):(this.configurationStore.onAuthorisedDefaultStrategy=this.getDefinedStrategy(e),this.onAuthorisedDefaultStrategy=this.configurationStore.onAuthorisedDefaultStrategy)}setDefaultOnUnauthorizedStrategy(e){this.isolate?this.onUnAuthorisedDefaultStrategy=this.getDefinedStrategy(e):(this.configurationStore.onUnAuthorisedDefaultStrategy=this.getDefinedStrategy(e),this.onUnAuthorisedDefaultStrategy=this.configurationStore.onUnAuthorisedDefaultStrategy)}addPermissionStrategy(e,t){this.strategiesSource.value[e]=t}getStrategy(e){return this.strategiesSource.value[e]}getAllStrategies(){return this.strategiesSource.value}getDefinedStrategy(e){if(this.strategiesSource.value[e]||this.isPredefinedStrategy(e))return e;throw new Error(`No ' ${e} ' strategy is found please define one`)}isPredefinedStrategy(e){return e===w.SHOW||e===w.REMOVE}};r.\u0275fac=function(t){return new(t||r)(d(W),d(ie))},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})();function l(s){return typeof s=="function"}function L(s){if(Object.prototype.toString.call(s)!=="[object Object]")return!1;{let r=Object.getPrototypeOf(s);return r===null||r===Object.prototype}}function se(s){return!!s&&typeof s=="string"}function R(s){return typeof s=="boolean"}function he(s){return Object.prototype.toString.call(s)==="[object Promise]"}function D(s){return Array.isArray(s)?s.length>0:!!s}function k(s){return se(s)?[s]:s}var re=(()=>{let r=class r{constructor(){this.permissionsSource=new f({}),this.permissions$=this.permissionsSource.asObservable()}};r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})(),B=new T("USE_PERMISSIONS_STORE"),O=(()=>{let r=class r{constructor(e=!1,t){this.isolate=e,this.permissionsStore=t,this.permissionsSource=this.isolate?new f({}):this.permissionsStore.permissionsSource,this.permissions$=this.permissionsSource.asObservable()}flushPermissions(){this.permissionsSource.next({})}hasPermission(e){return!e||Array.isArray(e)&&e.length===0?Promise.resolve(!0):(e=k(e),this.hasArrayPermission(e))}loadPermissions(e,t){let i=e.reduce((n,o)=>this.reducePermission(n,o,t),{});this.permissionsSource.next(i)}addPermission(e,t){if(Array.isArray(e)){let i=e.reduce((n,o)=>this.reducePermission(n,o,t),this.permissionsSource.value);this.permissionsSource.next(i)}else{let i=this.reducePermission(this.permissionsSource.value,e,t);this.permissionsSource.next(i)}}removePermission(e){let t=g({},this.permissionsSource.value);delete t[e],this.permissionsSource.next(t)}getPermission(e){return this.permissionsSource.value[e]}getPermissions(){return this.permissionsSource.value}reducePermission(e,t,i){return i&&l(i)?A(g({},e),{[t]:{name:t,validationFunction:i}}):A(g({},e),{[t]:{name:t}})}hasArrayPermission(e){let t=e.map(i=>{if(this.hasPermissionValidationFunction(i)){let n=this.permissionsSource.value[i].validationFunction,o=g({},this.permissionsSource.value);return h(null).pipe(E(()=>n(i,o)),j(a=>R(a)?h(a):a),F(()=>h(!1)))}return h(!!this.permissionsSource.value[i])});return p(t).pipe(I(),v(i=>i!==!1,!1),E(i=>i!==!1)).toPromise().then(i=>i)}hasPermissionValidationFunction(e){return!!this.permissionsSource.value[e]&&!!this.permissionsSource.value[e].validationFunction&&l(this.permissionsSource.value[e].validationFunction)}};r.\u0275fac=function(t){return new(t||r)(d(B),d(re))},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})(),b=class{constructor(){this.rolesSource=new f({}),this.roles$=this.rolesSource.asObservable()}},N=new T("USE_ROLES_STORE"),U=(()=>{let r=class r{constructor(e=!1,t,i){this.isolate=e,this.rolesStore=t,this.permissionsService=i,this.rolesSource=this.isolate?new f({}):this.rolesStore.rolesSource,this.roles$=this.rolesSource.asObservable()}addRole(e,t){let i=A(g({},this.rolesSource.value),{[e]:{name:e,validationFunction:t}});this.rolesSource.next(i)}addRoleWithPermissions(e,t){this.permissionsService.addPermission(t),this.addRole(e,t)}addRoles(e){Object.keys(e).forEach((t,i)=>{this.addRole(t,e[t])})}addRolesWithPermissions(e){Object.keys(e).forEach((t,i)=>{this.addRoleWithPermissions(t,e[t])})}flushRoles(){this.rolesSource.next({})}flushRolesAndPermissions(){this.flushRoles(),this.permissionsService.flushPermissions()}removeRole(e){let t=g({},this.rolesSource.value);delete t[e],this.rolesSource.next(t)}getRoles(){return this.rolesSource.value}getRole(e){return this.rolesSource.value[e]}hasOnlyRoles(e){return!e||Array.isArray(e)&&e.length===0?Promise.resolve(!0):(e=k(e),Promise.all([this.hasRoleKey(e),this.hasRolePermission(this.rolesSource.value,e)]).then(([i,n])=>i||n))}hasRoleKey(e){let t=e.map(i=>{if(!!this.rolesSource.value[i]&&!!this.rolesSource.value[i].validationFunction&&l(this.rolesSource.value[i].validationFunction)&&!he(this.rolesSource.value[i].validationFunction)){let o=this.rolesSource.value[i].validationFunction,a=g({},this.rolesSource.value);return h(null).pipe(E(()=>o(i,a)),j(m=>R(m)?h(m):m),F(()=>h(!1)))}return h(!1)});return p(t).pipe(I(),v(i=>i!==!1,!1),E(i=>i!==!1)).toPromise().then(i=>i)}hasRolePermission(e,t){return p(t).pipe(y(i=>e[i]&&Array.isArray(e[i].validationFunction)?p(e[i].validationFunction).pipe(y(n=>this.permissionsService.hasPermission(n)),G(n=>n===!0)):h(!1)),v(i=>i===!0,!1)).toPromise()}};r.\u0275fac=function(t){return new(t||r)(d(N),d(b),d(O))},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})(),Re=(()=>{let r=class r{constructor(){this.permissionsAuthorized=new $,this.permissionsUnauthorized=new $,this.firstMergeUnusedRun=1,this.permissionsService=S(O),this.configurationService=S(K),this.rolesService=S(U),this.viewContainer=S(X),this.changeDetector=S(_),this.templateRef=S(Q)}ngOnInit(){this.viewContainer.clear(),this.initPermissionSubscription=this.validateExceptOnlyPermissions()}ngOnChanges(e){let t=e.ngxPermissionsOnly,i=e.ngxPermissionsExcept;if(t||i){if(t&&t.firstChange||i&&i.firstChange)return;z(this.permissionsService.permissions$,this.rolesService.roles$).pipe(C(this.firstMergeUnusedRun),H(1)).subscribe(()=>{if(D(this.ngxPermissionsExcept)){this.validateExceptAndOnlyPermissions();return}if(D(this.ngxPermissionsOnly)){this.validateOnlyPermissions();return}this.handleAuthorisedPermission(this.getAuthorisedTemplates())})}}ngOnDestroy(){this.initPermissionSubscription&&this.initPermissionSubscription.unsubscribe()}validateExceptOnlyPermissions(){return z(this.permissionsService.permissions$,this.rolesService.roles$).pipe(C(this.firstMergeUnusedRun)).subscribe(()=>{if(D(this.ngxPermissionsExcept)){this.validateExceptAndOnlyPermissions();return}if(D(this.ngxPermissionsOnly)){this.validateOnlyPermissions();return}this.handleAuthorisedPermission(this.getAuthorisedTemplates())})}validateExceptAndOnlyPermissions(){Promise.all([this.permissionsService.hasPermission(this.ngxPermissionsExcept),this.rolesService.hasOnlyRoles(this.ngxPermissionsExcept)]).then(([e,t])=>{if(e||t){this.handleUnauthorisedPermission(this.ngxPermissionsExceptElse||this.ngxPermissionsElse);return}if(this.ngxPermissionsOnly)throw!1;this.handleAuthorisedPermission(this.ngxPermissionsExceptThen||this.ngxPermissionsThen||this.templateRef)}).catch(()=>{this.ngxPermissionsOnly?this.validateOnlyPermissions():this.handleAuthorisedPermission(this.ngxPermissionsExceptThen||this.ngxPermissionsThen||this.templateRef)})}validateOnlyPermissions(){Promise.all([this.permissionsService.hasPermission(this.ngxPermissionsOnly),this.rolesService.hasOnlyRoles(this.ngxPermissionsOnly)]).then(([e,t])=>{e||t?this.handleAuthorisedPermission(this.ngxPermissionsOnlyThen||this.ngxPermissionsThen||this.templateRef):this.handleUnauthorisedPermission(this.ngxPermissionsOnlyElse||this.ngxPermissionsElse)}).catch(()=>{this.handleUnauthorisedPermission(this.ngxPermissionsOnlyElse||this.ngxPermissionsElse)})}handleUnauthorisedPermission(e){if(!(R(this.currentAuthorizedState)&&!this.currentAuthorizedState)){if(this.currentAuthorizedState=!1,this.permissionsUnauthorized.emit(),this.getUnAuthorizedStrategyInput()){this.applyStrategyAccordingToStrategyType(this.getUnAuthorizedStrategyInput());return}this.configurationService.onUnAuthorisedDefaultStrategy&&!this.elseBlockDefined()?this.applyStrategy(this.configurationService.onUnAuthorisedDefaultStrategy):this.showTemplateBlockInView(e)}}handleAuthorisedPermission(e){if(!(R(this.currentAuthorizedState)&&this.currentAuthorizedState)){if(this.currentAuthorizedState=!0,this.permissionsAuthorized.emit(),this.getAuthorizedStrategyInput()){this.applyStrategyAccordingToStrategyType(this.getAuthorizedStrategyInput());return}this.configurationService.onAuthorisedDefaultStrategy&&!this.thenBlockDefined()?this.applyStrategy(this.configurationService.onAuthorisedDefaultStrategy):this.showTemplateBlockInView(e)}}applyStrategyAccordingToStrategyType(e){if(se(e)){this.applyStrategy(e);return}if(l(e)){this.showTemplateBlockInView(this.templateRef),e(this.templateRef);return}}showTemplateBlockInView(e){this.viewContainer.clear(),e&&(this.viewContainer.createEmbeddedView(e),this.changeDetector.markForCheck())}getAuthorisedTemplates(){return this.ngxPermissionsOnlyThen||this.ngxPermissionsExceptThen||this.ngxPermissionsThen||this.templateRef}elseBlockDefined(){return!!this.ngxPermissionsExceptElse||!!this.ngxPermissionsElse}thenBlockDefined(){return!!this.ngxPermissionsExceptThen||!!this.ngxPermissionsThen}getAuthorizedStrategyInput(){return this.ngxPermissionsOnlyAuthorisedStrategy||this.ngxPermissionsExceptAuthorisedStrategy||this.ngxPermissionsAuthorisedStrategy}getUnAuthorizedStrategyInput(){return this.ngxPermissionsOnlyUnauthorisedStrategy||this.ngxPermissionsExceptUnauthorisedStrategy||this.ngxPermissionsUnauthorisedStrategy}applyStrategy(e){if(e===w.SHOW){this.showTemplateBlockInView(this.templateRef);return}if(e===w.REMOVE){this.viewContainer.clear();return}let t=this.configurationService.getStrategy(e);this.showTemplateBlockInView(this.templateRef),t(this.templateRef)}};r.\u0275fac=function(t){return new(t||r)},r.\u0275dir=J({type:r,selectors:[["","ngxPermissionsOnly",""],["","ngxPermissionsExcept",""]],inputs:{ngxPermissionsOnly:"ngxPermissionsOnly",ngxPermissionsOnlyThen:"ngxPermissionsOnlyThen",ngxPermissionsOnlyElse:"ngxPermissionsOnlyElse",ngxPermissionsExcept:"ngxPermissionsExcept",ngxPermissionsExceptElse:"ngxPermissionsExceptElse",ngxPermissionsExceptThen:"ngxPermissionsExceptThen",ngxPermissionsThen:"ngxPermissionsThen",ngxPermissionsElse:"ngxPermissionsElse",ngxPermissionsOnlyAuthorisedStrategy:"ngxPermissionsOnlyAuthorisedStrategy",ngxPermissionsOnlyUnauthorisedStrategy:"ngxPermissionsOnlyUnauthorisedStrategy",ngxPermissionsExceptUnauthorisedStrategy:"ngxPermissionsExceptUnauthorisedStrategy",ngxPermissionsExceptAuthorisedStrategy:"ngxPermissionsExceptAuthorisedStrategy",ngxPermissionsUnauthorisedStrategy:"ngxPermissionsUnauthorisedStrategy",ngxPermissionsAuthorisedStrategy:"ngxPermissionsAuthorisedStrategy"},outputs:{permissionsAuthorized:"permissionsAuthorized",permissionsUnauthorized:"permissionsUnauthorized"},features:[q]});let s=r;return s})(),ue="default";var te=(()=>{let r=class r{constructor(e,t,i){this.permissionsService=e,this.rolesService=t,this.router=i}canActivate(e,t){return this.hasPermissions(e,t)}canActivateChild(e,t){return this.hasPermissions(e,t)}canLoad(e){return this.hasPermissions(e)}canMatch(e){return this.hasPermissions(e)}hasPermissions(e,t){let i=e&&e.data?e.data.permissions:{},n=this.transformPermission(i,e,t);return this.isParameterAvailable(n.except)?this.passingExceptPermissionsValidation(n,e,t):this.isParameterAvailable(n.only)?this.passingOnlyPermissionsValidation(n,e,t):!0}transformPermission(e,t,i){let n=l(e.only)?e.only(t,i):k(e.only),o=l(e.except)?e.except(t,i):k(e.except),a=e.redirectTo;return{only:n,except:o,redirectTo:a}}isParameterAvailable(e){return!!e&&e.length>0}passingExceptPermissionsValidation(e,t,i){if(e.redirectTo&&(l(e.redirectTo)||L(e.redirectTo)&&!this.isRedirectionWithParameters(e.redirectTo))){let n="";return p(e.except).pipe(y(o=>M([this.permissionsService.hasPermission(o),this.rolesService.hasOnlyRoles(o)]).pipe(V(a=>{a.every(x=>x===!1)||(n=o)}))),v(o=>o.some(a=>a===!0),!1),y(o=>n?(this.handleRedirectOfFailedPermission(e,n,t,i),h(!1)):!o&&e.only?this.onlyRedirectCheck(e,t,i):h(!o))).toPromise()}return Promise.all([this.permissionsService.hasPermission(e.except),this.rolesService.hasOnlyRoles(e.except)]).then(([n,o])=>n||o?(e.redirectTo&&this.redirectToAnotherRoute(e.redirectTo,t,i),!1):e.only?this.checkOnlyPermissions(e,t,i):!0)}redirectToAnotherRoute(e,t,i,n){let o=l(e)?e(n,t,i):e;if(this.isRedirectionWithParameters(o)){o.navigationCommands=this.transformNavigationCommands(o.navigationCommands,t,i),o.navigationExtras=this.transformNavigationExtras(o.navigationExtras,t,i),this.router.navigate(o.navigationCommands,o.navigationExtras);return}Array.isArray(o)?this.router.navigate(o):this.router.navigate([o])}isRedirectionWithParameters(e){return L(e)&&(!!e.navigationCommands||!!e.navigationExtras)}transformNavigationCommands(e,t,i){return l(e)?e(t,i):e}transformNavigationExtras(e,t,i){return l(e)?e(t,i):e}onlyRedirectCheck(e,t,i){let n="";return p(e.only).pipe(y(o=>M([this.permissionsService.hasPermission(o),this.rolesService.hasOnlyRoles(o)]).pipe(V(a=>{a.every(x=>x===!1)&&(n=o)}))),v(o=>l(e.redirectTo)?o.some(a=>a===!0):o.every(a=>a===!1),!1),y(o=>l(e.redirectTo)?o?h(!0):(this.handleRedirectOfFailedPermission(e,n,t,i),h(!1)):(n&&this.handleRedirectOfFailedPermission(e,n,t,i),h(!o)))).toPromise()}handleRedirectOfFailedPermission(e,t,i,n){this.isFailedPermissionPropertyOfRedirectTo(e,t)?this.redirectToAnotherRoute(e.redirectTo[t],i,n,t):l(e.redirectTo)?this.redirectToAnotherRoute(e.redirectTo,i,n,t):this.redirectToAnotherRoute(e.redirectTo[ue],i,n,t)}isFailedPermissionPropertyOfRedirectTo(e,t){return!!e.redirectTo&&e.redirectTo[t]}checkOnlyPermissions(e,t,i){let n=g({},e);return Promise.all([this.permissionsService.hasPermission(n.only),this.rolesService.hasOnlyRoles(n.only)]).then(([o,a])=>o||a?!0:(n.redirectTo&&this.redirectToAnotherRoute(n.redirectTo,t,i),!1))}passingOnlyPermissionsValidation(e,t,i){return l(e.redirectTo)||L(e.redirectTo)&&!this.isRedirectionWithParameters(e.redirectTo)?this.onlyRedirectCheck(e,t,i):this.checkOnlyPermissions(e,t,i)}};r.\u0275fac=function(t){return new(t||r)(d(O),d(U),d(ee))},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})();var ke=(()=>{let r=class r{static forRoot(e={}){return{ngModule:r,providers:[re,b,ie,O,te,U,K,{provide:B,useValue:e.permissionsIsolate},{provide:N,useValue:e.rolesIsolate},{provide:W,useValue:e.configurationIsolate}]}}static forChild(e={}){return{ngModule:r,providers:[{provide:B,useValue:e.permissionsIsolate},{provide:N,useValue:e.rolesIsolate},{provide:W,useValue:e.configurationIsolate},K,O,U,te]}}};r.\u0275fac=function(t){return new(t||r)},r.\u0275mod=Z({type:r}),r.\u0275inj=Y({});let s=r;return s})();export{u as a,c as b,fe as c,O as d,Re as e,ke as f};
1
+ import{$ as P,A as z,E as F,I as H,L as G,La as Q,N as v,R as C,Sa as X,T as j,Wc as ee,X as V,aa as Y,ba as T,ca as d,d as f,da as S,ha as Z,ia as J,jc as _,m as p,n as h,na as q,q as E,s as y,t as I,w as M,za as $}from"./chunk-HSFUKC7R.js";import{a as g,b as A}from"./chunk-GNOSNGXM.js";var c=function(s){return s[s.Tokopedia=1]="Tokopedia",s[s.WooCommerce=2]="WooCommerce",s[s.None=3]="None",s[s.KalCare=4]="KalCare",s[s.Shopee=5]="Shopee",s[s.Tiktok=6]="Tiktok",s[s.Lazada=7]="Lazada",s[s.Shopify=8]="Shopify",s}(c||{});var u=function(s){return s.SHOOPE="https://res.cloudinary.com/pos/image/upload/v1598262220/icons/marketplace_icons/shopee.png",s.WOOCOMMERCE="https://res.cloudinary.com/pos/image/upload/w_50/v1632447439/icons/WooCommerce/woocommerce-icon.webp",s.TOKOPEDIA="https://res.cloudinary.com/pos/image/upload/v1598262221/icons/marketplace_icons/tokopedia.png",s.TIKTOK="https://res.cloudinary.com/pos/image/upload/w_30/v1645761611/icons/Marketplace%20logo/tiktok.png",s.LAZADA="https://res.cloudinary.com/pos/image/upload/v1680681836/icons/marketplace_icons/Lazadanew.png",s.KALCARE="https://res.cloudinary.com/pos/image/upload/v1654230268/icons/marketplace_icons/kalcare.png",s.SHOPIFY="https://res.cloudinary.com/pos/image/upload/v1707987435/icons/marketplace_icons/shopify.png",s}(u||{});var fe=(()=>{let r=class r{static IsNotEmpty(e){return e!=""&&e!=r.GuidEMpty&&e!=null&&e!=null}static IsEmpty(e){return e==""||e==null||e==null||e==r.GuidEMpty}static getChannelLogoByTypeId(e){let t;switch(e){case c.Tokopedia:t=u.TOKOPEDIA;break;case c.Shopee:t=u.SHOOPE;break;case c.WooCommerce:t=u.WOOCOMMERCE;break;case c.Lazada:t=u.LAZADA;break;case c.Tiktok:t=u.TIKTOK;break;case c.KalCare:t=u.KALCARE;break;case c.Shopify:t=u.SHOPIFY;break}return t}static getChannelLogoByName(e=""){e=e.toLowerCase();let t;switch(e){case"tokopedia":t=u.TOKOPEDIA;break;case"shoppe":t=u.SHOOPE;break;case"woocommerce":t=u.WOOCOMMERCE;break;case"tiktok":t=u.TIKTOK;break;case"lazada":t=u.LAZADA;break;case"kalCare":t=u.KALCARE;break}return t}static getChannelName(e){let t;switch(e){case c.Shopee:t="Shopee";break;case c.Tokopedia:t="Tokopedia";break;case c.Lazada:t="Lazada";break;case c.Tiktok:t="Tiktok";break;case c.WooCommerce:t="WooCommerce";break;case c.KalCare:t="WooCommerce";break}return t}static assignChannelLogo(e){return e=e.map(t=>(t.logo=this.getChannelLogoByTypeId(t.TypeID),t)),e}static getCssChannelColor(e){let t;switch(e){case c.Shopee:t="#ee4d2d";break;case c.Tokopedia:t="var(--G500,#03AC0E)";break;case c.Lazada:t="#FF00B2";break;case c.Tiktok:t="black";break;case c.WooCommerce:t="#674399";break;case c.KalCare:t="rgb(128, 188, 0)";break}return t}static getDaysDiff(e,t){var i=t.getTime()-e.getTime(),n=i/(1e3*60*60*24);return n}static addDays(e,t){let i=new Date(Number(e));return i.setDate(e.getDate()-t),i}static isValidDate(e){return e instanceof Date&&!isNaN(e)}static getImageInfo(e){return new Promise((t,i)=>{let n=new Image;n.src=e,n.decode().then(()=>{t({img:e,height:n.height,width:n.width})}).catch(()=>{i(new Error(`Image load error for ${e}`))})})}static formatTitleFromDate(e,t){let i=null,n=new Date(e),o=new Date(t);return n.getDate()!=o.getDate()&&(i="dd"),n.getMonth()!=o.getMonth()&&(i="dd MMM"),n.getFullYear()!=o.getFullYear()&&(i="dd MMM yyyy"),i}static openDownloadFile(e,t){var i=window.URL.createObjectURL(e),n=document.createElement("a");n.href=i,n.download=t,n.click()}static compare(e,t,i){return(e<t?-1:1)*(i?1:-1)}static isDateExpired(e){let t=new Date,i=!1;return e.getTime()<t.getTime()&&(i=!0),i}static getLabelPathTree(e){let t=[],i=e;for(;i;)t.unshift(i.label),i=i.parent;return t.join(" / ")}static getTimeDifference(e){let t=new Date(e),i=new Date,n=Math.abs(t.getTime()-i.getTime()),o=1e3,a=6e4,m=60*a,x=24*m,ne=Math.floor(n/x),oe=Math.floor(n%x/m),ae=Math.floor(n%m/a),ce=Math.floor(n%a/o);return{days:ne,hours:oe,minutes:ae,seconds:ce}}static convertToReadableDate(e){let{days:t,hours:i,minutes:n,seconds:o}=r.getTimeDifference(e),a="";return t>0&&i>0&&n>0&&(a=`${t} days, ${i} hours and ${n} minutes ago`),t>0&&i>0&&n==0&&(a=`${t} days and ${i} hours ago`),t>0&&i==0&&(a=`${t} days ago`),t==0&&i>0&&n>0&&(a=`${i} hours and ${n} minutes ago`),t==0&&i>0&&n==0&&(a=`${i} hours ago`),t==0&&i==0&&n>0&&(a=`${n} minutes ago`),t==0&&i==0&&n==0&&o>0&&(a=`${o} seconds ago`),a}};r.GuidEMpty="00000000-0000-0000-0000-000000000000",r.MinDate="0001-01-01T00:00:00";let s=r;return s})();var w={REMOVE:"remove",SHOW:"show"},ie=(()=>{let r=class r{constructor(){this.strategiesSource=new f({}),this.strategies$=this.strategiesSource.asObservable()}};r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})(),W=new T("USE_CONFIGURATION_STORE"),K=(()=>{let r=class r{constructor(e=!1,t){this.isolate=e,this.configurationStore=t,this.strategiesSource=this.isolate?new f({}):this.configurationStore.strategiesSource,this.strategies$=this.strategiesSource.asObservable(),this.onAuthorisedDefaultStrategy=this.isolate?void 0:this.configurationStore.onAuthorisedDefaultStrategy,this.onUnAuthorisedDefaultStrategy=this.isolate?void 0:this.configurationStore.onUnAuthorisedDefaultStrategy}setDefaultOnAuthorizedStrategy(e){this.isolate?this.onAuthorisedDefaultStrategy=this.getDefinedStrategy(e):(this.configurationStore.onAuthorisedDefaultStrategy=this.getDefinedStrategy(e),this.onAuthorisedDefaultStrategy=this.configurationStore.onAuthorisedDefaultStrategy)}setDefaultOnUnauthorizedStrategy(e){this.isolate?this.onUnAuthorisedDefaultStrategy=this.getDefinedStrategy(e):(this.configurationStore.onUnAuthorisedDefaultStrategy=this.getDefinedStrategy(e),this.onUnAuthorisedDefaultStrategy=this.configurationStore.onUnAuthorisedDefaultStrategy)}addPermissionStrategy(e,t){this.strategiesSource.value[e]=t}getStrategy(e){return this.strategiesSource.value[e]}getAllStrategies(){return this.strategiesSource.value}getDefinedStrategy(e){if(this.strategiesSource.value[e]||this.isPredefinedStrategy(e))return e;throw new Error(`No ' ${e} ' strategy is found please define one`)}isPredefinedStrategy(e){return e===w.SHOW||e===w.REMOVE}};r.\u0275fac=function(t){return new(t||r)(d(W),d(ie))},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})();function l(s){return typeof s=="function"}function L(s){if(Object.prototype.toString.call(s)!=="[object Object]")return!1;{let r=Object.getPrototypeOf(s);return r===null||r===Object.prototype}}function se(s){return!!s&&typeof s=="string"}function R(s){return typeof s=="boolean"}function he(s){return Object.prototype.toString.call(s)==="[object Promise]"}function D(s){return Array.isArray(s)?s.length>0:!!s}function k(s){return se(s)?[s]:s}var re=(()=>{let r=class r{constructor(){this.permissionsSource=new f({}),this.permissions$=this.permissionsSource.asObservable()}};r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})(),B=new T("USE_PERMISSIONS_STORE"),O=(()=>{let r=class r{constructor(e=!1,t){this.isolate=e,this.permissionsStore=t,this.permissionsSource=this.isolate?new f({}):this.permissionsStore.permissionsSource,this.permissions$=this.permissionsSource.asObservable()}flushPermissions(){this.permissionsSource.next({})}hasPermission(e){return!e||Array.isArray(e)&&e.length===0?Promise.resolve(!0):(e=k(e),this.hasArrayPermission(e))}loadPermissions(e,t){let i=e.reduce((n,o)=>this.reducePermission(n,o,t),{});this.permissionsSource.next(i)}addPermission(e,t){if(Array.isArray(e)){let i=e.reduce((n,o)=>this.reducePermission(n,o,t),this.permissionsSource.value);this.permissionsSource.next(i)}else{let i=this.reducePermission(this.permissionsSource.value,e,t);this.permissionsSource.next(i)}}removePermission(e){let t=g({},this.permissionsSource.value);delete t[e],this.permissionsSource.next(t)}getPermission(e){return this.permissionsSource.value[e]}getPermissions(){return this.permissionsSource.value}reducePermission(e,t,i){return i&&l(i)?A(g({},e),{[t]:{name:t,validationFunction:i}}):A(g({},e),{[t]:{name:t}})}hasArrayPermission(e){let t=e.map(i=>{if(this.hasPermissionValidationFunction(i)){let n=this.permissionsSource.value[i].validationFunction,o=g({},this.permissionsSource.value);return h(null).pipe(E(()=>n(i,o)),j(a=>R(a)?h(a):a),F(()=>h(!1)))}return h(!!this.permissionsSource.value[i])});return p(t).pipe(I(),v(i=>i!==!1,!1),E(i=>i!==!1)).toPromise().then(i=>i)}hasPermissionValidationFunction(e){return!!this.permissionsSource.value[e]&&!!this.permissionsSource.value[e].validationFunction&&l(this.permissionsSource.value[e].validationFunction)}};r.\u0275fac=function(t){return new(t||r)(d(B),d(re))},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})(),b=class{constructor(){this.rolesSource=new f({}),this.roles$=this.rolesSource.asObservable()}},N=new T("USE_ROLES_STORE"),U=(()=>{let r=class r{constructor(e=!1,t,i){this.isolate=e,this.rolesStore=t,this.permissionsService=i,this.rolesSource=this.isolate?new f({}):this.rolesStore.rolesSource,this.roles$=this.rolesSource.asObservable()}addRole(e,t){let i=A(g({},this.rolesSource.value),{[e]:{name:e,validationFunction:t}});this.rolesSource.next(i)}addRoleWithPermissions(e,t){this.permissionsService.addPermission(t),this.addRole(e,t)}addRoles(e){Object.keys(e).forEach((t,i)=>{this.addRole(t,e[t])})}addRolesWithPermissions(e){Object.keys(e).forEach((t,i)=>{this.addRoleWithPermissions(t,e[t])})}flushRoles(){this.rolesSource.next({})}flushRolesAndPermissions(){this.flushRoles(),this.permissionsService.flushPermissions()}removeRole(e){let t=g({},this.rolesSource.value);delete t[e],this.rolesSource.next(t)}getRoles(){return this.rolesSource.value}getRole(e){return this.rolesSource.value[e]}hasOnlyRoles(e){return!e||Array.isArray(e)&&e.length===0?Promise.resolve(!0):(e=k(e),Promise.all([this.hasRoleKey(e),this.hasRolePermission(this.rolesSource.value,e)]).then(([i,n])=>i||n))}hasRoleKey(e){let t=e.map(i=>{if(!!this.rolesSource.value[i]&&!!this.rolesSource.value[i].validationFunction&&l(this.rolesSource.value[i].validationFunction)&&!he(this.rolesSource.value[i].validationFunction)){let o=this.rolesSource.value[i].validationFunction,a=g({},this.rolesSource.value);return h(null).pipe(E(()=>o(i,a)),j(m=>R(m)?h(m):m),F(()=>h(!1)))}return h(!1)});return p(t).pipe(I(),v(i=>i!==!1,!1),E(i=>i!==!1)).toPromise().then(i=>i)}hasRolePermission(e,t){return p(t).pipe(y(i=>e[i]&&Array.isArray(e[i].validationFunction)?p(e[i].validationFunction).pipe(y(n=>this.permissionsService.hasPermission(n)),G(n=>n===!0)):h(!1)),v(i=>i===!0,!1)).toPromise()}};r.\u0275fac=function(t){return new(t||r)(d(N),d(b),d(O))},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})(),Re=(()=>{let r=class r{constructor(){this.permissionsAuthorized=new $,this.permissionsUnauthorized=new $,this.firstMergeUnusedRun=1,this.permissionsService=S(O),this.configurationService=S(K),this.rolesService=S(U),this.viewContainer=S(X),this.changeDetector=S(_),this.templateRef=S(Q)}ngOnInit(){this.viewContainer.clear(),this.initPermissionSubscription=this.validateExceptOnlyPermissions()}ngOnChanges(e){let t=e.ngxPermissionsOnly,i=e.ngxPermissionsExcept;if(t||i){if(t&&t.firstChange||i&&i.firstChange)return;z(this.permissionsService.permissions$,this.rolesService.roles$).pipe(C(this.firstMergeUnusedRun),H(1)).subscribe(()=>{if(D(this.ngxPermissionsExcept)){this.validateExceptAndOnlyPermissions();return}if(D(this.ngxPermissionsOnly)){this.validateOnlyPermissions();return}this.handleAuthorisedPermission(this.getAuthorisedTemplates())})}}ngOnDestroy(){this.initPermissionSubscription&&this.initPermissionSubscription.unsubscribe()}validateExceptOnlyPermissions(){return z(this.permissionsService.permissions$,this.rolesService.roles$).pipe(C(this.firstMergeUnusedRun)).subscribe(()=>{if(D(this.ngxPermissionsExcept)){this.validateExceptAndOnlyPermissions();return}if(D(this.ngxPermissionsOnly)){this.validateOnlyPermissions();return}this.handleAuthorisedPermission(this.getAuthorisedTemplates())})}validateExceptAndOnlyPermissions(){Promise.all([this.permissionsService.hasPermission(this.ngxPermissionsExcept),this.rolesService.hasOnlyRoles(this.ngxPermissionsExcept)]).then(([e,t])=>{if(e||t){this.handleUnauthorisedPermission(this.ngxPermissionsExceptElse||this.ngxPermissionsElse);return}if(this.ngxPermissionsOnly)throw!1;this.handleAuthorisedPermission(this.ngxPermissionsExceptThen||this.ngxPermissionsThen||this.templateRef)}).catch(()=>{this.ngxPermissionsOnly?this.validateOnlyPermissions():this.handleAuthorisedPermission(this.ngxPermissionsExceptThen||this.ngxPermissionsThen||this.templateRef)})}validateOnlyPermissions(){Promise.all([this.permissionsService.hasPermission(this.ngxPermissionsOnly),this.rolesService.hasOnlyRoles(this.ngxPermissionsOnly)]).then(([e,t])=>{e||t?this.handleAuthorisedPermission(this.ngxPermissionsOnlyThen||this.ngxPermissionsThen||this.templateRef):this.handleUnauthorisedPermission(this.ngxPermissionsOnlyElse||this.ngxPermissionsElse)}).catch(()=>{this.handleUnauthorisedPermission(this.ngxPermissionsOnlyElse||this.ngxPermissionsElse)})}handleUnauthorisedPermission(e){if(!(R(this.currentAuthorizedState)&&!this.currentAuthorizedState)){if(this.currentAuthorizedState=!1,this.permissionsUnauthorized.emit(),this.getUnAuthorizedStrategyInput()){this.applyStrategyAccordingToStrategyType(this.getUnAuthorizedStrategyInput());return}this.configurationService.onUnAuthorisedDefaultStrategy&&!this.elseBlockDefined()?this.applyStrategy(this.configurationService.onUnAuthorisedDefaultStrategy):this.showTemplateBlockInView(e)}}handleAuthorisedPermission(e){if(!(R(this.currentAuthorizedState)&&this.currentAuthorizedState)){if(this.currentAuthorizedState=!0,this.permissionsAuthorized.emit(),this.getAuthorizedStrategyInput()){this.applyStrategyAccordingToStrategyType(this.getAuthorizedStrategyInput());return}this.configurationService.onAuthorisedDefaultStrategy&&!this.thenBlockDefined()?this.applyStrategy(this.configurationService.onAuthorisedDefaultStrategy):this.showTemplateBlockInView(e)}}applyStrategyAccordingToStrategyType(e){if(se(e)){this.applyStrategy(e);return}if(l(e)){this.showTemplateBlockInView(this.templateRef),e(this.templateRef);return}}showTemplateBlockInView(e){this.viewContainer.clear(),e&&(this.viewContainer.createEmbeddedView(e),this.changeDetector.markForCheck())}getAuthorisedTemplates(){return this.ngxPermissionsOnlyThen||this.ngxPermissionsExceptThen||this.ngxPermissionsThen||this.templateRef}elseBlockDefined(){return!!this.ngxPermissionsExceptElse||!!this.ngxPermissionsElse}thenBlockDefined(){return!!this.ngxPermissionsExceptThen||!!this.ngxPermissionsThen}getAuthorizedStrategyInput(){return this.ngxPermissionsOnlyAuthorisedStrategy||this.ngxPermissionsExceptAuthorisedStrategy||this.ngxPermissionsAuthorisedStrategy}getUnAuthorizedStrategyInput(){return this.ngxPermissionsOnlyUnauthorisedStrategy||this.ngxPermissionsExceptUnauthorisedStrategy||this.ngxPermissionsUnauthorisedStrategy}applyStrategy(e){if(e===w.SHOW){this.showTemplateBlockInView(this.templateRef);return}if(e===w.REMOVE){this.viewContainer.clear();return}let t=this.configurationService.getStrategy(e);this.showTemplateBlockInView(this.templateRef),t(this.templateRef)}};r.\u0275fac=function(t){return new(t||r)},r.\u0275dir=J({type:r,selectors:[["","ngxPermissionsOnly",""],["","ngxPermissionsExcept",""]],inputs:{ngxPermissionsOnly:"ngxPermissionsOnly",ngxPermissionsOnlyThen:"ngxPermissionsOnlyThen",ngxPermissionsOnlyElse:"ngxPermissionsOnlyElse",ngxPermissionsExcept:"ngxPermissionsExcept",ngxPermissionsExceptElse:"ngxPermissionsExceptElse",ngxPermissionsExceptThen:"ngxPermissionsExceptThen",ngxPermissionsThen:"ngxPermissionsThen",ngxPermissionsElse:"ngxPermissionsElse",ngxPermissionsOnlyAuthorisedStrategy:"ngxPermissionsOnlyAuthorisedStrategy",ngxPermissionsOnlyUnauthorisedStrategy:"ngxPermissionsOnlyUnauthorisedStrategy",ngxPermissionsExceptUnauthorisedStrategy:"ngxPermissionsExceptUnauthorisedStrategy",ngxPermissionsExceptAuthorisedStrategy:"ngxPermissionsExceptAuthorisedStrategy",ngxPermissionsUnauthorisedStrategy:"ngxPermissionsUnauthorisedStrategy",ngxPermissionsAuthorisedStrategy:"ngxPermissionsAuthorisedStrategy"},outputs:{permissionsAuthorized:"permissionsAuthorized",permissionsUnauthorized:"permissionsUnauthorized"},features:[q]});let s=r;return s})(),ue="default";var te=(()=>{let r=class r{constructor(e,t,i){this.permissionsService=e,this.rolesService=t,this.router=i}canActivate(e,t){return this.hasPermissions(e,t)}canActivateChild(e,t){return this.hasPermissions(e,t)}canLoad(e){return this.hasPermissions(e)}canMatch(e){return this.hasPermissions(e)}hasPermissions(e,t){let i=e&&e.data?e.data.permissions:{},n=this.transformPermission(i,e,t);return this.isParameterAvailable(n.except)?this.passingExceptPermissionsValidation(n,e,t):this.isParameterAvailable(n.only)?this.passingOnlyPermissionsValidation(n,e,t):!0}transformPermission(e,t,i){let n=l(e.only)?e.only(t,i):k(e.only),o=l(e.except)?e.except(t,i):k(e.except),a=e.redirectTo;return{only:n,except:o,redirectTo:a}}isParameterAvailable(e){return!!e&&e.length>0}passingExceptPermissionsValidation(e,t,i){if(e.redirectTo&&(l(e.redirectTo)||L(e.redirectTo)&&!this.isRedirectionWithParameters(e.redirectTo))){let n="";return p(e.except).pipe(y(o=>M([this.permissionsService.hasPermission(o),this.rolesService.hasOnlyRoles(o)]).pipe(V(a=>{a.every(x=>x===!1)||(n=o)}))),v(o=>o.some(a=>a===!0),!1),y(o=>n?(this.handleRedirectOfFailedPermission(e,n,t,i),h(!1)):!o&&e.only?this.onlyRedirectCheck(e,t,i):h(!o))).toPromise()}return Promise.all([this.permissionsService.hasPermission(e.except),this.rolesService.hasOnlyRoles(e.except)]).then(([n,o])=>n||o?(e.redirectTo&&this.redirectToAnotherRoute(e.redirectTo,t,i),!1):e.only?this.checkOnlyPermissions(e,t,i):!0)}redirectToAnotherRoute(e,t,i,n){let o=l(e)?e(n,t,i):e;if(this.isRedirectionWithParameters(o)){o.navigationCommands=this.transformNavigationCommands(o.navigationCommands,t,i),o.navigationExtras=this.transformNavigationExtras(o.navigationExtras,t,i),this.router.navigate(o.navigationCommands,o.navigationExtras);return}Array.isArray(o)?this.router.navigate(o):this.router.navigate([o])}isRedirectionWithParameters(e){return L(e)&&(!!e.navigationCommands||!!e.navigationExtras)}transformNavigationCommands(e,t,i){return l(e)?e(t,i):e}transformNavigationExtras(e,t,i){return l(e)?e(t,i):e}onlyRedirectCheck(e,t,i){let n="";return p(e.only).pipe(y(o=>M([this.permissionsService.hasPermission(o),this.rolesService.hasOnlyRoles(o)]).pipe(V(a=>{a.every(x=>x===!1)&&(n=o)}))),v(o=>l(e.redirectTo)?o.some(a=>a===!0):o.every(a=>a===!1),!1),y(o=>l(e.redirectTo)?o?h(!0):(this.handleRedirectOfFailedPermission(e,n,t,i),h(!1)):(n&&this.handleRedirectOfFailedPermission(e,n,t,i),h(!o)))).toPromise()}handleRedirectOfFailedPermission(e,t,i,n){this.isFailedPermissionPropertyOfRedirectTo(e,t)?this.redirectToAnotherRoute(e.redirectTo[t],i,n,t):l(e.redirectTo)?this.redirectToAnotherRoute(e.redirectTo,i,n,t):this.redirectToAnotherRoute(e.redirectTo[ue],i,n,t)}isFailedPermissionPropertyOfRedirectTo(e,t){return!!e.redirectTo&&e.redirectTo[t]}checkOnlyPermissions(e,t,i){let n=g({},e);return Promise.all([this.permissionsService.hasPermission(n.only),this.rolesService.hasOnlyRoles(n.only)]).then(([o,a])=>o||a?!0:(n.redirectTo&&this.redirectToAnotherRoute(n.redirectTo,t,i),!1))}passingOnlyPermissionsValidation(e,t,i){return l(e.redirectTo)||L(e.redirectTo)&&!this.isRedirectionWithParameters(e.redirectTo)?this.onlyRedirectCheck(e,t,i):this.checkOnlyPermissions(e,t,i)}};r.\u0275fac=function(t){return new(t||r)(d(O),d(U),d(ee))},r.\u0275prov=P({token:r,factory:r.\u0275fac});let s=r;return s})();var ke=(()=>{let r=class r{static forRoot(e={}){return{ngModule:r,providers:[re,b,ie,O,te,U,K,{provide:B,useValue:e.permissionsIsolate},{provide:N,useValue:e.rolesIsolate},{provide:W,useValue:e.configurationIsolate}]}}static forChild(e={}){return{ngModule:r,providers:[{provide:B,useValue:e.permissionsIsolate},{provide:N,useValue:e.rolesIsolate},{provide:W,useValue:e.configurationIsolate},K,O,U,te]}}};r.\u0275fac=function(t){return new(t||r)},r.\u0275mod=Z({type:r}),r.\u0275inj=Y({});let s=r;return s})();export{u as a,c as b,fe as c,O as d,Re as e,ke as f};