{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/common/permissions.js","webpack:///./src/common/authToken.js","webpack:///./src/common/gridOptions.js","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/containers/_nav.js","webpack:///./src/App.vue?33f9","webpack:///src/App.vue","webpack:///./src/App.vue?8f16","webpack:///./src/App.vue","webpack:///./src/assets/icons/icons.js","webpack:///./src/main.js","webpack:///./src/App.vue?ab49","webpack:///./src/common/network.js","webpack:///./src/i18n.js","webpack:///./src/common/tradeHelper.js","webpack:///./src/common/UIPermissions.js","webpack:///./src/common/urls.js","webpack:///./src/router/index.js","webpack:///./src/common/logger.js","webpack:///./src/config/supported-locales.js","webpack:///./src/util/i18n/supported-locales.js","webpack:///./src/store.js","webpack:///./src/App.vue?fc01"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","getPermissions","token","tokenDecoded","jwt_decode","permissions","decoded","split","loggedInUserId","loggedInUserEmail","avatarUrl","localPermissions","set","JSON","stringify","localStorage","setItem","store","commit","getItem","authToken","_regeneratorRuntime","a","iterator","asyncIterator","u","define","configurable","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","arg","h","f","y","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","__await","callInvokeWithMethodAndArg","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","_next","_throw","grid","pageSettings","pageSizes","pageSize","pageCount","filterSettings","operators","stringOperator","text","numberOperator","dateOperator","actionBegin","args","requestType","currentFilterObject","getMonth","dateNew","Date","setHours","getHours","getTimezoneOffset","propt","actionComplete","refs","columnType","filterModel","flMuiObj","dropOptr","dialog","zIndex","header","gridKey","find","startsWith","refresh","title","content","cssClass","$root","$emit","errorAlert","this","dialogAalert","warningAlert","infoAlert","DialogUtility","alert","position","X","Y","showCloseIcon","closeOnEscape","animationSettings","effect","actionFailure","_this","_callee","response","_response","_context","parse","t0","excelExport","item","id","includes","excelExportProperties","fileName","theme","fontName","fontColor","record","caption","showSpinner","map","webpackContext","req","webpackContextResolve","_name","_children","lookupName","to","icon","route","items","render","_vm","_h","$createElement","_c","_self","ref","attrs","staticRenderFns","component","iconsSet","assign","logo","cilArrowRight","cilBan","cilBarChart","cilBasket","cilBell","cilBolt","cilCalculator","cilCalendar","cilCaretBottom","cilCaretRight","cilCaretTop","cilCloudDownload","cilChartPie","cilChartLine","cilCheck","cilChevronBottom","cilChevronTop","cilCheckCircle","cilCommentSquare","cilCursor","cilDrop","cilDollar","cilEnvelopeClosed","cilEnvelopeOpen","cilEuro","cilFire","cilGlobeAlt","cilGrid","cilFile","cilFolder","cilHome","cilIndustry","cilJustifyCenter","cilLaptop","cilLayers","cilLightbulb","cilList","cilLocationPin","cilLockLocked","cilMagnifyingGlass","cilMoon","cilOptions","cilObjectGroup","cilPencil","cilPeople","cilPuzzle","cilSettings","cilShieldAlt","cilSpeech","cilSpeedometer","cilStar","cilTask","cilUser","cilUserFemale","cilUserFollow","cilWarning","cilXCircle","cifUs","cifBr","cifIn","cifFr","cifEs","cifPl","cibFacebook","cibTwitter","cibLinkedin","cibFlickr","cibTumblr","cibXing","cibGithub","cibStackOverflow","cibYoutube","cibDribbble","cibInstagram","cibPinterest","cibVk","cibYahoo","cibBehance","cibReddit","cibVimeo","cibCcMastercard","cibCcVisa","cibStripe","cibPaypal","cibGooglePay","cibCcAmex","Vue","config","performance","use","CoreuiVue","$log","log","el","router","icons","template","i18n","components","App","authInterceptor","headers","concat","auth","clientId","urls","azureADClientId","authority","azureADTenantId","redirectUri","location","protocol","host","postLogoutRedirectUri","loginRequest","scopes","myMsal","Msal","protectedApi","axios","baseURL","apiBaseUrl","dateCorrection","toString","date","tradeHelper","fixDateOffset","toISOString","dateInterceptor","isDateFix","logout","clear","currentAccounts","getAllAccounts","logoutRequest","account","getAccountByHomeId","homeAccountId","logoutRedirect","triggeredMessage","navigateToLogin","redirectLocation","removeItem","NotifyUser","gridOptions","isFirstTrioLogin","showTrioDialog","put","callApi","unprotectedApi","post","Token","resp","rules","checkUIPermissions","replace","logger","pathname","handleResponse","idToken","loginRedirect","loginRequest2","acquireTokenSilent","handleRedirectPromise","timeoutThreshold","countdownTimer","resetCountdownTimer","addEventListener","response401Interceptor","status","interceptors","ssoApi","ssoBaseUrl","VueI18n","locale","getActiveLocale","fallbackLocale","process","messages","loadLocaleMessages","locales","require","matched","match","trim","supportedLocalesInclude","getTradeablePeriodMonthlyVolumes","tradePeriods","volumes","periodId","contractId","self","vlms","selectedPeriod","filter","tp","q1MonthPrefixes","q2MonthPrefixes","q3MonthPrefixes","q4MonthPrefixes","summerMonthPrefixes","winterCurrentYearMonthPrefixes","winterNextYearMonthPrefixes","calMonthPrefixes","yearLastTwoDigits","year","nextYearLastTwoDigits","periodName","substr","indexOf","monthlyVolumes","tradablePeriod","toLowerCase","monthlyVolumesCurrYear","monthlyVolumesNextYear","_step","_iterator","_createForOfIteratorHelper","mv","sDate","getStartDateByTradePeriodSpanIdAndYear","periodSpanId","startDate","eDate","getEndDateByTradePeriodSpanIdAndYear","endDate","tPeriod","contractTradeablePeriodId","returnDate","getTime","calculatePercentageFromValue","partialValue","totalValue","calculateValueFromPercentage","percentage","tradePeriodSpanId","month","dateDiff","first","second","Math","round","navProps","nav","isUserLoggedIn","navbarItems","navItem","navbarChildItems","childItems","resolveBaseUrl","helpDeskUrl","tocBaseUrl","assureBaseUrl","getReturnUrl","retUrl","TheContainer","Home","UsersMain","ProductSpecificationMain","GeneralMain","UnitsMain","ContractManagementMain","GroupPermission","Portfolio","Alerts","Clients","Companies","Contracts","TradingGroups","TradingForm","Trades","Triggers","Reports","AvailableReports","AdminReports","ReportTemplateBuilder","Markets","Management","SsoLanding","Profile","ContractType","ClientsForm","ClientReportTabs","ATGReportTabs","CompanyForm","TradeForm","ContractForm","ContractReportTabs","ExpiredTrigger","DueLiveTrigger","ActiveTrigger","StatusAlert","TriggerHitAlert","DeadlineAlert","MyClients","PDFViewer","SecureVersion","configRoutes","path","redirect","children","Router","linkActiveClass","scrollBehavior","routes","messageObj","en","es","getSupportedLocales","annotatedLocales","_i","_Object$keys","supportedLocales","Vuex","state","sidebarShow","sidebarMinimize","isLoggedIn","contractSelectedUtility","navBarItems","selectedContractId","contractProducts","isContractSellback","contractVolumeUnit","contractTradeUnit","contractVolumeUnitName","contractTradeUnitName","whatIfUtilityTypeId","whatIfProducts","whatIfTradeablePeriods","whatIfPriceUnit","whatIfTradingSymbol","whatIfLockedVolumeUnit","whatIfTradeCurrency","whatIfRoute","wahtIfObject","reportContractId","reportClientId","reportTradingGroupId","contractMarketUnit","contractMarketUnitName","contractHasActiveTrades","isContractExpired","isGroupUserTabLast","isCheckDefaultM","isClientDefaultM","homeVolumeData","homePowerRates","homeGasRates","whatIfCollection","homeRegionMap","pricingAreaNames","hasPriceAreas","mutations","toggleSidebarDesktop","sidebarOpened","toggleSidebarMobile","sidebarClosed","_ref","_ref2","_slicedToArray","variable","setPermissions","setIsLoggedIn","setLoggedInUserId","setLoggedInUserEmail","setAvatarUrl","setNavBarItems","navrBarItems","setCurrentContractId","setContractProducts","setIsContractSellback","setContractVolumeUnit","setContractTradeUnit","setContractVolumeUnitName","setContractTradeUnitName","setWhatIfUtilityTypeId","setWhatIfProducts","setWhatIfTradeablePeriods","setWhatIfPriceUnit","setWhatIfTradingSymbol","setWhatIfLockedVolumeUnit","setWhatIfTradeCurrency","setContractSelectedUtility","setWhatIfRoute","setWhatIfObject","whatIfObject","setReportsContractId","setReportsClientId","setReportsTradingGroupId","setContractMarketUnit","setContractMarketUnitName","setContractHasActiveTrades","setIsContractExpired","setGroupUserTabLast","setCheckDefaultM","setClientCheckDefaultM","setHomeVolumeData","setHomePowerRates","setHomeGasRates","setWhatIfCollectionObject","setTradingGroupsIds","tradingGroupsIds","setHomeRegionMap","setLastDay","lastDay","setPriceAreaNames","setHasPriceAreas","getters","gasPowerRates","Store"],"mappings":"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","file":"js/app.85434b41.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-062de35b\":\"3f70450c\",\"chunk-2d0aaeed\":\"10f742bd\",\"chunk-2d0c8227\":\"f0066c76\",\"chunk-2d0c172f\":\"339354c4\",\"chunk-08125b8e\":\"10e7aa07\",\"chunk-7af89b64\":\"8494464b\",\"chunk-11736055\":\"12140fc5\",\"chunk-1220146c\":\"ad8692f0\",\"chunk-1363ba41\":\"79a52b77\",\"chunk-1a8059fe\":\"97673f85\",\"chunk-1ba9e64a\":\"cfd6c9b7\",\"chunk-1e9c1180\":\"36e9e4aa\",\"chunk-20eb8bbc\":\"389726f3\",\"chunk-22fb60b2\":\"a656a193\",\"chunk-23639334\":\"f1e4da06\",\"chunk-34f692c1\":\"054a8b7e\",\"chunk-37b3f149\":\"6c7542d7\",\"chunk-3cced889\":\"eb0511f5\",\"chunk-4387bc52\":\"4fe719f5\",\"chunk-44bb42c6\":\"1a200791\",\"chunk-467531a2\":\"6d80e87e\",\"chunk-473de7e3\":\"0e12d5a7\",\"chunk-4fa31912\":\"7e1dfb7c\",\"chunk-539e21b5\":\"4413ec28\",\"chunk-5b8584a2\":\"7da67bc6\",\"chunk-5c587811\":\"fff564b8\",\"chunk-5fef8c72\":\"d1dd1f2d\",\"chunk-61b11b34\":\"cf9dd936\",\"chunk-6313573a\":\"8c47c180\",\"chunk-6ea0b298\":\"54a64d98\",\"chunk-6ed5b99c\":\"74189ecd\",\"chunk-70115930\":\"c7ac7954\",\"chunk-702c9561\":\"029f10e9\",\"chunk-74077421\":\"5e271be7\",\"chunk-7549085e\":\"3abe6e8c\",\"chunk-75a04111\":\"107211ce\",\"chunk-7ed91361\":\"d215a2de\",\"chunk-8815feec\":\"5aad9b2c\",\"chunk-89d8e71e\":\"e35522a2\",\"chunk-b4602300\":\"0e9fcdc9\",\"chunk-f41f79b2\":\"974a3a2d\",\"chunk-d1851432\":\"ec6ca201\",\"chunk-66b857cd\":\"bf259d60\",\"chunk-159f523c\":\"7b71e2b4\",\"chunk-32f9d0b4\":\"122cb979\",\"chunk-3c560a1a\":\"5f9efad5\",\"chunk-ca215ff6\":\"33d6efa2\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-062de35b\":1,\"chunk-11736055\":1,\"chunk-1220146c\":1,\"chunk-1363ba41\":1,\"chunk-1a8059fe\":1,\"chunk-22fb60b2\":1,\"chunk-23639334\":1,\"chunk-3cced889\":1,\"chunk-4387bc52\":1,\"chunk-44bb42c6\":1,\"chunk-473de7e3\":1,\"chunk-4fa31912\":1,\"chunk-539e21b5\":1,\"chunk-5b8584a2\":1,\"chunk-5c587811\":1,\"chunk-5fef8c72\":1,\"chunk-61b11b34\":1,\"chunk-6313573a\":1,\"chunk-702c9561\":1,\"chunk-7549085e\":1,\"chunk-75a04111\":1,\"chunk-7ed91361\":1,\"chunk-8815feec\":1,\"chunk-89d8e71e\":1,\"chunk-b4602300\":1,\"chunk-66b857cd\":1,\"chunk-159f523c\":1,\"chunk-32f9d0b4\":1,\"chunk-ca215ff6\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-062de35b\":\"bc164107\",\"chunk-2d0aaeed\":\"31d6cfe0\",\"chunk-2d0c8227\":\"31d6cfe0\",\"chunk-2d0c172f\":\"31d6cfe0\",\"chunk-08125b8e\":\"31d6cfe0\",\"chunk-7af89b64\":\"31d6cfe0\",\"chunk-11736055\":\"ff5a48df\",\"chunk-1220146c\":\"3902602b\",\"chunk-1363ba41\":\"37fe5e4c\",\"chunk-1a8059fe\":\"a32dd37f\",\"chunk-1ba9e64a\":\"31d6cfe0\",\"chunk-1e9c1180\":\"31d6cfe0\",\"chunk-20eb8bbc\":\"31d6cfe0\",\"chunk-22fb60b2\":\"faae0d81\",\"chunk-23639334\":\"a0789c9a\",\"chunk-34f692c1\":\"31d6cfe0\",\"chunk-37b3f149\":\"31d6cfe0\",\"chunk-3cced889\":\"86d47b76\",\"chunk-4387bc52\":\"9053b8d2\",\"chunk-44bb42c6\":\"5b5097ec\",\"chunk-467531a2\":\"31d6cfe0\",\"chunk-473de7e3\":\"b617faa8\",\"chunk-4fa31912\":\"5330168a\",\"chunk-539e21b5\":\"6d1db7c3\",\"chunk-5b8584a2\":\"34400c46\",\"chunk-5c587811\":\"86a287b3\",\"chunk-5fef8c72\":\"b87412dd\",\"chunk-61b11b34\":\"67801f28\",\"chunk-6313573a\":\"8bfb0c49\",\"chunk-6ea0b298\":\"31d6cfe0\",\"chunk-6ed5b99c\":\"31d6cfe0\",\"chunk-70115930\":\"31d6cfe0\",\"chunk-702c9561\":\"d52fa00d\",\"chunk-74077421\":\"31d6cfe0\",\"chunk-7549085e\":\"1d91293e\",\"chunk-75a04111\":\"746c0bb6\",\"chunk-7ed91361\":\"9fff2070\",\"chunk-8815feec\":\"f79aa4fb\",\"chunk-89d8e71e\":\"cab7e3ed\",\"chunk-b4602300\":\"ea458a46\",\"chunk-f41f79b2\":\"31d6cfe0\",\"chunk-d1851432\":\"31d6cfe0\",\"chunk-66b857cd\":\"38520f2e\",\"chunk-159f523c\":\"7fd4e2fc\",\"chunk-32f9d0b4\":\"4501f897\",\"chunk-3c560a1a\":\"31d6cfe0\",\"chunk-ca215ff6\":\"d805fb6e\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import * as jwt_decode from 'jwt-decode';\r\nimport store from '../store'\r\n\r\nlet getPermissions = function (token) {\r\n let tokenDecoded = jwt_decode(token);\r\n if (tokenDecoded[\"Permissions\"]) {\r\n let permissions = {};\r\n let decoded = tokenDecoded[\"Permissions\"].split(',');\r\n for (var p in decoded) {\r\n permissions[decoded[p]] = true\r\n }\r\n let loggedInUserId = tokenDecoded[\"loggedInUserId\"];\r\n let loggedInUserEmail = tokenDecoded[\"loggedInUser\"];\r\n let avatarUrl = tokenDecoded[\"avatarUrl\"];\r\n\r\n localPermissions.set(JSON.stringify(permissions));\r\n localStorage.setItem('loggedInUserId', loggedInUserId || '');\r\n localStorage.setItem('loggedInUserEmail', loggedInUserEmail || '');\r\n localStorage.setItem('avatarUrl', avatarUrl || '');\r\n\r\n store.commit('setPermissions', permissions);\r\n store.commit('setLoggedInUserId', loggedInUserId);\r\n store.commit('setLoggedInUserEmail', loggedInUserEmail);\r\n store.commit('setAvatarUrl', avatarUrl);\r\n } \r\n}\r\n\r\nconst localPermissions = {\r\n get: () => {\r\n return localStorage.getItem('permissions') || '';\r\n },\r\n set: (permissions) => {\r\n localStorage.setItem('permissions', permissions || '');\r\n }\r\n};\r\n\r\nexport default {\r\n getPermissions,\r\n localPermissions\r\n}\r\n","const authToken = {\r\n get: () => {\r\n return localStorage.getItem('apiToken') || '';\r\n },\r\n set: (token) => {\r\n localStorage.setItem('apiToken', token || '');\r\n }\r\n};\r\nexport default authToken;","import { DialogUtility } from '@syncfusion/ej2-popups';\r\nconst grid = {\r\n pageSettings: { pageSizes: [10, 20, 50, 100], pageSize: 50, pageCount: 4 },\r\n filterSettings: {\r\n type: 'Menu',\r\n operators: {\r\n stringOperator: [\r\n { value: \"startswith\", text: \"Starts With\" },\r\n { value: \"endswith\", text: \"Ends With\" },\r\n { value: \"contains\", text: \"Contains\" },\r\n { value: \"equal\", text: \"Equal\" },\r\n ],\r\n numberOperator: [\r\n { value: \"equal\", text: \"Equal\" },\r\n { value: \"notequal\", text: \"Not Equal\" },\r\n { value: \"lessthan\", text: \"Less Than\" },\r\n { value: \"lessthanorequal\", text: \"Less Than or Equal\" },\r\n { value: \"greaterthan\", text: \"Greater Than\" },\r\n { value: \"greaterthanorequal\", text: \"Greater Than or Equal\" },\r\n ],\r\n dateOperator: [\r\n { value: \"equal\", text: \"Equal\" },\r\n { value: \"notequal\", text: \"Not Equal\" },\r\n { value: \"lessthan\", text: \"Less Than\" },\r\n { value: \"lessthanorequal\", text: \"Less Than or Equal\" },\r\n { value: \"greaterthan\", text: \"Greater Than\" },\r\n { value: \"greaterthanorequal\", text: \"Greater Than or Equal\" },\r\n ],\r\n },\r\n },\r\n actionBegin: function (args) {\r\n if (args.requestType == \"filtering\") {\r\n if (args.currentFilterObject && typeof args.currentFilterObject.value.getMonth === 'function') {\r\n var dateNew = new Date(args.currentFilterObject.value);\r\n dateNew.setHours(dateNew.getHours() - (dateNew.getTimezoneOffset() / 60));\r\n args.currentFilterObject.value = dateNew;\r\n \r\n }\r\n }\r\n\r\n if (args.requestType == \"save\") {\r\n for (var propt in args.data) {\r\n if (args.data[propt] && typeof args.data[propt].getMonth === 'function') {\r\n var dateNew = new Date(args.data[propt]);\r\n dateNew.setHours(dateNew.getHours() - (dateNew.getTimezoneOffset() / 60));\r\n args.data[propt] = dateNew;\r\n \r\n }\r\n }\r\n }\r\n },\r\n actionComplete: function (args, refs) {\r\n if (args.columnType === \"string\") {\r\n args.filterModel.flMuiObj.dropOptr.value = \"contains\";\r\n }\r\n if ((args.requestType === 'beginEdit' || args.requestType === 'add')) {\r\n let dialog = args.dialog;\r\n dialog.zIndex = 1100;\r\n dialog.header = args.requestType === 'beginEdit' ? \"Edit details\" : 'Add new record';\r\n }\r\n if ((args.requestType === 'save')) {\r\n let gridKey = Object.keys(refs).find(key => key.startsWith('grid') && refs[key]);\r\n if (gridKey) {\r\n refs[gridKey].refresh();\r\n }\r\n \r\n }\r\n if (args.requestType === 'delete') {\r\n let gridKey = Object.keys(refs).find(key => key.startsWith('grid') && refs[key]);\r\n let message = { title: 'Success!', content: 'Record is deleted successfully', cssClass: 'e-toast-success' };\r\n refs[gridKey].$root.$emit('showToast', message);\r\n }\r\n },\r\n errorAlert: function (text) { this.dialogAalert(text, 'Error') },\r\n warningAlert: function (text) { this.dialogAalert(text, 'Error') },\r\n infoAlert: function (text) { this.dialogAalert(text, 'Info') },\r\n dialogAalert: function (text, title) {\r\n DialogUtility.alert({\r\n title: title,\r\n content: text,\r\n position: { X: 700, Y: 200 },\r\n showCloseIcon: true,\r\n closeOnEscape: true,\r\n animationSettings: { effect: 'Zoom' },\r\n zIndex: 1100\r\n });\r\n },\r\n async actionFailure(args) {\r\n try {\r\n if (args[0]) {\r\n const response = await args[0].error[0].error.text();\r\n if (response.split(\"\\\"errors\\\":\")[1]) {\r\n this.errorAlert(response.split(\"\\\"errors\\\":\")[1]);\r\n } else {\r\n this.errorAlert(JSON.parse(response).message);\r\n }\r\n }\r\n else {\r\n const response = await args.error[0].error.text();\r\n if (response.split(\"\\\"errors\\\":\")[1]) {\r\n this.errorAlert(response.split(\"\\\"errors\\\":\")[1]);\r\n } else {\r\n this.errorAlert(JSON.parse(response).message);\r\n } \r\n }\r\n } catch(error) {\r\n this.errorAlert(\"Unexpected error:\", error);\r\n }\r\n },\r\n excelExport: function (args, name,refs) {\r\n if (args.item.id.includes('excelexport')) {\r\n let excelExportProperties = {\r\n fileName: name,\r\n theme:\r\n {\r\n header: {\r\n fontName: 'Arial', fontColor: '#001c55' },\r\n record: {\r\n fontName: 'Arial', fontColor: '#4d4d4d' },\r\n caption: {\r\n fontName: 'Arial', fontColor: '#4d4d4d' }\r\n }\r\n };\r\n \r\n //after changes with grid name, it is no longer default name 'grid' it is dynamic \r\n let gridKey = Object.keys(refs).find(key => key.startsWith('grid') && refs[key]);\r\n if (gridKey) {\r\n refs[gridKey].showSpinner();\r\n refs[gridKey].excelExport(excelExportProperties);\r\n } \r\n \r\n }\r\n },\r\n \r\n}\r\n\r\nexport default grid;","var map = {\n\t\"./en.json\": \"edd4\",\n\t\"./es.json\": \"a306\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"49f8\";","export default [\r\n {\r\n _name: 'CSidebarNav',\r\n _children: [\r\n {\r\n _name: 'CSidebarNavItem',\r\n name: 'Home',\r\n lookupName: 'Home',\r\n to: '/home',\r\n icon: 'cil-home'\r\n },\r\n {\r\n _name: 'CSidebarNavItem',\r\n name: 'Markets',\r\n lookupName: 'Markets',\r\n to: '/Markets',\r\n icon: 'cil-chart-line'\r\n },\r\n //{\r\n // _name: 'CSidebarNavDropdown',\r\n // name: 'Portfolio',\r\n // lookupName: 'Portfolio',\r\n // to: '/portfolio',\r\n // icon: 'cil-folder',\r\n // items: [\r\n // {\r\n // name: 'MyPortfolio',\r\n // lookupName: 'My Portfolio',\r\n // to: '/portfolio',\r\n // },\r\n // {\r\n // name: 'MyClients',\r\n // lookupName: 'My Clients',\r\n // to: '/portfolio/Clients',\r\n // },\r\n // {\r\n // name: 'MyTrades',\r\n // lookupName: 'My Trades',\r\n // to: '/trades',\r\n // },\r\n // {\r\n // name: 'MyTriggers',\r\n // lookupName: 'My Triggers',\r\n // to: '/Triggers',\r\n // },\r\n // {\r\n // name: 'MyAlerts',\r\n // lookupName: 'My Alerts',\r\n // to: '/alerts',\r\n // }\r\n // ]\r\n //},\r\n {\r\n _name: 'CSidebarNavDropdown',\r\n name: 'Alerts',\r\n lookupName: 'Alerts',\r\n route: '/alerts',\r\n icon: 'cil-bell',\r\n items: [\r\n {\r\n name: 'TriggerHitAlert',\r\n lookupName: 'Hit Triggers',\r\n to: '/alerts/triggerHitAlert',\r\n },\r\n {\r\n name: 'StatusAlert',\r\n lookupName: 'Trigger Status',\r\n to: '/alerts/statusAlert',\r\n },\r\n {\r\n name: 'DeadlineAlert',\r\n lookupName: 'Default Deadlines',\r\n to: '/alerts/deadlineAlert',\r\n }]\r\n },\r\n {\r\n _name: 'CSidebarNavItem',\r\n name: 'Clients',\r\n lookupName: 'Clients',\r\n to: '/clients',\r\n icon: 'cil-people'\r\n },\r\n {\r\n _name: 'CSidebarNavItem',\r\n name: 'Companies',\r\n lookupName: 'Companies',\r\n to: '/companies',\r\n icon: 'cil-industry'\r\n },\r\n {\r\n _name: 'CSidebarNavItem',\r\n name: 'Contracts',\r\n lookupName: 'Contracts',\r\n to: '/contracts',\r\n icon: 'cil-file'\r\n },\r\n {\r\n _name: 'CSidebarNavItem',\r\n name: 'Trading Groups',\r\n lookupName: 'Trading Groups',\r\n to: '/tradingGroups',\r\n icon: 'cil-object-group'\r\n },\r\n {\r\n _name: 'CSidebarNavItem',\r\n name: 'Trades',\r\n lookupName: 'Trades',\r\n to: '/trades',\r\n icon: 'cil-check'\r\n },\r\n {\r\n _name: 'CSidebarNavDropdown',\r\n name: 'Reports',\r\n lookupName: 'Reports',\r\n to: '/reports',\r\n icon: 'cil-bar-chart',\r\n items: [\r\n {\r\n name: 'Report Templates',\r\n lookupName: 'Report Templates',\r\n to: '/reports/reports',\r\n },\r\n {\r\n name: 'AvailableReports',\r\n lookupName: 'Available Reports',\r\n to: '/reports/availableReports',\r\n },\r\n {\r\n name: 'AdminReports',\r\n lookupName: 'Management Reports',\r\n to: '/reports/adminReports',\r\n }\r\n ]\r\n },\r\n {\r\n _name: 'CSidebarNavDropdown',\r\n name: 'Triggers',\r\n lookupName: 'Triggers',\r\n to: '/Triggers',\r\n icon: 'cil-warning',\r\n items: [{\r\n name: 'LiveTrigger',\r\n lookupName: 'Live',\r\n to: '/triggers/Live',\r\n\r\n },\r\n {\r\n name: 'DueLiveTrigger',\r\n lookupName: 'Due Live',\r\n to: '/triggers/DueLive',\r\n\r\n },\r\n {\r\n name: 'ExpiredTrigger',\r\n lookupName: 'Expired',\r\n to: '/triggers/Expired',\r\n\r\n }]\r\n },\r\n \r\n {\r\n _name: 'CSidebarNavItem',\r\n name: 'Management',\r\n lookupName: 'Management',\r\n to: '/Management',\r\n icon: 'cil-chart-pie'\r\n },\r\n {\r\n _name: 'CSidebarNavDropdown',\r\n name: 'Administration',\r\n lookupName: 'Administration',\r\n route: '/administration',\r\n icon: 'cil-settings',\r\n items: [\r\n {\r\n name: 'Users & Permissions',\r\n lookupName: 'Users & Permissions',\r\n to: '/administration/users'\r\n },\r\n {\r\n name: 'Product Specifications',\r\n lookupName: 'Product Specifications',\r\n to: '/administration/products'\r\n },\r\n {\r\n name: 'General',\r\n lookupName: 'General',\r\n to: '/administration/general'\r\n },\r\n {\r\n name: 'Contract Management',\r\n lookupName: 'Contract Management',\r\n to: '/administration/contractManagement'\r\n },\r\n {\r\n name: 'Units',\r\n lookupName: 'Units',\r\n to: '/administration/Units'\r\n },\r\n \r\n ]\r\n },\r\n {\r\n _name: 'CSidebarNavItem',\r\n name: 'SecureVersion',\r\n lookupName: 'Secure version',\r\n to: '/secureVersion',\r\n icon: 'cil-folder'\r\n }\r\n ]\r\n }\r\n]","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('router-view'),_c('ejs-toast',{ref:\"toastRef\",attrs:{\"id\":\"globalToast\",\"position\":_vm.position}}),_c('div',{attrs:{\"id\":\"mainSpinner\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=58534b20\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=58534b20&prod&lang=scss\"\nimport style1 from \"./App.vue?vue&type=style&index=1&id=58534b20&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import {\r\n cibFacebook,\r\n cibTwitter,\r\n cibLinkedin,\r\n cibFlickr,\r\n cibTumblr,\r\n cibXing,\r\n cibGithub,\r\n cibStackOverflow,\r\n cibYoutube,\r\n cibDribbble,\r\n cibInstagram,\r\n cibPinterest,\r\n cibVk,\r\n cibYahoo,\r\n cibBehance,\r\n cibReddit,\r\n cibVimeo,\r\n cibCcMastercard,\r\n cibCcVisa,\r\n cibStripe,\r\n cibPaypal,\r\n cibGooglePay, \r\n cibCcAmex\r\n} from '@coreui/icons'\r\nimport {\r\n cifUs,\r\n cifBr,\r\n cifIn,\r\n cifFr,\r\n cifEs,\r\n cifPl\r\n} from '@coreui/icons'\r\nimport {\r\n cilArrowRight,\r\n cilBan,\r\n cilBarChart,\r\n cilBasket,\r\n cilBell,\r\n cilBolt,\r\n cilCalculator,\r\n cilCalendar,\r\n cilCaretBottom,\r\n cilCaretRight,\r\n cilCaretTop,\r\n cilCloudDownload,\r\n cilChartPie,\r\n cilChartLine,\r\n cilCheck,\r\n cilChevronBottom,\r\n cilChevronTop,\r\n cilCheckCircle,\r\n cilCommentSquare,\r\n cilCursor,\r\n cilDrop,\r\n cilDollar,\r\n cilEnvelopeClosed,\r\n cilEnvelopeOpen,\r\n cilEuro,\r\n cilGlobeAlt,\r\n cilGrid,\r\n cilFile,\r\n cilFire,\r\n cilFolder,\r\n cilHome,\r\n cilIndustry,\r\n cilJustifyCenter,\r\n cilLaptop,\r\n cilLayers,\r\n cilLightbulb,\r\n cilList,\r\n cilLocationPin,\r\n cilLockLocked,\r\n cilMagnifyingGlass,\r\n cilMoon,\r\n cilOptions,\r\n cilObjectGroup,\r\n cilPencil,\r\n cilPeople,\r\n cilPuzzle,\r\n cilSettings,\r\n cilShieldAlt,\r\n cilSpeech,\r\n cilSpeedometer,\r\n cilStar,\r\n cilTask,\r\n cilUser,\r\n cilUserFemale,\r\n cilUserFollow,\r\n cilWarning,\r\n cilXCircle\r\n} from '@coreui/icons'\r\nimport { logo } from '@/assets/icons/logo'\r\n\r\nexport const iconsSet = Object.assign(\r\n {},\r\n { logo },\r\n {\r\n cilArrowRight,\r\n cilBan,\r\n cilBarChart,\r\n cilBasket,\r\n cilBell,\r\n cilBolt,\r\n cilCalculator,\r\n cilCalendar,\r\n cilCaretBottom,\r\n cilCaretRight,\r\n cilCaretTop,\r\n cilCloudDownload,\r\n cilChartPie,\r\n cilChartLine,\r\n cilCheck,\r\n cilChevronBottom,\r\n cilChevronTop,\r\n cilCheckCircle,\r\n cilCommentSquare,\r\n cilCursor,\r\n cilDrop,\r\n cilDollar,\r\n cilEnvelopeClosed,\r\n cilEnvelopeOpen,\r\n cilEuro,\r\n cilFire,\r\n cilGlobeAlt,\r\n cilGrid,\r\n cilFile,\r\n cilFolder,\r\n cilHome,\r\n cilIndustry,\r\n cilJustifyCenter,\r\n cilLaptop,\r\n cilLayers,\r\n cilLightbulb,\r\n cilList,\r\n cilLocationPin,\r\n cilLockLocked,\r\n cilMagnifyingGlass,\r\n cilMoon,\r\n cilOptions,\r\n cilObjectGroup,\r\n cilPencil,\r\n cilPeople,\r\n cilPuzzle,\r\n cilSettings,\r\n cilShieldAlt,\r\n cilSpeech,\r\n cilSpeedometer,\r\n cilStar,\r\n cilTask,\r\n cilUser,\r\n cilUserFemale,\r\n cilUserFollow,\r\n cilWarning,\r\n cilXCircle,\r\n },\r\n {\r\n cifUs,\r\n cifBr,\r\n cifIn,\r\n cifFr,\r\n cifEs,\r\n cifPl\r\n },\r\n {\r\n cibFacebook,\r\n cibTwitter,\r\n cibLinkedin,\r\n cibFlickr,\r\n cibTumblr,\r\n cibXing,\r\n cibGithub,\r\n cibStackOverflow,\r\n cibYoutube,\r\n cibDribbble,\r\n cibInstagram,\r\n cibPinterest,\r\n cibVk,\r\n cibYahoo,\r\n cibBehance,\r\n cibReddit,\r\n cibVimeo,\r\n cibCcMastercard, \r\n cibCcVisa, \r\n cibStripe, \r\n cibPaypal, \r\n cibGooglePay,\r\n cibCcAmex\r\n }\r\n)\r\n","import 'core-js/stable';\r\nimport Vue from 'vue';\r\nimport App from './App';\r\nimport router from './router';\r\nimport CoreuiVue from '@coreui/vue';\r\nimport { iconsSet as icons } from './assets/icons/icons.js';\r\nimport store from './store';\r\nimport i18n from './i18n';\r\n\r\nVue.config.performance = true;\r\nVue.use(CoreuiVue);\r\nVue.prototype.$log = console.log.bind(console);\r\n\r\nnew Vue({\r\n el: '#app',\r\n router,\r\n store,\r\n icons,\r\n template: '',\r\n i18n,\r\n components: {\r\n App\r\n }\r\n})\r\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=58534b20&prod&lang=css\"","import axios from 'axios'\r\nimport urls from './urls'\r\nimport authToken from './authToken'\r\nimport logger from './logger'\r\nimport rules from './permissions'\r\nimport checkUIPermissions from './UIPermissions'\r\nimport tradeHelper from '@/common/tradeHelper';\r\n//import store from './store'\r\nimport * as Msal from \"@azure/msal-browser\"; // if using CDN, 'Msal' will be available in global scope\r\nimport store from '../store';\r\nimport router from '../router/index';\r\nimport gridOptions from \"./gridOptions\"\r\nimport Cookies from 'js-cookie'\r\nimport * as jwt_decode from 'jwt-decode';\r\nimport { DialogUtility } from '@syncfusion/ej2-popups';\r\n\r\nconst authInterceptor = (request) => {\r\n var token = authToken.get();\r\n if (!token.length) {\r\n //throw new axios.Cancel(\"User is not logged in...\");\r\n }\r\n request.headers['Authorization'] = `Bearer ${token}`;\r\n return request;\r\n};\r\n\r\nconst config = {\r\n auth: {\r\n clientId: urls.azureADClientId,\r\n authority: \"https://login.microsoftonline.com/\" + urls.azureADTenantId + \"/\",\r\n redirectUri: `${window.location.protocol}//${window.location.host}`, //defaults to application start page\r\n postLogoutRedirectUri: \"https://www.google.com/\",\r\n },\r\n};\r\n\r\nconst loginRequest = {\r\n scopes: [\"User.ReadWrite\"],\r\n};\r\n\r\nconst myMsal = new Msal.PublicClientApplication(config);\r\n\r\nconst protectedApi = axios.create({\r\n baseURL: urls.apiBaseUrl\r\n});\r\n\r\n//Added by Haris Date correction for json serialization\r\nfunction dateCorrection(request) {\r\n for (var key in request) {\r\n var value = request[key];\r\n\r\n if (Object.prototype.toString.call(value) === '[object Date]') {\r\n var date = tradeHelper.fixDateOffset(value);\r\n request[key] = date.toISOString();\r\n\r\n }\r\n if (Object.prototype.toString.call(value) === '[object Array]') {\r\n for (var i = 0; i < value.length; i++) {\r\n\r\n dateCorrection(value[i]);\r\n }\r\n\r\n }\r\n }\r\n}\r\n//Added by Haris Date correction for json serialization\r\nconst dateInterceptor = (request) => {\r\n if (request.data != undefined) {\r\n //This is only if request contains isDateFix true\r\n if (request.isDateFix != undefined && request.isDateFix == true) {\r\n dateCorrection(request.data);\r\n }\r\n\r\n }\r\n\r\n return request;\r\n\r\n};\r\n\r\nvar logout = function () {\r\n //process.env.NODE_ENV !== 'production' ? Cookies.remove('SsoToken', { domain: '.alfaenergygroup.org' }) : Cookies.remove('SsoToken', { domain: '.alfaenergygroup.com' });\r\n //authToken.set();\r\n //localStorage.clear();\r\n //window.location.replace(`${urls.ssoBaseUrl}home/logout`)\r\n\r\n // AZURE AD PART BELOW\r\n authToken.set();\r\n localStorage.clear();\r\n\r\n const currentAccounts = myMsal.getAllAccounts();\r\n\r\n const logoutRequest = {\r\n account: myMsal.getAccountByHomeId(currentAccounts[0].homeAccountId),// accountId\r\n };\r\n\r\n myMsal.logoutRedirect(logoutRequest)\r\n\r\n}\r\n\r\n//var navigateToLogin = function () {\r\n// window.location.replace(urls.getReturnUrl());\r\n//}\r\nlet triggeredMessage = false;\r\n//AZURE AD LOGIN FUNC\r\nvar navigateToLogin = function (redirectLocation) {\r\n\r\n //This clean all grids enable perstance from filters \r\n for (var i = 0; i < window.localStorage.length; i++) {\r\n if (window.localStorage.key(i).includes('gridgrid')) {\r\n window.localStorage.removeItem(window.localStorage.key(i));\r\n }\r\n \r\n }\r\n function NotifyUser() {\r\n if (!triggeredMessage) {\r\n setTimeout(function () {\r\n gridOptions.infoAlert(\r\n \"Disclaimer: All information provided to you via this platform is at all times subject to the terms and conditions of your agreement with Alfa Energy Limited, trading under the name Trio, and is provided 'as is' and 'as available'. Trio makes no representations or warranties of any kind, express or implied, as to the operation of this platform, or the information, content or materials included on this platform. You expressly agree that your use of this platform is at your sole risk.\");\r\n }, 1500);\r\n triggeredMessage = true;\r\n }\r\n\r\n let tokenDecoded = jwt_decode(authToken.get());\r\n let isFirstTrioLogin = tokenDecoded[\"trioFirstLogin\"] == \"true\" ? true : false;\r\n\r\n if (isFirstTrioLogin) {\r\n window.localStorage.setItem(\"firstTrioLogin\", \"true\");\r\n }\r\n\r\n let showTrioDialog = window.localStorage.getItem(\"firstTrioLogin\") == \"true\" ? true : false;\r\n if (showTrioDialog) {\r\n setTimeout(function () {\r\n DialogUtility.alert({\r\n content: \"
\" +\r\n \"

A new look

\" +\r\n \"
We have a new name and a new look! Edison Energy, Alfa Energy, and Altenex Energy recently rebranded to Trio.
\" +\r\n \"
Visit www.trioadvisory.com to learn more
\" +\r\n \"
\",\r\n animationSettings: { effect: 'Zoom' },\r\n theme: 'Bootstrap',\r\n showCloseIcon: true,\r\n zIndex: 1100,\r\n header: null,\r\n cssClass: \"trio-first-login\",\r\n\r\n });\r\n }, 2500);\r\n protectedApi.put(`user/updateUserFirstTrioLogin`)\r\n .then(response => {\r\n window.localStorage.setItem(\"firstTrioLogin\", \"false\");\r\n }).catch(e => {\r\n console.log(e);\r\n });\r\n \r\n\r\n }\r\n\r\n\r\n }\r\n function callApi(token) {\r\n unprotectedApi.post(\r\n \"auth\",\r\n {\r\n Token: token\r\n }\r\n ).then((r) => r.data).then((resp) => {\r\n authToken.set(resp.token || resp.Token);\r\n rules.getPermissions(resp.token || resp.Token);\r\n store.commit('setIsLoggedIn', true);\r\n checkUIPermissions();\r\n if (redirectLocation) {\r\n router.replace(\"/ssolanding\")\r\n }\r\n router.replace(\"/home\").then(() => {\r\n NotifyUser();\r\n });\r\n \r\n \r\n }).catch((err) => {\r\n //if not authenticated /passed auth verification let the user know\r\n if (err && err.response && err.response.data) {\r\n gridOptions.errorAlert(err.response.data.message);\r\n }\r\n else {\r\n console.log(err)\r\n logger.log(err);\r\n navigateToLogin(window.location.pathname);\r\n }\r\n });\r\n }\r\n function handleResponse(response) {\r\n if (response !== null) {\r\n var token = response.idToken;\r\n callApi(token);\r\n } else {\r\n // In case multiple accounts exist, you can select\r\n const currentAccounts = myMsal.getAllAccounts();\r\n\r\n if (currentAccounts.length === 0) {\r\n // no accounts signed-in, attempt to sign a user in\r\n myMsal.loginRedirect(loginRequest);\r\n } else if (currentAccounts.length > 1) {\r\n alert(\"multiple accounts\");\r\n myMsal.loginRedirect(loginRequest);\r\n } else if (currentAccounts.length === 1) {\r\n const loginRequest2 = {\r\n scopes: [\"User.ReadWrite\"],\r\n account: myMsal.getAccountByHomeId(currentAccounts[0].homeAccountId)\r\n };\r\n myMsal.acquireTokenSilent(loginRequest2)\r\n .then(response => {\r\n var token = response.idToken;\r\n callApi(token);\r\n })\r\n\r\n }\r\n }\r\n }\r\n\r\n myMsal.handleRedirectPromise().then(handleResponse).catch((err) => {\r\n console.log(err)\r\n logger.log(err);\r\n router.replace(\"/ssolanding\");\r\n });\r\n\r\n}\r\n\r\n//var navigateToResetLink = function (email, username) {\r\n// window.location.replace(urls.getResetUrl(email, username));\r\n//}\r\n//Timer for logout\r\n// Set the timeout threshold for the session countdown timer in milliseconds (e.g., 60 minutes)\r\nvar timeoutThreshold = 60 * 60 * 1000;\r\n\r\n// Start the session countdown timer\r\nvar countdownTimer = setTimeout(function () {\r\n // Redirect to the external URL when the countdown finishes\r\n logout();\r\n}, timeoutThreshold);\r\n\r\n// Reset the session countdown timer on each user activity or interaction\r\nfunction resetCountdownTimer() {\r\n // Clear the previous countdown timer\r\n clearTimeout(countdownTimer);\r\n // Start a new countdown timer\r\n countdownTimer = setTimeout(function () {\r\n // Redirect to the external URL when the countdown finishes\r\n logout();\r\n }, timeoutThreshold);\r\n}\r\ndocument.addEventListener(\"click\", resetCountdownTimer);\r\ndocument.addEventListener(\"keydown\", resetCountdownTimer);\r\ndocument.addEventListener(\"mousemove\", resetCountdownTimer);\r\n\r\nconst response401Interceptor = (error) => {\r\n if (401 === ((error || {}).response || {}).status) {\r\n //TODO: Refresh token\r\n //TODO: If refresh fails redirect to login\r\n //TODO: If refresh passes try the action again somehow...\r\n var token = authToken.get();\r\n if (!token.length) { // no token\r\n //navigate to login - no questions asked\r\n navigateToLogin(window.location.pathname);\r\n } else {\r\n // try to refresh the token\r\n unprotectedApi.put(\r\n \"/auth\",\r\n {\r\n Token: token\r\n }\r\n ).then((r) => r.data).then((resp) => {\r\n authToken.set(resp.token || resp.Token);\r\n rules.getPermissions(resp.token || resp.Token);\r\n checkUIPermissions();\r\n logger.log(\"refreshed\");\r\n }).catch((err) => {\r\n logger.log(err)\r\n //navigate to login - some questions asked\r\n navigateToLogin(window.location.pathname);\r\n });\r\n }\r\n } else {\r\n return Promise.reject(error);\r\n }\r\n};\r\n\r\n//Added by Haris Date correction for json serialization\r\nprotectedApi.interceptors.request.use(dateInterceptor);\r\nprotectedApi.interceptors.request.use(authInterceptor);\r\nprotectedApi.interceptors.response.use(response => response, response401Interceptor);\r\n\r\nconst unprotectedApi = axios.create({\r\n baseURL: urls.apiBaseUrl\r\n});\r\n\r\nunprotectedApi.interceptors.request.use(authInterceptor);\r\n\r\nconst ssoApi = axios.create({\r\n baseURL: urls.ssoBaseUrl\r\n});\r\n\r\nexport default {\r\n protectedApi,\r\n unprotectedApi,\r\n ssoApi,\r\n navigateToLogin,\r\n //navigateToResetLink,\r\n logout\r\n}\r\n\r\n","import Vue from 'vue';\r\nimport VueI18n from 'vue-i18n';\r\nimport { supportedLocalesInclude } from '@/util/i18n/supported-locales';\r\n\r\nVue.use(VueI18n);\r\n\r\nconst i18n = new VueI18n({\r\n locale: getActiveLocale(),\r\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || \"en\",\r\n messages: loadLocaleMessages()\r\n});\r\n\r\nexport function loadLocaleMessages() {\r\n const locales = require.context(\r\n \"./locales\",\r\n true,\r\n /[A-Za-z0-9-_,\\s]+\\.json$/i\r\n );\r\n const messages = {};\r\n locales.keys().forEach(key => {\r\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\r\n if (matched && matched.length > 1) {\r\n const locale = matched[1];\r\n messages[locale] = locales(key);\r\n }\r\n });\r\n return messages;\r\n}\r\n\r\nexport function getActiveLocale() {\r\n var locale = localStorage.getItem('locale');\r\n if (locale === null || locale === 'null' || locale.trim() === '' || !supportedLocalesInclude(locale)) {\r\n locale = process.env.VUE_APP_I18N_LOCALE || \"en\";\r\n }\r\n\r\n return locale;\r\n}\r\n\r\nexport default i18n;","const tradeHelper = {\r\n /**\r\n * Returns an array of monthly volumes related to a trade period\r\n * (ex.: for Q1-21, it will return Jan-21, Feb-21, and Mar-21.\r\n * For Win-21: Oct-21, Nov-21, Dec-21, Jan-22, Feb-22, and Mar-22\r\n * will be returned)\r\n * @param {any} tradePeriods - all the trade periods related to a contract/atg\r\n * @param {any} volumes - all the volumes related to a contract/atg\r\n * @param {any} periodId - Id of the trade period for which we want to get monthly volumes\r\n * @param {any} contractId - Id of the contract for which we want to get monthly volumes\r\n */\r\n getTradeablePeriodMonthlyVolumes: function (tradePeriods, volumes, periodId, contractId = null) {\r\n\r\n var self = this;\r\n self.vlms = volumes;\r\n let selectedPeriod = tradePeriods.filter(tp => { return tp.id === periodId })[0];\r\n\r\n let q1MonthPrefixes = ['Jan', 'Feb', 'Mar'];\r\n let q2MonthPrefixes = ['Apr', 'May', 'Jun'];\r\n let q3MonthPrefixes = ['Jul', 'Aug', 'Sep'];\r\n let q4MonthPrefixes = ['Oct', 'Nov', 'Dec'];\r\n let summerMonthPrefixes = ['Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep']\r\n let winterCurrentYearMonthPrefixes = ['Oct', 'Nov', 'Dec']\r\n let winterNextYearMonthPrefixes = ['Jan', 'Feb', 'Mar']\r\n let calMonthPrefixes = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n \r\n let yearLastTwoDigits = selectedPeriod.year.toString().slice(-2);\r\n let nextYearLastTwoDigits = (selectedPeriod.year + 1).toString().slice(-2);\r\n let periodName = selectedPeriod.name.substr(0, selectedPeriod.name.indexOf('-'));\r\n let monthlyVolumes = [];\r\n\r\n if (calMonthPrefixes.includes(periodName)) {\r\n monthlyVolumes = self.vlms.filter(v => {\r\n if (v.tradablePeriod) {\r\n return contractId ? v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-')) === periodName && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-')) === periodName && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n }\r\n return contractId ? v.name.substr(0, v.name.indexOf('-')) === periodName && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n v.name.substr(0, v.name.indexOf('-')) === periodName && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n });\r\n } else if (periodName === 'Q1') {\r\n monthlyVolumes = self.vlms.filter(v => {\r\n if (v.tradablePeriod) {\r\n return contractId ? q1MonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n q1MonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n }\r\n return contractId ? q1MonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n q1MonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n });\r\n } else if (periodName === 'Q2') {\r\n monthlyVolumes = self.vlms.filter(v => {\r\n if (v.tradablePeriod) {\r\n return contractId ? q2MonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n q2MonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n }\r\n return contractId ? q2MonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n q2MonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n });\r\n } else if (periodName === 'Q3') {\r\n monthlyVolumes = self.vlms.filter(v => {\r\n if (v.tradablePeriod) {\r\n return contractId ? q3MonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n q3MonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n }\r\n return contractId ? q3MonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n q3MonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n });\r\n } else if (periodName === 'Q4') {\r\n monthlyVolumes = self.vlms.filter(v => {\r\n if (v.tradablePeriod) {\r\n return contractId ? q4MonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n q4MonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n }\r\n return contractId ? q4MonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n q4MonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n });\r\n } else if (periodName.toLowerCase() === 'cal') {\r\n monthlyVolumes = self.vlms.filter(v => {\r\n if (v.tradablePeriod) {\r\n return contractId ? calMonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n calMonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n }\r\n return contractId ? calMonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n calMonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n });\r\n } else if (periodName === 'Sum') {\r\n monthlyVolumes = self.vlms.filter(v => {\r\n if (v.tradablePeriod) {\r\n return contractId ? summerMonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n summerMonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n }\r\n return contractId ? summerMonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits && v.contractId === contractId :\r\n summerMonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n });\r\n } else if (periodName === 'Win') {\r\n // Winter season starts on October of the current year and ends on the March of the next year\r\n let monthlyVolumesCurrYear = self.vlms.filter(v => {\r\n if (v.tradablePeriod) {\r\n return contractId ? winterCurrentYearMonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits & v.contractId === contractId :\r\n winterCurrentYearMonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n }\r\n return contractId ? winterCurrentYearMonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits & v.contractId === contractId :\r\n winterCurrentYearMonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === yearLastTwoDigits;\r\n });\r\n let monthlyVolumesNextYear = self.vlms.filter(v => {\r\n if (v.tradablePeriod) {\r\n return contractId ? winterNextYearMonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === nextYearLastTwoDigits && v.contractId === contractId :\r\n winterNextYearMonthPrefixes.includes(v.tradablePeriod.substr(0, v.tradablePeriod.indexOf('-'))) && v.year.toString().slice(-2) === nextYearLastTwoDigits;\r\n }\r\n return contractId ? winterNextYearMonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === nextYearLastTwoDigits && v.contractId === contractId :\r\n winterNextYearMonthPrefixes.includes(v.name.substr(0, v.name.indexOf('-'))) && v.year.toString().slice(-2) === nextYearLastTwoDigits;\r\n });\r\n\r\n monthlyVolumes = monthlyVolumesCurrYear.concat(monthlyVolumesNextYear);\r\n }\r\n\r\n for (var mv of monthlyVolumes) {\r\n let sDate = this.fixDateOffset(this.getStartDateByTradePeriodSpanIdAndYear(mv.periodSpanId, mv.year));\r\n mv.startDate = sDate;\r\n\r\n let eDate = this.fixDateOffset(this.getEndDateByTradePeriodSpanIdAndYear(mv.periodSpanId, mv.year));\r\n mv.endDate = eDate;\r\n\r\n let tPeriod = tradePeriods.filter(tp => { return tp.name === mv.tradablePeriod });\r\n if (contractId) {\r\n tPeriod = tPeriod.filter(tp => tp.contractId === contractId);\r\n }\r\n\r\n if (tPeriod.length > 0) {\r\n mv.contractTradeablePeriodId = tPeriod[0].id;\r\n }\r\n }\r\n\r\n if (contractId) {\r\n monthlyVolumes = monthlyVolumes.filter(mv => mv.contractId === contractId);\r\n }\r\n\r\n return monthlyVolumes;\r\n },\r\n /**\r\n * \"Temporary\" solution to date offsets. The permanent solution should be to\r\n * store the dates in UTC format together with timezones, and then display the\r\n * appropriate dates on client-side based on client location. No server-side\r\n * modifications should be made, and on client-side - change should be applied\r\n * only on read operation. This should be applied as a system-wide approach.\r\n * @param {any} date\r\n */\r\n fixDateOffset: function (date) {\r\n \r\n if (Object.prototype.toString.call(date) !== '[object Date]') {\r\n date = new Date(date);\r\n }\r\n const returnDate = new Date(date.getTime());\r\n returnDate.setHours(returnDate.getHours() - (returnDate.getTimezoneOffset() / 60));\r\n return returnDate;\r\n },\r\n /**\r\n * Calucalates the percentage of a partial value when compared to the to the total value\r\n *\r\n * @param partialValue\r\n * @param totalValue\r\n */\r\n calculatePercentageFromValue: function (partialValue, totalValue) {\r\n return (100 * partialValue) / totalValue;\r\n },\r\n /**\r\n * Calucalates the value of a parcentage for a given total value\r\n *\r\n * @param totalValue\r\n * @param percentage\r\n */\r\n calculateValueFromPercentage: function (totalValue, percentage) {\r\n return (totalValue * percentage) / 100;\r\n },\r\n /**\r\n * Returns the start date as a Date object\r\n * @param tradePeriodSpanId\r\n * @param year\r\n */\r\n getStartDateByTradePeriodSpanIdAndYear: function (tradePeriodSpanId, year) {\r\n // Months (January to December) have Ids 1 to 12 respectively.\r\n // Javascript references the dates starting with 0 (to 11 respectively)\r\n // Cal trade period have no spanIds, so their value will be set to 0 \r\n // which correctly sets the Cal start date to January 1st\r\n let month = null;\r\n switch (tradePeriodSpanId) {\r\n case 13: // Q1\r\n // January\r\n month = 0;\r\n break;\r\n case 14: // Q2\r\n // April\r\n month = 3;\r\n break;\r\n case 15: // Q3\r\n // July \r\n month = 6;\r\n break;\r\n case 16: // Q4\r\n // October\r\n month = 9;\r\n break;\r\n case 17: // Summer season (starts April 1st, ends Oct 31 same year)\r\n // May\r\n month = 3;\r\n break;\r\n case 18: // Winter season (starts October 1st, ends March 30 next year)\r\n // October\r\n month = 9\r\n break;\r\n case null: // calendar year\r\n // jan\r\n month = 0\r\n break;\r\n default:\r\n month = tradePeriodSpanId === 0 ? tradePeriodSpanId : tradePeriodSpanId - 1;\r\n break;\r\n }\r\n return this.fixDateOffset(new Date(year, month, 1));\r\n },\r\n /**\r\n * Returns the end date as a Date object\r\n * @param tradePeriodSpanId\r\n * @param year\r\n */\r\n getEndDateByTradePeriodSpanIdAndYear: function (tradePeriodSpanId, year) {\r\n // Months (January to December) have Ids 1 to 12 respectively.\r\n // Javascript references the dates starting with 0 (to 11 respectively).\r\n // Javascript dates range from 1 to 31. Passing 0 to the constructor will\r\n // create the last date of the previous month.\r\n // Cal trade period have no spanIds, so their year value will be increased by 1,\r\n // which will correctly set the Cal end date to December 31st\r\n let month = null;\r\n switch (tradePeriodSpanId) {\r\n case 13: // Q1\r\n // April (passing 0 to the constructor will create the last date of the previous month\r\n // i.e. March 31)\r\n month = 3;\r\n break;\r\n case 14: // Q2\r\n // July (passing 0 to the constructor will create the last date of the previous month\r\n // i.e. June 30)\r\n month = 6;\r\n break;\r\n case 15: // Q3\r\n // October (passing 0 to the constructor will create the last date of the previous month\r\n // i.e. September 30)\r\n month = 9;\r\n break;\r\n case 16: // Q4\r\n // January (passing 0 to the constructor will create the last date of the previous month\r\n // i.e. December 31 of previous year)\r\n month = 0;\r\n year = year + 1;\r\n break;\r\n case 17: // Summer season (starts April 1st, ends Sept 31 same year)\r\n // November (passing 0 to the constructor will create the last date of the previous month\r\n // i.e. September 31)\r\n month = 9;\r\n break;\r\n case 18: // Winter season (starts Nov 1st, ends Apr 30 next year)\r\n // May (passing 0 to the constructor will create the last date of the previous month\r\n // i.e. April 30, but it should also be the next year (year + 1))\r\n month = 3\r\n year = year + 1;\r\n break;\r\n case null: // calendar year\r\n // decembar\r\n month = 12\r\n break;\r\n default:\r\n month = tradePeriodSpanId;\r\n break;\r\n }\r\n return tradePeriodSpanId === 0 ? this.fixDateOffset(new Date(year + 1, tradePeriodSpanId, 0)) : this.fixDateOffset(new Date(year, month, 0));\r\n },\r\n dateDiff: function (first, second) {\r\n // Take the difference between the dates and divide by milliseconds per day.\r\n // Round to nearest whole number to deal with DST.\r\n return Math.round((second - first) / (1000 * 60 * 60 * 24)) + 1;\r\n },\r\n}\r\n\r\nexport default tradeHelper;","import nav from '@/containers/_nav';\r\n\r\nlet checkUIPermissions = function checkSidebarNavPermissions() {\r\n var navProps = Object.assign([], nav);\r\n var permissions = JSON.parse(localStorage.getItem('permissions'));\r\n var isUserLoggedIn = localStorage.getItem('apiToken') ? true : false\r\n\r\n if (!permissions)\r\n return;\r\n\r\n if (navProps.length > 0) {\r\n var navbarItems = [];\r\n\r\n navProps[0]._children.forEach(function (navItem) {\r\n\r\n if (navItem.name === \"Home\" && isUserLoggedIn) {\r\n navbarItems.push(navItem);\r\n }\r\n if (navItem.name === \"Portfolio\" && isUserLoggedIn) {\r\n navbarItems.push(navItem);\r\n\r\n if (navItem.items) {\r\n var navbarChildItems = [];\r\n\r\n navItem.items.forEach(function (navItem) {\r\n if (navItem.name === \"MyPortfolio\") { //No exact permission for this one\r\n navbarChildItems.push(navItem);\r\n }\r\n if (navItem.name === \"MyClients\" && permissions[\"Permissions.Client.View\"]) {\r\n navbarChildItems.push(navItem);\r\n }\r\n if (navItem.name === \"MyTrades\" && permissions[\"Permissions.Trades.View\"]) {\r\n navbarChildItems.push(navItem);\r\n }\r\n if (navItem.name === \"MyTriggers\" && permissions[\"Permissions.Triggers.View\"]) {\r\n navbarChildItems.push(navItem);\r\n }\r\n if (navItem.name === \"MyAlerts\" && permissions[\"Permissions.Alerts.View\"]) {\r\n navbarChildItems.push(navItem);\r\n }\r\n });\r\n navItem.items = navbarChildItems;\r\n }\r\n }\r\n if (navItem.name === \"Alerts\" && permissions[\"Permissions.Alerts.View\"]) {\r\n navbarItems.push(navItem);\r\n }\r\n if (navItem.name === \"Clients\" && permissions[\"Permissions.Client.View\"]) {\r\n navbarItems.push(navItem);\r\n }\r\n if (navItem.name === \"Companies\" && permissions[\"Permissions.Client.View\"]) {\r\n navbarItems.push(navItem);\r\n }\r\n if (navItem.name === \"Contracts\" && permissions[\"Permissions.Contract.View\"]) {\r\n navbarItems.push(navItem);\r\n }\r\n if (navItem.name === \"Trading Groups\" && permissions[\"Permissions.TradingGroup.View\"]) {\r\n navbarItems.push(navItem);\r\n }\r\n if (navItem.name === \"Trades\" && permissions[\"Permissions.Trades.View\"]) {\r\n navbarItems.push(navItem);\r\n }\r\n if (navItem.name === \"Reports\" && permissions[\"Permissions.Reports.View\"]) {\r\n let childItems = [];\r\n navItem.items.forEach(function (item) {\r\n if (item.name == \"AdminReports\") {\r\n if (permissions[\"Permissions.AdminReports.View\"]) {\r\n childItems.push(item);\r\n }\r\n }\r\n else { childItems.push(item); }\r\n });\r\n navItem.items = childItems;\r\n if (childItems.length > 0) {\r\n navbarItems.push(navItem);\r\n }\r\n }\r\n if (navItem.name === \"Triggers\" && permissions[\"Permissions.Triggers.View\"]) {\r\n navbarItems.push(navItem);\r\n }\r\n if (navItem.name === \"Markets\" && (permissions[\"Permissions.LatestSettlement.View\"])) {\r\n navbarItems.push(navItem);\r\n }\r\n if (navItem.name === \"SecureVersion\") {\r\n navbarItems.push(navItem);\r\n }\r\n if (navItem.name === \"Administration\" && isUserLoggedIn) {\r\n let childItems = [];\r\n navItem.items.forEach(function (item) {\r\n if (item.name == \"Users & Permissions\" &&\r\n (permissions[\"Permissions.Users.View\"])) {\r\n childItems.push(item);\r\n\r\n } else if (item.name == \"Product Specifications\" &&\r\n (permissions[\"Permissions.Product.View\"] ||\r\n permissions[\"Permissions.TradePeriod.View\"] ||\r\n permissions[\"Permissions.SpotExchanges.View\"] ||\r\n permissions[\"Permissions.FutureExchanges.View\"] ||\r\n permissions[\"Permissions.Ric.View\"] ||\r\n permissions[\"Permissions.RicOtherInstruments.View\"] ||\r\n permissions[\"Permissions.CurrencyConversion.View\"] ||\r\n permissions[\"Permissions.MarketShape.View\"])) {\r\n childItems.push(item);\r\n\r\n } else if (item.name == \"General\" &&\r\n (permissions[\"Permissions.Currencies.View\"] ||\r\n permissions[\"Permissions.State.View\"] ||\r\n permissions[\"Permissions.Suppliers.View\"] ||\r\n permissions[\"Permissions.DefaultMechanisms.View\"] ||\r\n permissions[\"Permissions.ReferenceTypes.View\"] ||\r\n permissions[\"Permissions.Sectors.View\"] ||\r\n permissions[\"Permissions.StrategyTypes.View\"])) {\r\n childItems.push(item);\r\n\r\n } else if (item.name == \"Contract Management\" &&\r\n (permissions[\"Permissions.Offices.View\"] ||\r\n permissions[\"Permissions.ClientCoordinator.View\"] ||\r\n permissions[\"Permissions.Consultants.View\"] ||\r\n permissions[\"Permissions.RiskManager.View\"])) {\r\n childItems.push(item);\r\n } else if (item.name == \"Units\" &&\r\n (permissions[\"Permissions.Offices.View\"] ||\r\n permissions[\"Permissions.TradingUnits.View\"] ||\r\n permissions[\"Permissions.VolumeUnits.View\"])) {\r\n childItems.push(item);\r\n }\r\n })\r\n navItem.items = childItems;\r\n if (childItems.length > 0) {\r\n navbarItems.push(navItem);\r\n }\r\n }\r\n });\r\n navProps[0]._children = navbarItems;\r\n }\r\n}\r\n\r\nexport default checkUIPermissions;","const urls = {\r\n\r\n //TODO: Persist these urls to env files and load from there\r\n //apiBaseUrl: 'https://rmbackend.azurewebsites.net/api/',\r\n //apiBaseUrl: 'https://alfaenergyriskmanagement.azurewebsites.net/api/',//azure\r\n apiBaseUrl: process.env.NODE_ENV !== 'production' ? 'http://localhost:44327/api/': '#{environment_api_url}#',//changed with replace tokens on release pipeline\r\n //ssoBaseUrl: process.env.NODE_ENV !== 'production' ? 'https://ssodev.alfaenergygroup.org/' : '#{environment_sso_url}#',//changed with replace tokens on release pipeline\r\n resolveBaseUrl: process.env.NODE_ENV !== 'production' ? 'https://cpdemo.alfaenergygroup.org' : '#{environment_resolve_url}#',//changed with replace tokens on release pipeline\r\n helpDeskUrl: process.env.NODE_ENV !== 'production' ? 'https://ithelpdesk.alfaenergygroup.org' : '#{environment_helpDesk_url}#',//changed with replace tokens on release pipeline\r\n tocBaseUrl: process.env.NODE_ENV !== 'production' ? 'https://tocdev.alfaenergygroup.org' : '#{environment_toc_url}#',//changed with replace tokens on release pipeline\r\n assureBaseUrl: process.env.NODE_ENV !== 'production' ? 'https://assuredev.alfaenergygroup.org' : '#{environment_assure_url}#',//changed with replace tokens on release pipeline\r\n azureADClientId: process.env.NODE_ENV !== 'production' ? 'f28e0708-0adc-4b59-8fa5-d6e6bcf8227b' : '#{environment_AdClientId}#',\r\n azureADTenantId: process.env.NODE_ENV !== 'production' ? '86d8d78a-accb-4fda-8b30-7db7bd370d8b' : '#{environment_AdTenantId}#',\r\n\r\n\r\n getReturnUrl: () => {\r\n //let fragment;\r\n //if (window.location.pathname === \"/ssolanding\")\r\n // fragment = \"/home\";\r\n //else\r\n // fragment = window.location.pathname;\r\n\r\n //var path = `${fragment}${window.location.search}`;\r\n //var retUrl = `${window.location.protocol}//${window.location.host}/ssolanding?url=${encodeURIComponent(path)}`;\r\n //var url = `${urls.ssoBaseUrl}?redirect=${encodeURIComponent(retUrl)}`;\r\n //return url;\r\n // AZURE AD\r\n var retUrl = `${window.location.protocol}//${window.location.host}/ssolanding`;\r\n return retUrl;\r\n },\r\n //getResetUrl: (email, username) => {\r\n // var path = `${window.location.pathname}${window.location.search}`;\r\n // var retUrl = `${window.location.protocol}//${window.location.host}/ssolanding?url=${encodeURIComponent(path)}`;\r\n // var url = `${urls.ssoBaseUrl}Home/ChangePassword?email=${email}&username=${username}&returnUrl=${encodeURIComponent(retUrl)}`;\r\n // return url;\r\n //}\r\n}\r\nexport default urls;\r\n","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\n// Containers\r\nconst TheContainer = () => import('@/containers/TheContainer')\r\n// Views\r\nconst Home = () => import('@/views/Home')\r\n// Views - Components\r\nconst UsersMain = () => import('@/views/administration/UsersMain')\r\nconst ProductSpecificationMain = () => import('@/views/administration/ProductSpecificationMain')\r\nconst GeneralMain = () => import('@/views/administration/GeneralMain')\r\nconst UnitsMain = () => import('@/views/administration/UnitsMain')\r\nconst ContractManagementMain = () => import('@/views/administration/ContractManagementMain')\r\nconst GroupPermission = () => import('@/views/administration/users/GroupPermission')\r\nconst Portfolio = () => import('@/views/Portfolio')\r\nconst Alerts = () => import('@/views/Alerts')\r\nconst Clients = () => import('@/views/Clients')\r\nconst Companies = () => import('@/views/Companies')\r\nconst Contracts = () => import('@/views/Contracts')\r\nconst TradingGroups = () => import('@/views/TradingGroups')\r\nconst TradingForm = () => import('@/views/templates/TradingGroup')\r\nconst Trades = () => import('@/views/Trades')\r\nconst Triggers = () => import('@/views/Triggers')\r\nconst Reports = () => import('@/views/Reports/Reports')\r\nconst AvailableReports = () => import('@/views/Reports/AvailableReports')\r\nconst AdminReports = () => import('@/views/Reports/AdminReports')\r\nconst ReportTemplateBuilder = () => import('@/views/Reports/ReportTemplateBuilder')\r\nconst Markets = () => import('@/views/Markets')\r\nconst Management = () => import('@/views/Management')\r\nconst SsoLanding = () => import('@/views/SsoLanding')\r\nconst Profile = () => import('@/views/users/Profile')\r\nconst ContractType = () => import('@/views/administration/ContractType')\r\nconst ClientsForm = () => import('@/views/templates/ClientsForm')\r\nconst ClientReportTabs = () => import('@/views/clients/ClientReportTabs')\r\nconst ATGReportTabs = () => import('@/views/templates/ATGReports/ATGReportTabs')\r\nconst CompanyForm = () => import('@/views/templates/CompanyForm')\r\nconst TradeForm = () => import('@/views/templates/TradeForm')\r\nconst ContractForm = () => import('@/views/contracts/ContractMain')\r\nconst ContractReportTabs = () => import('@/views/contracts/ContractReportTabs')\r\nconst ExpiredTrigger = () => import('@/views/triggers/ExpiredTrigger')\r\nconst DueLiveTrigger = () => import('@/views/triggers/DueLiveTrigger')\r\nconst ActiveTrigger = () => import('@/views/triggers/ActiveTrigger')\r\nconst StatusAlert = () => import('@/views/triggerAlerts/StatusAlert')\r\nconst TriggerHitAlert = () => import('@/views/triggerAlerts/TriggerHitAlert')\r\nconst DeadlineAlert = () => import('@/views/triggerAlerts/DeadlineAlert')\r\nconst MyClients = () => import('@/views/portfolio/Clients')\r\nconst PDFViewer = () => import('@/views/helperTemplates/PdfComponent')\r\nconst SecureVersion = () => import('@/views/SecureVersion')\r\n\r\nVue.use(Router)\r\n\r\nexport default new Router({\r\n mode: 'history', // no hash in url - works better with outside redirections\r\n linkActiveClass: 'active',\r\n scrollBehavior: () => ({ y: 0 }),\r\n routes: configRoutes()\r\n})\r\n\r\nfunction configRoutes() {\r\n return [\r\n {\r\n path: '/ssolanding',\r\n component: SsoLanding\r\n },\r\n {\r\n path: '/',\r\n redirect: '/ssolanding',\r\n name: '',\r\n component: TheContainer,\r\n children: [\r\n {\r\n path: 'home',\r\n name: 'Home',\r\n component: Home\r\n },\r\n {\r\n path: 'secureVersion',\r\n name: 'SecureVersion',\r\n component: SecureVersion\r\n },\r\n {\r\n path: 'portfolio',\r\n name: 'Portfolio',\r\n component: Portfolio\r\n },\r\n {\r\n path: 'portfolio',\r\n redirect: '/portfolio',\r\n name: 'Portfolio',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [\r\n {\r\n path: 'portfolio',\r\n name: 'MyPortfolio',\r\n component: Portfolio\r\n },\r\n {\r\n path: 'clients',\r\n name: 'MyClients',\r\n component: MyClients\r\n },\r\n {\r\n path: 'trades',\r\n name: 'MyTrades',\r\n component: Trades\r\n },\r\n {\r\n path: 'triggers',\r\n name: 'MyTriggers',\r\n component: Triggers\r\n },\r\n {\r\n path: 'alerts',\r\n name: 'MyAlerts',\r\n component: Alerts\r\n }\r\n ],\r\n },\r\n //{\r\n // path: 'alerts',\r\n // name: 'Alerts',\r\n // component: Alerts\r\n //},\r\n {\r\n path: 'alerts',\r\n redirect: '/alerts/triggerHitAlert',\r\n name: 'Alerts',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [{\r\n path: 'statusAlert',\r\n name: 'Trigger Status',\r\n component: StatusAlert\r\n },\r\n {\r\n path: 'triggerHitAlert',\r\n name: 'Hit Triggers',\r\n component: TriggerHitAlert\r\n },\r\n {\r\n path: 'deadlineAlert',\r\n name: 'Default Deadlines',\r\n component: DeadlineAlert\r\n }],\r\n },\r\n {\r\n path: 'clients',\r\n name: 'Clients',\r\n component: Clients,\r\n },\r\n {\r\n path: 'clients',\r\n name: 'Clients',\r\n component: Clients,\r\n },\r\n {\r\n path: 'pdfViewer/:fileName?',\r\n name: 'PDFViewer',\r\n component: PDFViewer,\r\n },\r\n {\r\n path: 'clients',\r\n name: 'Clients',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [{\r\n path: 'clientedit/:clientId?',\r\n name: 'Client',\r\n component: ClientsForm\r\n },\r\n {\r\n path: 'reports/:clientId?',\r\n name: 'ClientReports',\r\n component: ClientReportTabs\r\n }]\r\n },\r\n {\r\n path: 'companies',\r\n name: 'Companies',\r\n component: Companies\r\n },\r\n {\r\n path: 'companies',\r\n name: 'Companies',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [{\r\n path: 'companyedit/:clientId?',\r\n name: 'Company',\r\n component: CompanyForm\r\n }]\r\n },\r\n {\r\n path: 'contracts/:utilityType?',\r\n name: 'Contracts',\r\n component: Contracts\r\n },\r\n {\r\n path: 'contracts',\r\n name: 'Contracts',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [{\r\n path: 'contractedit/:contractId?',\r\n name: 'Contract',\r\n component: ContractForm\r\n },\r\n {\r\n path: 'reportsUI/:contractId?',\r\n name: 'Reports UI',\r\n component: ContractReportTabs\r\n }]\r\n },\r\n {\r\n path: 'tradingGroups',\r\n name: 'TradingGroups',\r\n component: TradingGroups\r\n },\r\n {\r\n path: 'tradingGroups',\r\n name: 'TradingGroups',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [{\r\n path: 'tradinggroupedit/:tradingGroupId?',\r\n name: 'TradingGroup',\r\n component: TradingForm\r\n },\r\n {\r\n path: 'reports/:tradingGroupId?',\r\n name: 'ATGReports',\r\n component: ATGReportTabs\r\n }]\r\n },\r\n {\r\n path: 'trades',\r\n name: 'Trades',\r\n component: Trades\r\n },\r\n {\r\n path: 'trades',\r\n name: 'Trades',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [{\r\n path: 'tradeedit/:tradeId?',\r\n name: 'Trade',\r\n component: TradeForm\r\n }]\r\n },\r\n {\r\n path: 'reports',\r\n name: 'Reports',\r\n component: Reports\r\n },\r\n {\r\n path: 'reports',\r\n name: 'Reports',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [{\r\n path: 'reports',\r\n name: 'Report Templates',\r\n component: Reports\r\n },\r\n {\r\n path: 'reportTemplateBuilder',\r\n name: 'Report Template Builder',\r\n component: ReportTemplateBuilder\r\n },\r\n {\r\n path: 'availableReports',\r\n name: 'Available Reports',\r\n component: AvailableReports\r\n },\r\n {\r\n path: 'adminReports',\r\n name: 'Admin Reports',\r\n component: AdminReports\r\n }\r\n ]\r\n },\r\n {\r\n path: 'triggers',\r\n name: 'Triggers',\r\n component: Triggers\r\n },\r\n {\r\n path: 'triggers',\r\n redirect: '/home',\r\n name: 'Triggers',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [{\r\n path: 'expired',\r\n name: 'Expired',\r\n component: ExpiredTrigger\r\n },\r\n {\r\n path: 'dueLive',\r\n name: 'Due Live',\r\n component: DueLiveTrigger\r\n },\r\n {\r\n path: 'Live',\r\n name: 'Live',\r\n component: ActiveTrigger\r\n }]\r\n },\r\n {\r\n path: 'markets',\r\n name: 'Markets',\r\n component: Markets\r\n },\r\n {\r\n path: 'management',\r\n name: 'Management',\r\n component: Management\r\n },\r\n {\r\n path: 'users',\r\n redirect: '/home',\r\n name: 'Users',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [\r\n {\r\n path: 'profile',\r\n name: 'Profile',\r\n component: Profile\r\n }\r\n ]\r\n\r\n },\r\n {\r\n path: 'administration',\r\n redirect: '/home',\r\n name: 'Administration',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [\r\n {\r\n path: 'users',\r\n name: 'Users & Permissions',\r\n component: UsersMain\r\n },\r\n {\r\n path: 'products',\r\n name: 'Product Specifications',\r\n component: ProductSpecificationMain\r\n },\r\n {\r\n path: 'general',\r\n name: 'General',\r\n component: GeneralMain\r\n },\r\n {\r\n path: 'contractManagement',\r\n name: 'Contract Management',\r\n component: ContractManagementMain\r\n },\r\n {\r\n path: 'units',\r\n name: 'Units',\r\n component: UnitsMain\r\n },\r\n {\r\n path: 'users',\r\n name: 'Users & Permissions',\r\n component: {\r\n render(c) { return c('router-view') }\r\n },\r\n children: [{\r\n path: 'groupPermission/:groupId',\r\n name: 'Group Permission',\r\n component: GroupPermission\r\n }]\r\n },\r\n {\r\n path: 'contractType',\r\n name: 'contractType',\r\n component: ContractType\r\n },\r\n\r\n\r\n ]\r\n },\r\n\r\n ]\r\n }\r\n ]\r\n}\r\n\r\n","const logger = {\r\n //TODO: Disable log for production builds\r\n log: (tag, messageObj) => {\r\n if (console && console.log && typeof (console.log) === \"function\") {\r\n console.log(tag, messageObj);\r\n }\r\n }\r\n}\r\n\r\nexport default logger;","export default {\r\n en: \"English\",\r\n es: \"Spanish\"\r\n}","import supportedLocales from \"@/config/supported-locales\"\r\n\r\nexport function getSupportedLocales() {\r\n let annotatedLocales = []\r\n for (const code of Object.keys(supportedLocales)) {\r\n annotatedLocales.push({\r\n code,\r\n name: supportedLocales[code]\r\n })\r\n }\r\n return annotatedLocales\r\n}\r\n\r\nexport function supportedLocalesInclude(locale) {\r\n return Object.keys(supportedLocales).includes(locale)\r\n}","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport nav from '@/containers/_nav'\r\n\r\nVue.use(Vuex);\r\n\r\nconst state = {\r\n sidebarShow: 'responsive',\r\n sidebarMinimize: false,\r\n permissions: JSON.parse(localStorage.getItem('permissions') || '{}'),\r\n isLoggedIn: localStorage.getItem('apiToken') ? true : false,\r\n loggedInUserId: localStorage.getItem('loggedInUserId') || '',\r\n loggedInUserEmail: localStorage.getItem('loggedInUserEmail') || '',\r\n avatarUrl: localStorage.getItem('avatarUrl') || '',\r\n contractSelectedUtility: null,\r\n navBarItems: nav || [],\r\n selectedContractId: null,\r\n contractProducts: null,\r\n isContractSellback: false,\r\n contractVolumeUnit: \"\",\r\n contractTradeUnit: \"\",\r\n contractVolumeUnitName: \"\",\r\n contractTradeUnitName: \"\", \r\n whatIfUtilityTypeId: null,\r\n whatIfProducts: null,\r\n whatIfTradeablePeriods: null,\r\n whatIfPriceUnit: null,\r\n whatIfTradingSymbol: null,\r\n whatIfLockedVolumeUnit: null,\r\n whatIfTradeCurrency: null,\r\n whatIfRoute: null,\r\n wahtIfObject: null,\r\n reportContractId: null,\r\n reportClientId: null,\r\n reportTradingGroupId: null,\r\n contractMarketUnit: \"\",\r\n contractMarketUnitName: \"\",\r\n contractHasActiveTrades: false,\r\n isContractExpired: false,\r\n isGroupUserTabLast: false,\r\n isCheckDefaultM:false,\r\n isClientDefaultM: !!JSON.parse(localStorage.getItem('defaultMech')) || false,\r\n homeVolumeData: {},\r\n homePowerRates: [],\r\n homeGasRates: [],\r\n whatIfCollection: [],\r\n homeRegionMap: [],\r\n pricingAreaNames: null,\r\n hasPriceAreas: false\r\n}\r\n\r\nconst mutations = {\r\n toggleSidebarDesktop(state) {\r\n const sidebarOpened = [true, 'responsive'].includes(state.sidebarShow)\r\n state.sidebarShow = sidebarOpened ? false : 'responsive'\r\n },\r\n toggleSidebarMobile(state) {\r\n const sidebarClosed = [false, 'responsive'].includes(state.sidebarShow)\r\n state.sidebarShow = sidebarClosed ? true : 'responsive'\r\n },\r\n set(state, [variable, value]) {\r\n state[variable] = value\r\n },\r\n setPermissions(state, permissions) {\r\n state.permissions = permissions\r\n },\r\n setIsLoggedIn(state, value) {\r\n state.isLoggedIn = value\r\n },\r\n setLoggedInUserId(state, value) {\r\n state.loggedInUserId = value\r\n },\r\n setLoggedInUserEmail(state, value) {\r\n state.loggedInUserEmail = value\r\n },\r\n setAvatarUrl(state, value) {\r\n state.avatarUrl = value\r\n },\r\n setNavBarItems(state, value) {\r\n state.navrBarItems = value\r\n },\r\n setCurrentContractId(state, value) {\r\n state.selectedContractId = value;\r\n },\r\n setContractProducts(state, value) {\r\n state.contractProducts = value;\r\n },\r\n setIsContractSellback(state, value) {\r\n state.isContractSellback = value;\r\n },\r\n setContractVolumeUnit(state, value) {\r\n state.contractVolumeUnit = value;\r\n },\r\n setContractTradeUnit(state, value) {\r\n state.contractTradeUnit = value;\r\n },\r\n setContractVolumeUnitName(state, value) {\r\n state.contractVolumeUnitName = value;\r\n },\r\n setContractTradeUnitName(state, value) {\r\n state.contractTradeUnitName = value;\r\n }, \r\n setWhatIfUtilityTypeId(state, value) {\r\n state.whatIfUtilityTypeId = value;\r\n },\r\n setWhatIfProducts(state, value) {\r\n state.whatIfProducts = value;\r\n },\r\n setWhatIfTradeablePeriods(state, value) {\r\n state.whatIfTradeablePeriods = value;\r\n },\r\n setWhatIfPriceUnit(state, value) {\r\n state.whatIfPriceUnit = value;\r\n },\r\n setWhatIfTradingSymbol(state, value) {\r\n state.whatIfTradingSymbol = value;\r\n },\r\n setWhatIfLockedVolumeUnit(state, value) {\r\n state.whatIfLockedVolumeUnit = value;\r\n },\r\n setWhatIfTradeCurrency(state, value) {\r\n state.whatIfTradeCurrency = value;\r\n },\r\n setContractSelectedUtility(state, value) {\r\n state.contractSelectedUtility = value;\r\n },\r\n setWhatIfRoute(state, value) {\r\n state.whatIfRoute = value;\r\n },\r\n setWhatIfObject(state, value) {\r\n state.whatIfObject = value;\r\n },\r\n setReportsContractId(state, value) {\r\n state.reportContractId = value;\r\n },\r\n setReportsClientId(state, value) {\r\n state.reportClientId = value;\r\n },\r\n setReportsTradingGroupId(state, value) {\r\n state.reportTradingGroupId = value;\r\n },\r\n setContractMarketUnit(state, value) {\r\n state.contractMarketUnit = value;\r\n },\r\n setContractMarketUnitName(state, value) {\r\n state.contractMarketUnitName = value;\r\n },\r\n setContractHasActiveTrades(state, value) {\r\n state.contractHasActiveTrades = value;\r\n },\r\n setIsContractExpired(state, value) {\r\n state.isContractExpired = value;\r\n },\r\n setGroupUserTabLast(state, value) {\r\n state.isGroupUserTabLast = value;\r\n },\r\n setCheckDefaultM(state, value) {\r\n state.isCheckDefaultM = value;\r\n },\r\n setClientCheckDefaultM(state, value) {\r\n state.isClientDefaultM = value;\r\n },\r\n setHomeVolumeData(state, value) {\r\n state.homeVolumeData = value;\r\n },\r\n setHomePowerRates(state, value) {\r\n state.homePowerRates = value;\r\n },\r\n setHomeGasRates(state, value) {\r\n state.homeGasRates = value;\r\n },\r\n setWhatIfCollectionObject(state, value) {\r\n state.whatIfCollection = value;\r\n },\r\n setTradingGroupsIds(state, value) {\r\n state.tradingGroupsIds = value;\r\n },\r\n setHomeRegionMap(state, value) {\r\n state.homeRegionMap = value;\r\n },\r\n setLastDay(state, value) {\r\n state.lastDay = value;\r\n },\r\n setPriceAreaNames(state, value) {\r\n state.pricingAreaNames = value;\r\n },\r\n setHasPriceAreas(state, value) {\r\n state.hasPriceAreas = value;\r\n },\r\n}\r\n\r\nconst getters = {\r\n permissions: state => state.permissions,\r\n isLoggedIn: state => state.isLoggedIn,\r\n loggedInUserId: state => state.loggedInUserId,\r\n loggedInUserEmail: state => state.loggedInUserEmail,\r\n avatarUrl: state => state.avatarUrl,\r\n navBarItems: state => state.navBarItems,\r\n selectedContractId: state => state.selectedContractId,\r\n contractProducts: state => state.contractProducts,\r\n isContractSellback: state => state.isContractSellback,\r\n contractVolumeUnit: state => state.contractVolumeUnit,\r\n contractTradeUnit: state => state.contractTradeUnit,\r\n contractVolumeUnitName: state => state.contractVolumeUnitName,\r\n contractTradeUnitName: state => state.contractTradeUnitName, \r\n whatIfUtilityTypeId: state => state.whatIfUtilityTypeId,\r\n whatIfProducts: state => state.whatIfProducts,\r\n whatIfTradeablePeriods: state => state.whatIfTradeablePeriods,\r\n whatIfPriceUnit: state => state.whatIfPriceUnit,\r\n whatIfTradingSymbol: state => state.whatIfTradingSymbol,\r\n whatIfLockedVolumeUnit: state => state.whatIfLockedVolumeUnit,\r\n whatIfTradeCurrency: state => state.whatIfTradeCurrency,\r\n contractSelectedUtility: state => state.contractSelectedUtility,\r\n whatIfRoute: state => state.whatIfRoute,\r\n whatIfObject: state => state.whatIfObject,\r\n reportContractId: state => state.reportContractId,\r\n reportClientId: state => state.reportClientId,\r\n reportTradingGroupId: state => state.reportTradingGroupId,\r\n contractMarketUnit: state => state.contractMarketUnit,\r\n contractMarketUnitName: state => state.contractMarketUnitName,\r\n contractHasActiveTrades: state => state.contractHasActiveTrades,\r\n isContractExpired: state => state.isContractExpired,\r\n isCheckDefaultM: state => state.isCheckDefaultM,\r\n isClientDefaultM: state => state.isClientDefaultM,\r\n homeVolumeData: state => state.homeVolumeData,\r\n homeRegionMap: state => state.homeRegionMap,\r\n homePowerRates: state => state.homePowerRates,\r\n gasPowerRates: state => state.gasPowerRates,\r\n whatIfCollection: state => state.whatIfCollection,\r\n tradingGroupsIds: state => state.tradingGroupsIds,\r\n lastDay: state => state.lastDay,\r\n pricingAreaNames: state => state.pricingAreaNames,\r\n hasPriceAreas: state => state.hasPriceAreas\r\n}\r\n\r\nexport default new Vuex.Store({\r\n state,\r\n mutations,\r\n getters\r\n});","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=58534b20&prod&lang=scss\""],"sourceRoot":""}