{"version":3,"file":"UtilSurvicate.global.js","mappings":"mBACA,IAAIA,EAAsB,CCA1BA,EAAwB,CAACC,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDH,EAAwB,CAACS,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFV,EAAyBC,IACH,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GAAO,G,+CCLvD,IAAKC,EAAiB,SAAjBA,GAAiB,OAAjBA,EAAAA,EAAiB,iBAAjBA,CAAiB,MAIjBC,EAAmB,SAAnBA,GAAmB,OAAnBA,EAAAA,EAAmB,uBAAnBA,EAAAA,EAAmB,qBAAnBA,CAAmB,MAKnBC,EAAW,SAAXA,GAAW,OAAXA,EAAAA,EAAW,eAAXA,EAAAA,EAAW,mCAAXA,EAAAA,EAAW,qBAAXA,EAAAA,EAAW,uCAAXA,EAAAA,EAAW,iCAAXA,EAAAA,EAAW,+BAAXA,EAAAA,EAAW,qCAAXA,CAAW,MAUXC,EAAmB,SAAnBA,GAAmB,OAAnBA,EAAAA,EAAmB,qBAAnBA,EAAAA,EAAmB,2BAAnBA,CAAmB,MAKnBC,EAAc,SAAdA,GAAc,OAAdA,EAAAA,EAAc,6CAAdA,CAAc,MAIdC,EAAgB,SAAhBA,GAAgB,OAAhBA,EAAAA,EAAgB,+BAAhBA,EAAAA,EAAgB,uBAAhBA,CAAgB,MCxBrB,MAAMC,EAAU,CAEnBC,aAAc,WAAgB,MAC1B,OAAoB,OAAb,EAAAC,OAAOC,aAAM,EAAb,EAAeC,SAAU,CAAC,CACrC,EAEAC,YAAa,WACT,OAAOC,KAAKL,eAAeM,UAAYC,KAAKC,MAAMC,UACtD,EAEAC,kBAAmB,WACf,OAAOL,KAAKL,eAAeW,gBAAkB,OACjD,EAEAC,YAAa,WACT,OAAOP,KAAKL,eAAea,KAAO,GACtC,EAEAC,WAAY,WACR,OAAOT,KAAKL,eAAee,SAAW,CAAC,CAC3C,EAEAC,eAAgB,WACZ,OC1BGC,eAAeC,QAAQ,yBAA2B,ED2BzD,EAEAC,UAAW,WAAgB,MACvB,OAAmC,OAA5B,EAAAd,KAAKL,eAAeoB,eAAQ,EAA5B,EAA8BC,MAAO,GAChD,EAEAC,0BAA2B,WACvB,OAAOrB,OAAOsB,0BAA2B,CAC7C,GE6BaC,EAAmB,WAC5B,IAAIC,GAAmB,EACvB,MAAMC,EAAoBC,SAASC,iBAAiB,gCAEpD,IAAIC,EAAWC,MAAMC,KAAKL,GAAmBM,QAAOC,IAChD,MAAMC,EAAQjC,OAAOkC,iBAAiBF,GACtC,MAA0B,UAAnBC,EAAME,UACU,aAAnBF,EAAME,UACNC,SAASH,EAAMI,OAAQ,IAAM,KACf,QAAdJ,EAAMK,KACS,QAAfL,EAAMM,OACW,SAAhBN,EAAMO,OAAoBP,EAAMO,QAAUxC,OAAOyC,WAAa,QAC7C,SAAjBR,EAAMS,QAAqBT,EAAMS,SAAW1C,OAAO2C,YAAc,KAAK,IAK/E,OAFAf,EAA4BA,EA3CfG,QAAOC,IAAkD,IAA1CA,EAAKY,UAAUC,SAAS,gBAAqE,IAA1Cb,EAAKY,UAAUC,SAAS,gBA6CnGjB,EAASkB,OAAS,GAClBlB,EAASmB,SAAQC,KA3CP,SAAShB,GACvB,KAAMA,aAAgBiB,SAAU,MAAMC,MAAM,oCAC5C,MAAMjB,EAAQC,iBAAiBF,GAC/B,GAAsB,SAAlBC,EAAMkB,QAAoB,OAAO,EACrC,GAAyB,YAArBlB,EAAMmB,WAA0B,OAAO,EAC3C,GAAIC,WAAWpB,EAAMqB,SAAW,GAAK,OAAO,EAC5C,GAAKtB,EAAqBuB,YAAevB,EAAqBwB,aAAexB,EAAKyB,wBAAwBf,OACtGV,EAAKyB,wBAAwBjB,QAAU,EACvC,OAAO,EAEX,MAAMkB,EAAe,CACjBC,EAAG3B,EAAKyB,wBAAwBlB,KAAQP,EAAqBuB,YAAc,EAC3EK,EAAG5B,EAAKyB,wBAAwBnB,IAAON,EAAqBwB,aAAe,GAE/E,GAAIE,EAAWC,EAAI,EAAG,OAAO,EAC7B,GAAID,EAAWC,GAAKjC,SAASmC,gBAAgBC,aAAe9D,OAAOyC,YAAa,OAAO,EACvF,GAAIiB,EAAWE,EAAI,EAAG,OAAO,EAC7B,GAAIF,EAAWE,GAAKlC,SAASmC,gBAAgBE,cAAgB/D,OAAO2C,aAAc,OAAO,EACzF,IAAIqB,EAA0BtC,SAASuC,iBAAiBP,EAAWC,EAAGD,EAAWE,GACjF,GACI,GAAII,IAAmBhC,EAAM,OAAO,QAC/BgC,EAAiBA,EAAeE,YACzC,OAAO,CACX,EAqBeC,CAAUnB,KACTxB,GAAmB,EACnB4C,QAAQC,IAAI,oBAAqBrB,GACpC,IAEExB,IAEP4C,QAAQC,IAAI,sBACL7C,EAEf,ECxFG,MAAM8C,iBAQDC,WAAAA,CAAYrE,GAAyB,KANrCsE,mBAAa,OACbC,2BAAqB,OACrBC,uBAAiC,QAAO,KACxCC,6BAAuB,OACvBC,eAAsC,IAAIC,IAG9C,MAAM,sBAAEJ,EAAqB,wBAAEE,EAAuB,MAAEG,GAAU5E,EAClEE,KAAKqE,sBAAwBA,EAC7BrE,KAAKuE,wBAA0BA,CACnC,CAEOI,kBAAAA,GACH,OAAOjF,EAAQuB,2BACnB,CAEOH,SAAAA,GACH,OAAOpB,EAAQoB,WACnB,CAEO8D,gBAAAA,CAAiBC,GACpB,OAAO,IAAIC,SAAQ,CAACC,EAASC,KACzB,GAAKhF,KAAKoE,cAiBNW,EAAQ/E,KAAKoE,mBAjBQ,CACrB,MAAMjE,EAAM,IAAID,KACV+E,EAAkB9E,EAAI+E,cAEtBC,EAAW,IAAIjF,KAAKC,GAC1BgF,EAASC,QAAQjF,EAAIkF,UAAYrF,KAAKuE,yBACtC,MAAMe,EAAoBH,EAASD,cAE7BK,EAAiB/F,EAAegG,qBDpClBC,eAAgBC,EAAgBP,EAAkBQ,EAAgBd,EAA6BU,GAE3H,MAIMK,EAAU,GAJUlG,EAAQe,aAA4B,wCAEhCiF,EAAOtF,uBAAuB+E,YAAmBQ,yBAA8Bd,oBAAsCU,IAI7IM,EAAe,CACjBC,OAAQ,MACRC,QAAS,CACL,kBAAmBrG,EAAQW,oBAC3B,YAAaX,EAAQa,cACrB,cAAkB,UAASb,EAAQiB,qBAI3C,IACI,MAAMqF,QAAiBC,MAAML,EAAQC,GAErC,IAAKG,EAASE,GACV,MAAM,IAAIpD,MAAO,UAASkD,EAASG,UAKvC,aAF2BH,EAASI,MAGxC,CACA,MAAOC,GAEH,OADArC,QAAQqC,MAAM,gCAAiCA,GACxC,CAAC,CACZ,CACJ,ECMYzB,CAAiB5E,KAAKc,YAAawE,EAAmBL,EAAiBJ,EAAqBU,GAAgBe,MAAMC,IAC9G,MAAMnC,EAAgBmC,EAAsB,cAC5CvG,KAAKoE,cAAgB3C,MAAM+E,QAAQpC,GAAiBA,EAAgB5F,OAAOiI,OAAOrC,GAAiB,CAAC,GACpGJ,QAAQC,IAAI,UAAWjE,KAAKoE,eAC5BW,EAAQ/E,KAAKoE,cAAc,GAEnC,CAEA,GAER,CAEOsC,iBAAAA,GACH,MAAMhC,GD2C6BiC,EC3CL,GAAE3G,KAAKqE,yBAAyBrE,KAAKsE,yBD4C5DsC,KAAKC,MAAMjG,eAAeC,QAAQ8F,KAAc,MAD7B,IAASA,ECzCnC,OADA3G,KAAKwE,eAAiB,IAAIC,IAAoBC,GACvC1E,KAAKwE,cAChB,CAEOsC,iBAAAA,CAAkBC,EAAkB5H,GD0Cf,IAASwH,EAAkBK,ECzCnDhH,KAAKwE,eAAeyC,IAAIF,EAAU5H,GDyCDwH,ECxCnB,GAAE3G,KAAKqE,yBAAyBrE,KAAKsE,yBDwCA0C,ECxC0BvF,MAAMC,KAAK1B,KAAKwE,eAAe0C,WDyC5GtG,eAAeuG,QAAQR,EAAUC,KAAKQ,UAAUJ,GCxCpD,CAEOK,4BAAAA,GACHzG,eAAe0G,WAAY,GAAEtH,KAAKqE,yBAAyBrE,KAAKsE,yBACpE,CAEA,kBAAciD,GAIV,OAHKrD,iBAAiBsD,WAClBtD,iBAAiBsD,SAAW,IAAItD,iBAAiBuD,IAE9CvD,iBAAiBsD,QAC5B,EAlEStD,iBACMsD,cAAQ,ECHpB,MCCMC,EAAmC,CAC5CpD,sBAAuB,OACvBqD,kBAAmB,IACnBnD,wBAAyB,EACzBG,MAAO,CACH,CACIiD,KAAM,sBACN7H,OAAQ,CACJ8H,KAAMxI,EAAkByI,MACxBC,WAAY,oBACZC,UDXkB,SAAUhB,GACxC,OAAO,IAAIjC,SAAQ,CAACC,EAASC,KACzB,MAAMgD,EAAqC9D,iBAAiBqD,cACtDU,EAAuDzJ,OAAOiI,OAAOhH,GAAkBkC,QAAOxC,GAA0B,iBAAVA,IAE9G+I,OAAmF,IAAvDF,EAAiBtB,oBAAoB/H,IAAIoI,GAA4BiB,EAAiBtB,oBAAoB/H,IAAIoI,GAAY1H,EAAoB8I,QAExI,MAAjCH,EAAiBlH,aAChBkH,EAAiBlB,kBAAkBC,EAAU1H,EAAoB8I,SACjEpD,GAAQ,IAELmD,IAAuB7I,EAAoB8I,SACf,IAAvBhH,KACA6G,EAAiBlB,kBAAkBC,EAAU1H,EAAoB+I,UACjErD,GAAQ,IAERiD,EAAiBpD,iBAAiBrF,EAAoB8I,SAAS/B,MAAMC,IAC1CA,EAAO5E,QAAQ2G,IACR,IAA1BA,EAAoB,eACnBA,EAAgB,WAAMhJ,EAAYiJ,MAAQD,EAAgB,WAAMhJ,EAAYkJ,kBAC7C,IAAhCF,EAA0B,qBACG,IAA7BA,EAAuB,kBACiC,IAAxDL,EAAsBQ,SAASH,EAAkB,cAGnC5F,OAAS,GACvBsF,EAAiBlB,kBAAkBC,EAAU1H,EAAoB+I,UACjErD,GAAQ,KAERiD,EAAiBlB,kBAAkBC,EAAU1H,EAAoB+I,UACjErD,GAAQ,GACZ,IAIRA,GAAQ,EAEhB,GAEZ,ICxBQ,CACI4C,KAAM,yBACN7H,OAAQ,CACJ8H,KAAMxI,EAAkByI,MACxBC,WAAY,uBACZC,UCpBqB,SAAUhB,GAE3C,OAAO,IAAIjC,SAAQ,CAACC,EAASC,KACzB,MAAMgD,EAAqC9D,iBAAiBqD,cACtDU,EAAuDzJ,OAAOiI,OAAOhH,GAAkBkC,QAAOxC,GAA0B,iBAAVA,IAE9G+I,OAAmF,IAAvDF,EAAiBtB,oBAAoB/H,IAAIoI,GAA4BiB,EAAiBtB,oBAAoB/H,IAAIoI,GAAY1H,EAAoB8I,QAExI,MAAjCH,EAAiBlH,aAChBkH,EAAiBlB,kBAAkBC,EAAU1H,EAAoB8I,SACjEpD,GAAQ,IAELmD,IAAuB7I,EAAoB8I,SACf,IAAvBhH,KACA6G,EAAiBlB,kBAAkBC,EAAU1H,EAAoB+I,UACjErD,GAAQ,IAERiD,EAAiBpD,iBAAiBrF,EAAoBmJ,YAAYpC,MAAMC,IAC7CA,EAAO5E,QAAQ2G,IACR,IAA1BA,EAAoB,eACnBA,EAAgB,WAAMhJ,EAAYiJ,MAAQD,EAAgB,WAAMhJ,EAAYkJ,kBAChD,IAA7BF,EAAuB,kBACiC,IAAxDL,EAAsBQ,SAASH,EAAkB,cAGnC5F,OAAS,GACvBsF,EAAiBlB,kBAAkBC,EAAU1H,EAAoB+I,UACjErD,GAAQ,KAERiD,EAAiBlB,kBAAkBC,EAAU1H,EAAoB+I,UACjErD,GAAQ,GACZ,IAIRA,GAAQ,EAEhB,GAGZ,MCtCa4D,EAAsBC,KAGnC,IAAIC,GAA6B,EAEjC,MASMC,EAAc,SAASC,GAC3B,GAAQA,EAAKjJ,OAAO8H,OACbxI,EAAkByI,MACrBmB,YAAW,IAZQ,SAASD,GAChCA,EAAKjJ,OAAOiI,UAAUgB,EAAKpB,MAAMrB,MAAMC,IACjCA,GACF3G,OAAO6H,EAAgBpD,uBAAuB4E,YAAYF,EAAKjJ,OAAOgI,WAExE,GAEJ,CAKuBoB,CAAiBH,IAAOtB,EAAgBC,kBAM/D,EAsBA9H,OAAOuJ,iBAAiB,kBAdE,WACxB,IAAIN,EAEG,CACL,MAAMb,EAAmB9D,iBAAiBqD,cACvCS,EAAiBrD,qBACL8C,EAAgB/C,MAX3B/B,SAASoG,IACbD,EAAYC,EAAK,IAYff,EAAiBX,+BAEnBwB,GAAoB,CACtB,CACF,IAE6D,G","sources":["webpack://@shared/util-survicate/webpack/bootstrap","webpack://@shared/util-survicate/webpack/runtime/define property getters","webpack://@shared/util-survicate/webpack/runtime/hasOwnProperty shorthand","webpack://@shared/util-survicate/webpack/runtime/make namespace object","webpack://@shared/util-survicate/./src/lib/enums/survicate.enum.ts","webpack://@shared/util-survicate/./src/lib/helpers/helpers.ts","webpack://@shared/util-survicate/../../../shared/utils/get-bearer-token-storage.ts","webpack://@shared/util-survicate/./src/lib/utilities/utilities.ts","webpack://@shared/util-survicate/./src/lib/services/survicate.service.ts","webpack://@shared/util-survicate/./src/lib/conditions/deposit.condition.ts","webpack://@shared/util-survicate/./src/lib/config/config.ts","webpack://@shared/util-survicate/./src/lib/conditions/withdrawal.condition.ts","webpack://@shared/util-survicate/./src/lib/util-survicate.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export enum SurvicateTaskType { \r\n Event = 0,\r\n}\r\n\r\nexport enum SurvicateTaskStatus { \r\n Disabled = 0,\r\n Enabled = 1\r\n}\r\n\r\nexport enum OrderStatus {\r\n Done = 1, //Completata\r\n DoneWithErrors = 2, //CompletataConErrori\r\n Pending = 3, //Pending\r\n ManuallyReversed = 4, //StornataManualmente\r\n ToBeProcessed = 5, //DaElaborare\r\n ToBeVerified = 6, //PendingDaVerificare\r\n ManuallyRefused = 7, //RifiutataManualmente\r\n}\r\n\r\nexport enum PaymentMethodTypeId {\r\n Deposit = 1,\r\n Withdrawal = 2\r\n}\r\n\r\nexport enum ProviderTypeId {\r\n PaymentTransactions = 2 //others exist, but not needed\r\n}\r\n\r\nexport enum BlockedProviders {\r\n ScratchCard = 120,\r\n Voucher = 159,\r\n}","import { getBearerToken } from 'shared/utils/get-bearer-token-storage';\r\n\r\ndeclare var window: any;\r\n\r\nexport const helpers = {\r\n\r\n getConfigExt: function(): any {\r\n return window.sks365?.config || {};\r\n },\r\n\r\n getBuildVer: function(): string {\r\n return this.getConfigExt().buildVer || Date.now().toString();\r\n },\r\n\r\n getCurrentCulture: function(): string {\r\n return this.getConfigExt().currentCulture || 'it-IT';\r\n },\r\n\r\n getModuleId: function(): string {\r\n return this.getConfigExt().mId || '1';\r\n },\r\n\r\n getApiUrls: function(): any {\r\n return this.getConfigExt().apiUrls || {};\r\n },\r\n \r\n getBearerToken: function(): string {\r\n return getBearerToken();\r\n },\r\n\r\n getUserId: function(): any {\r\n return this.getConfigExt().userinfo?.uid || '0';\r\n },\r\n\r\n isSurvicateFeatureEnabled: function(): boolean {\r\n return window.survicateFeatureEnabled || false;\r\n }\r\n}","export function getBearerToken(): string {\r\n return sessionStorage.getItem('apiAccessToken-Value') || '';\r\n}","import { helpers } from \"../helpers/helpers\";\r\n\r\n export const getPaymentOrders = async function (userId: string, dateFrom: string, dateTo: string, paymentMethodTypeId: number, providerTypeId: number): Promise {\r\n\r\n const baseCashierApiUrl = helpers.getApiUrls()['cashierApiUrl'];\r\n const transactionsEndpointUrl = '/v1/paymentorder';\r\n const queryParams = `UserId=${userId.toString()}&DateFrom=${dateFrom}&DateTo=${dateTo}&PaymentMethodTypeId=${paymentMethodTypeId}&ProviderTypeId=${providerTypeId}`;\r\n\r\n const apiUrl = `${baseCashierApiUrl}${transactionsEndpointUrl}?${queryParams}`;\r\n\r\n const fetchOptions = {\r\n method: 'GET',\r\n headers: {\r\n 'Accept-Language': helpers.getCurrentCulture(),\r\n 'X-SKS-MID': helpers.getModuleId(),\r\n 'Authorization': `Bearer ${helpers.getBearerToken()}`\r\n },\r\n };\r\n\r\n try {\r\n const response = await fetch(apiUrl, fetchOptions);\r\n\r\n if (!response.ok) {\r\n throw new Error(`Error: ${response.status}`);\r\n }\r\n\r\n const transactions = await response.json();\r\n\r\n return transactions;\r\n } \r\n catch (error) {\r\n console.error('Failed to fetch transactions:', error);\r\n return {};\r\n }\r\n };\r\n\r\n const removeExceptions = function(elems: Element[]) { //because exceptions...\r\n return elems.filter(elem => elem.classList.contains('helpButton') === false && elem.classList.contains('footerMenu') === false);\r\n };\r\n \r\n const isVisible = function(elem: Element) {\r\n if (!(elem instanceof Element)) throw Error('DomUtil: elem is not an element.');\r\n const style = getComputedStyle(elem);\r\n if (style.display === 'none') return false;\r\n if (style.visibility !== 'visible') return false;\r\n if (parseFloat(style.opacity) < 0.1) return false;\r\n if ((elem as HTMLElement).offsetWidth + (elem as HTMLElement).offsetHeight + elem.getBoundingClientRect().height +\r\n elem.getBoundingClientRect().width === 0) {\r\n return false;\r\n }\r\n const elemCenter = {\r\n x: elem.getBoundingClientRect().left + (elem as HTMLElement).offsetWidth / 2,\r\n y: elem.getBoundingClientRect().top + (elem as HTMLElement).offsetHeight / 2\r\n };\r\n if (elemCenter.x < 0) return false;\r\n if (elemCenter.x > (document.documentElement.clientWidth || window.innerWidth)) return false;\r\n if (elemCenter.y < 0) return false;\r\n if (elemCenter.y > (document.documentElement.clientHeight || window.innerHeight)) return false;\r\n let pointContainer: Element = document.elementFromPoint(elemCenter.x, elemCenter.y);\r\n do {\r\n if (pointContainer === elem) return true;\r\n } while (pointContainer = pointContainer.parentNode as Element);\r\n return false;\r\n };\r\n \r\n export const checkForOverlays = function() { \r\n let isOverlayVisible = false;\r\n const potentialOverlays = document.querySelectorAll('div, section, article, aside');\r\n \r\n let overlays = Array.from(potentialOverlays).filter(elem => {\r\n const style = window.getComputedStyle(elem);\r\n return style.position === 'fixed' ||\r\n style.position === 'absolute' &&\r\n parseInt(style.zIndex, 10) > 1000 &&\r\n style.top === '0px' &&\r\n style.left === '0px' &&\r\n (style.width === '100%' || style.width === window.innerWidth + 'px') &&\r\n (style.height === '100%' || style.height === window.innerHeight + 'px');\r\n });\r\n \r\n overlays = removeExceptions(overlays);\r\n\r\n if (overlays.length > 0) { \r\n overlays.forEach(overlay => {\r\n if(isVisible(overlay)) {\r\n isOverlayVisible = true;\r\n console.log('Overlay(s) found:', overlay);\r\n };\r\n }) \r\n return isOverlayVisible;\r\n } else {\r\n console.log('No overlays found.');\r\n return isOverlayVisible;\r\n }\r\n };\r\n\r\n export const getFromStorage = function(_keyName: string): any | null {\r\n return JSON.parse(sessionStorage.getItem(_keyName)) || null;\r\n }\r\n \r\n export const setToStorage = function(_keyName: string, _sessionValue: any): void {\r\n sessionStorage.setItem(_keyName, JSON.stringify(_sessionValue));\r\n }\r\n \r\n\r\n","import { survicateConfig } from \"../config/config\";\r\nimport { ProviderTypeId } from \"../enums/survicate.enum\";\r\nimport { helpers } from \"../helpers/helpers\";\r\nimport { SurvicateConfig, Task } from \"../interfaces/survicate.interface\";\r\nimport { getFromStorage, getPaymentOrders, setToStorage } from \"../utilities/utilities\";\r\n\r\nexport class SurvicateService {\r\n private static instance: SurvicateService;\r\n private paymentOrders: any[];\r\n private survicateWindowString: string;\r\n private sessionStorageTasksKey: string = 'tasks';\r\n private paymentOrdersPeriodDays: number;\r\n private taskEnabledMap: Map = new Map();\r\n\r\n private constructor(config: SurvicateConfig) {\r\n const { survicateWindowString, paymentOrdersPeriodDays, tasks } = config; \r\n this.survicateWindowString = survicateWindowString;\r\n this.paymentOrdersPeriodDays = paymentOrdersPeriodDays;\r\n }\r\n\r\n public isSurvicateEnabled(): boolean {\r\n return helpers.isSurvicateFeatureEnabled();\r\n }\r\n\r\n public getUserId(): string {\r\n return helpers.getUserId();\r\n }\r\n\r\n public getPaymentOrders(paymentMethodTypeId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!this.paymentOrders) {\r\n const now = new Date();\r\n const dateToISOString = now.toISOString();\r\n \r\n const dateFrom = new Date(now);\r\n dateFrom.setDate(now.getDate() - this.paymentOrdersPeriodDays);\r\n const dateFromISOString = dateFrom.toISOString();\r\n\r\n const providerTypeId = ProviderTypeId.PaymentTransactions; //2 - only Payment transactions\r\n \r\n getPaymentOrders(this.getUserId(), dateFromISOString, dateToISOString, paymentMethodTypeId, providerTypeId).then((result: any) => {\r\n const paymentOrders = result['paymentOrders'];\r\n this.paymentOrders = Array.isArray(paymentOrders) ? paymentOrders : Object.values(paymentOrders || {});\r\n console.log('result:', this.paymentOrders);\r\n resolve(this.paymentOrders);\r\n });\r\n } else {\r\n resolve(this.paymentOrders);\r\n } \r\n });\r\n }\r\n\r\n public getTaskEnabledMap(): Map {\r\n const tasks = getFromStorage(`${this.survicateWindowString}_${this.sessionStorageTasksKey}`);\r\n this.taskEnabledMap = new Map(tasks);\r\n return this.taskEnabledMap; \r\n }\r\n\r\n public setTaskEnabledMap(taskName: string, value: number): void {\r\n this.taskEnabledMap.set(taskName, value);\r\n setToStorage(`${this.survicateWindowString}_${this.sessionStorageTasksKey}`, Array.from(this.taskEnabledMap.entries()));\r\n }\r\n\r\n public clearSurvicateSessionStorage(): void {\r\n sessionStorage.removeItem(`${this.survicateWindowString}_${this.sessionStorageTasksKey}`);\r\n }\r\n\r\n public static getInstance(): SurvicateService {\r\n if (!SurvicateService.instance) {\r\n SurvicateService.instance = new SurvicateService(survicateConfig);\r\n }\r\n return SurvicateService.instance;\r\n }\r\n\r\n}","import { BlockedProviders, OrderStatus, PaymentMethodTypeId, SurvicateTaskStatus } from \"../enums/survicate.enum\";\r\nimport { SurvicateService } from \"../services/survicate.service\";\r\nimport { checkForOverlays } from \"../utilities/utilities\";\r\n\r\nexport const depositConditionFn = function (taskName: string): Promise { \r\n return new Promise((resolve, reject) => {\r\n const survicateService: SurvicateService = SurvicateService.getInstance();\r\n const blockedProvidersArray: (string | BlockedProviders)[] = Object.values(BlockedProviders).filter(value => typeof value === 'number');\r\n\r\n const isExecutionEnabled = typeof survicateService.getTaskEnabledMap().get(taskName) !== 'undefined' ? survicateService.getTaskEnabledMap().get(taskName) : SurvicateTaskStatus.Enabled;\r\n\r\n if(survicateService.getUserId() === '0') { //anonymous user\r\n survicateService.setTaskEnabledMap(taskName, SurvicateTaskStatus.Enabled);\r\n resolve(false);\r\n } else {\r\n if(isExecutionEnabled === SurvicateTaskStatus.Enabled) {\r\n if (checkForOverlays() === true) {\r\n survicateService.setTaskEnabledMap(taskName, SurvicateTaskStatus.Disabled); //disable task until next session\r\n resolve(false);\r\n } else {\r\n survicateService.getPaymentOrders(PaymentMethodTypeId.Deposit).then((result) => {\r\n const filteredOrders = result.filter((order: any) =>\r\n order['isWithdrawal'] === false &&\r\n (order['statusId'] === OrderStatus.Done || order['statusId'] === OrderStatus.DoneWithErrors) &&\r\n order['isDoneByBackOffice'] === false &&\r\n order['isDoneByService'] === false &&\r\n blockedProvidersArray.includes(order['providerId']) === false\r\n );\r\n \r\n if(filteredOrders.length > 0) {\r\n survicateService.setTaskEnabledMap(taskName, SurvicateTaskStatus.Disabled);\r\n resolve(true);\r\n } else {\r\n survicateService.setTaskEnabledMap(taskName, SurvicateTaskStatus.Disabled);\r\n resolve(false);\r\n }\r\n });\r\n }\r\n } else {\r\n resolve(false);\r\n }\r\n } \r\n });\r\n}","import { depositConditionFn } from \"../conditions/deposit.condition\";\r\nimport { withdrawalConditionFn } from \"../conditions/withdrawal.condition\";\r\nimport { SurvicateTaskType } from \"../enums/survicate.enum\";\r\nimport { SurvicateConfig } from \"../interfaces/survicate.interface\";\r\n\r\nexport const survicateConfig: SurvicateConfig = {\r\n survicateWindowString: '_sva',\r\n eventTriggerDelay: 3000,\r\n paymentOrdersPeriodDays: 3,\r\n tasks: [\r\n {\r\n name: 'triggerEventDeposit', \r\n config: {\r\n type: SurvicateTaskType.Event,\r\n nameString: 'deposit_survicate',\r\n condition: depositConditionFn\r\n }\r\n\r\n },\r\n {\r\n name: 'triggerEventWithdrawal', \r\n config: {\r\n type: SurvicateTaskType.Event,\r\n nameString: 'withdrawal_survicate',\r\n condition: withdrawalConditionFn\r\n }\r\n\r\n },\r\n ]\r\n};","import { BlockedProviders, OrderStatus, PaymentMethodTypeId, SurvicateTaskStatus } from \"../enums/survicate.enum\";\r\nimport { SurvicateService } from \"../services/survicate.service\";\r\nimport { checkForOverlays } from \"../utilities/utilities\";\r\n\r\nexport const withdrawalConditionFn = function (taskName: string): Promise { \r\n \r\n return new Promise((resolve, reject) => {\r\n const survicateService: SurvicateService = SurvicateService.getInstance();\r\n const blockedProvidersArray: (string | BlockedProviders)[] = Object.values(BlockedProviders).filter(value => typeof value === 'number');\r\n\r\n const isExecutionEnabled = typeof survicateService.getTaskEnabledMap().get(taskName) !== 'undefined' ? survicateService.getTaskEnabledMap().get(taskName) : SurvicateTaskStatus.Enabled;\r\n\r\n if(survicateService.getUserId() === '0') { //anonymous user\r\n survicateService.setTaskEnabledMap(taskName, SurvicateTaskStatus.Enabled);\r\n resolve(false);\r\n } else {\r\n if(isExecutionEnabled === SurvicateTaskStatus.Enabled) {\r\n if (checkForOverlays() === true) {\r\n survicateService.setTaskEnabledMap(taskName, SurvicateTaskStatus.Disabled); //disable task until next session\r\n resolve(false);\r\n } else {\r\n survicateService.getPaymentOrders(PaymentMethodTypeId.Withdrawal).then((result) => {\r\n const filteredOrders = result.filter((order: any) =>\r\n order['isWithdrawal'] === true &&\r\n (order['statusId'] === OrderStatus.Done || order['statusId'] === OrderStatus.DoneWithErrors) &&\r\n order['isDoneByService'] === false &&\r\n blockedProvidersArray.includes(order['providerId']) === false\r\n );\r\n \r\n if(filteredOrders.length > 0) {\r\n survicateService.setTaskEnabledMap(taskName, SurvicateTaskStatus.Disabled);\r\n resolve(true);\r\n } else {\r\n survicateService.setTaskEnabledMap(taskName, SurvicateTaskStatus.Disabled);\r\n resolve(false);\r\n }\r\n });\r\n }\r\n } else {\r\n resolve(false);\r\n }\r\n } \r\n });\r\n\r\n}","\r\nimport { survicateConfig } from './config/config';\r\nimport { Task } from './interfaces/survicate.interface';\r\nimport { SurvicateTaskType } from './enums/survicate.enum';\r\nimport { SurvicateService } from './services/survicate.service';\r\n\r\nexport const sharedUtilSurvicate = self as any;\r\n\r\ndeclare var window: any;\r\nlet initSurvicateDone: boolean = false;\r\n\r\nconst executeEventTask = function(task: Task): void {\r\n task.config.condition(task.name).then((result: boolean) => {\r\n if (result) {\r\n window[survicateConfig.survicateWindowString].invokeEvent(task.config.nameString);\r\n //console.log('Event triggered:', task.config.nameString);\r\n }\r\n });\r\n}\r\n\r\nconst executeTask = function(task: Task): void {\r\n switch (task.config.type) {\r\n case SurvicateTaskType.Event:\r\n setTimeout(() => executeEventTask(task), survicateConfig.eventTriggerDelay); //delay for popups check\r\n break;\r\n //add more task types here\r\n default:\r\n break;\r\n }\r\n}\r\n\r\nconst processTasks = function(tasks: Task[]): void {\r\n tasks.forEach((task: Task) => {\r\n executeTask(task);\r\n });\r\n}\r\n\r\nconst initUtilSurvicate = function(): void {\r\n if (initSurvicateDone) {\r\n return;\r\n } else {\r\n const survicateService = SurvicateService.getInstance();\r\n if(survicateService.isSurvicateEnabled()) {\r\n processTasks(survicateConfig.tasks);\r\n } else {\r\n survicateService.clearSurvicateSessionStorage();\r\n }\r\n initSurvicateDone = true;\r\n }\r\n}\r\n\r\nwindow.addEventListener('SurvicateReady', initUtilSurvicate, false);\r\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","SurvicateTaskType","SurvicateTaskStatus","OrderStatus","PaymentMethodTypeId","ProviderTypeId","BlockedProviders","helpers","getConfigExt","window","sks365","config","getBuildVer","this","buildVer","Date","now","toString","getCurrentCulture","currentCulture","getModuleId","mId","getApiUrls","apiUrls","getBearerToken","sessionStorage","getItem","getUserId","userinfo","uid","isSurvicateFeatureEnabled","survicateFeatureEnabled","checkForOverlays","isOverlayVisible","potentialOverlays","document","querySelectorAll","overlays","Array","from","filter","elem","style","getComputedStyle","position","parseInt","zIndex","top","left","width","innerWidth","height","innerHeight","classList","contains","length","forEach","overlay","Element","Error","display","visibility","parseFloat","opacity","offsetWidth","offsetHeight","getBoundingClientRect","elemCenter","x","y","documentElement","clientWidth","clientHeight","pointContainer","elementFromPoint","parentNode","isVisible","console","log","SurvicateService","constructor","paymentOrders","survicateWindowString","sessionStorageTasksKey","paymentOrdersPeriodDays","taskEnabledMap","Map","tasks","isSurvicateEnabled","getPaymentOrders","paymentMethodTypeId","Promise","resolve","reject","dateToISOString","toISOString","dateFrom","setDate","getDate","dateFromISOString","providerTypeId","PaymentTransactions","async","userId","dateTo","apiUrl","fetchOptions","method","headers","response","fetch","ok","status","json","error","then","result","isArray","values","getTaskEnabledMap","_keyName","JSON","parse","setTaskEnabledMap","taskName","_sessionValue","set","entries","setItem","stringify","clearSurvicateSessionStorage","removeItem","getInstance","instance","survicateConfig","eventTriggerDelay","name","type","Event","nameString","condition","survicateService","blockedProvidersArray","isExecutionEnabled","Enabled","Disabled","Deposit","order","Done","DoneWithErrors","includes","Withdrawal","sharedUtilSurvicate","self","initSurvicateDone","executeTask","task","setTimeout","invokeEvent","executeEventTask","addEventListener"],"sourceRoot":""}