{"version":3,"sources":["portfolio.min.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","_typeof","obj","Symbol","iterator","constructor","prototype","_createForOfIteratorHelper","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","F","s","done","value","_e","TypeError","err","normalCompletion","didErr","step","next","_e2","minLen","_arrayLikeToArray","Object","toString","slice","name","from","test","arr","len","arr2","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","AISContest","settings","this","helper","AISHelper","contestId","aisContestId","aisRoot","startTime","Date","startTimeUtc","endTime","endTimeUtc","winnerCount","pageSize","myRank","cbfProfileId","clientProfileId","myPosition","tableSortParam","sortParam","sortOrder","maximumDrawdown","newAccountRequiredContest","isFinalContest","qualifiersTable","page","myThis","$","document","on","removeClass","keyCode","prev","val","focus","VerifyPhoneNumber","select","$this","selector","dir","hasClass","addClass","data","pagination","currentTime","seconds","LoadMyLoginCredential","InitializeContestEndTimer","html","window","contestStrings","days","parseInt","toLocaleString","timeStr","replace","hours","minimumIntegerDigits","minutes","concat","pwdStr","setTimeout","InitializeContestStartTimer","urls","InitContestPageInfo","InitRankingTable","InitQualifiersTable","joinModalPayload","InitializePhoneInputField","modal","phoneNumber","mid","displayPhoneNumber","substring","login","password","instagram","tiktok","facebook","OpenSocialMediaLinksDialog","location","reload","VerificationLoading","ajax","url","type","cache","success","status","show","hide","complete","phoneInput","destroy","phoneInputField","querySelector","intlTelInput","initialCountry","InitialCountryCode","autoHideDialCode","utilsScript","channel","number","message","error","isValidNumber","getNumber","OpenVerifyCodeDialog","rebateAccountId","CallContestBrokerAPI","OpenSuccessDialog","OpenCreationQueuedDialog","toastr","inputs","load","APIHelper","SafeServiceAPICall","_res$myRank","autoSuggestions","mdb_autocomplete","_error","console","log","query","link","dataSource","locator","pageRange","beforeSend","jqXHR","afterRender","append","clone","totalNumberLocator","response","TotalCount","callback","toLowerCase","header","langSlug","CURRENT_LANG","_step","_iterator","element","cls","row","ClientProfileId","ClientProfileName","CountryCode","AISAccountId","ContestId","ContestName","InitializeScrollTable","InitializeCountryCodeTooltip","ajaxFunction","_response$myPosition","totalCount","_step2","_iterator2","rank","peakDrawdown","manualDisqualified","cbfClientName","country","aisAccountId","hasStats","_element$excludedTrad","ToDecimal","equity","openProfit","ToPercent","profit","deposits","peak","peakTime","valley","valleyTime","ToShortDateTime","ToIntNumber","calculatedTrades","excludedTrades","excludedByLimit","excludedByMinTradeDuration","InitializeRankingTableTooltips","Tabs","LoadTab","order","elem","animate","scrollTop","offset","top","contestBrokerAPIEnabled","ContestBrokerAPI","GetCorrectedHtml","linkLiveAccountModalPayload","newHtml","contestBrokerName","contestBrokerJurisidiction","accountNumber","id","NewAccountLoginLoading","submitNewLiveAccountUrl","brokerId","contestSponsorBrokerId","async","OpenNewAccountSuccessDialog","OpenNewAccountPendingDialog","OpenNewAccountFailDialog","_default","2","hasStyle","strWhenZero","parseFloat","isNaN","localeCode","CURRENT_CULTURE","includes","DEFAULT_CULTURE","str","style","maximumFractionDigits","currency","minimumFractionDigits","digits","t1","t2","span","timezone","date","yearType","getFullYear","toLocaleDateString","weekday","year","month","day","timeZone","hour","minute","lastUpdated","hasError","desc","getTime","GetDuraction","Math","abs","toFixed","each","ele","_window$contestString","_window$contestString2","tooltip","boundary","popover","displayNames","Intl","DisplayNames","countryCode","of","currencyCode","langCode","regionCode","3","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","AISPerformances","performancesQuery","PerformancesLink","search","UpdateFormByQuery","PerformanceFormStateUpdated","InitialzePerformancesTableSort","LoadMorePerformances","scroll","NeedLoadMorePerformances","targetPage","Url","pageNumber","items","_res$items$i","_res$items$i4","cbfClientId","clientName","_res$items$i2","_res$items$i3","profitPercent","monthlyProfitPercent","broker","hasNext","currentPage","remove","silience","searchForm","filterForm","serializeArray","v","splitOne","lastIndexOf","splitTwo","indexOf","string","currentEntry","newEntry","history","pushState","ReloadPerformancesTable","params","URLSearchParams","param","selectpicker","$elem","elementPos","viewportTop","viewportBottom","height","tradingPlatform","brokerServers","brokers","filter","x","platformType","uniqueBrokers","Set","map","item","sort","thSorts","querySelectorAll","addEventListener","OnPerformancesTableSortUpdated","matches","4","AISPortfolio","aisDataRoot","urlParam","get","portfolioId","portfolioInfo","currentRiskFactor","currencyRates","totalsCurrency","ProfileStatisticsLink","ProfilePeriodStatisticsLink","ProfileGrowthChartLink","ProfileStatsHubLink","AddStatsHubLink","PortfoliosLink","profileConnection","signalR","HubConnectionBuilder","withUrl","SignalRUrl","configureLogging","LogLevel","Warning","withAutomaticReconnect","build","start","cbfId","state","InitializePage","addMt4Connection","accountId","portfolioStrings","OpenEditMt4AccontDialog","ApplyRiskFactor","infiniteselect","types","option","text","placeholder","showDescription","culture","btnClass","getElementById","targetCurrency","UpdateAllValuesByRiskFactorAndCurrency","InitProfilePortfolio","InitProfileGrowthChartSection","InitPorfilePeriods","DrawProfileGrowthChart","options","chart","series","xaxis","stroke","width","curve","markers","size","yaxis","forceNiceScale","labels","formatter","growthChart","updateOptions","ApexCharts","render","textStatus","xhr","PopulateBasicInfo","PopulateAccountStatsSummary","InitPorfilePeriodsStatsSection","css","PopulatePeriodsStatsSummary","riskFactor","isPortfolio","portfolioName","publicName","owner","isPublic","breadcrumb","defaultTotalCurrency","default","table","showTotal","totalSummary","realTotalSummary","demoTotalSummary","accountCurrency","withdrawals","balance","drawDown","monthlyProfit","accountStatsSummaries","realAccountStatSummaries","demoAccountStatSummaries","portfolios","forEach","ToStatus","_stat$today","_stat$today2","_stat$today$gainTWR","_stat$today3","_stat$today4","_stat$today$gainTWR2","_stat$today5","_stat$today6","_stat$today7","_stat$today8","_stat$today9","_stat$today10","_stat$today11","_stat$today12","_stat$thisWeek","_stat$thisWeek2","_stat$thisWeek$gainTW","_stat$thisWeek3","_stat$thisWeek4","_stat$thisWeek$gainTW2","_stat$thisWeek5","_stat$thisWeek6","_stat$thisWeek7","_stat$thisWeek8","_stat$thisWeek9","_stat$thisWeek10","_stat$thisWeek11","_stat$thisWeek12","_stat$thisMonth","_stat$thisMonth2","_stat$thisMonth$gainT","_stat$thisMonth3","_stat$thisMonth4","_stat$thisMonth$gainT2","_stat$thisMonth5","_stat$thisMonth6","_stat$thisMonth7","_stat$thisMonth8","_stat$thisMonth9","_stat$thisMonth10","_stat$thisMonth11","_stat$thisMonth12","_stat$thisYear","_stat$thisYear2","_stat$thisYear$gainTW","_stat$thisYear3","_stat$thisYear4","_stat$thisYear$gainTW2","_stat$thisYear5","_stat$thisYear6","_stat$thisYear7","_stat$thisYear8","_stat$thisYear9","_stat$thisYear10","_stat$thisYear11","_stat$thisYear12","stat","today","gain","gainTWR","winPercentage","trades","lots","thisWeek","thisMonth","thisYear","_stat$yearlyStats","yearlyStats","getUTCFullYear","gainPercent","gainPercentTWR","winTradeCount","tradeCount","prop","showBalance","GetDataFromPortfolioSettingForm","JSON","stringify","contentType","dataType","pathname","endsWith","newUrl","substr","replaceState","path","currencies","index","add","promises","promise","CalculatorHelper","GetExchangeRateAsync","then","rate","push","Promise","all","newValue","format","zeroStr","5","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","apply","_objectSpread","arguments","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_AISHelper","__esModule","AISStatistics","statistics","equityChartZoomed","StatisticsLink","StatsHub","ProfitChartLink","EquityChartLink","EquityDetailChartLink","OpenProfitChartLink","OpenProfitPercentChartLink","ProfileDrawdownChartLink","ProfileBalanceChartLink","ProfileMonthlyChartLink","ProfileAdvancedSummaryChartLink","ProfileAdvancedPeriodChartLink","ProfileAdvancedDurationChartLink","ProfileAdvancedMAEMFEChartLink","ProfileTradingActivityOpenTradesLink","ProfileTradingActivityOpenOrdersLink","ProfileTradingActivityHistoryLink","ProfileTradingActivityExcludedLink","ProfileTradingActivityExposureLink","ProfileMonthlyAnalyticsLink","ProfileMonthlyAnalyticsDetailLink","customUrls","UpdateCustomOptionsLink","usingUrls","currentChart","defaultChart","apexCharts","tradingActivitySortParam","accountInfo","customOptions","timeOffset","chartOptionHtmls","advanced-hourly","statsStrings","monthly-profit","monthly-profit-twr","closed-monthly-profit-twr","closed-monthly-profit","drawdown","advanced-maemfe","profit-percent","closed-profit","open-profit","open-profit-percent","profit-percent-twr","closed-profit-percent-twr","ajaxNum","customAnalysisLoaded","DrawSummaryChart","UpdateSummaryChart","tr","closest","symbol","split","DrawAdvancedStatSummaryChart","DrawMonthlyAnalyticsChart","checked","_myThis$statistics","_myThis$statistics2","PopulateTradingPeriods","balanceBasicStats","_myThis$statistics3","_myThis$statistics4","equityBasicStats","leftOffset","scrollLeft","GetAccessTokenAsync","addHook","is","parents","toggle","attr","ChangeCustomAnalysisOptionContent","parent","currentDate","setDate","getDate","startDate","tradeStartDate","datetimepicker","getMonth","stDate","enDate","num","charAt","setMonth","setFullYear","container","has","customDeposit","statsConnection","aisId","weekdays","analyzeBy","find","tradeTypes","d","join","getHours","getMinutes","prepend","spinInitialTop","innerWidth","screen","ShowLoadingSpin","GetCustomOptions","IsInitialCustomOptions","ResetAnalysis","_this$accountInfo","DateToString","method","reset","click","periodRequest","ApplyCustomAnalysis","statusText","tradeEndDate","customStDate","customEnDate","customSymbolLen","refresh","InitializeStatsWidget","InitAccountSummary","InitializeTradingActivityTable","href","trigger","_myThis$accountInfo","parse","flag","cDate","tradeType","traditional","_res$statistics","_res$statistics2","_res$statistics3","_res$statistics4","_res$statistics5","_res$statistics6","_res$statistics7","_res$statistics8","_advancedStat","HideLoadingSpin","_res$accountInfo","SetPartialAccountHistory","hasIncompleteData","profitPercentTWR","monthlyProfitTWR","closedProfitPercentTWR","closedProfitPercent","InitializePermission","PopualteAccountSummary","PullAdditionalAccountInfo","basicStat","advancedStat","_res$statistics9","_res$statistics10","equityAdvancedStats","_myThis$statistics5","_myThis$statistics6","_myThis$statistics7","_myThis$statistics8","PopulateAdvancedTradesStats","PopulateAdvancedSummaryStats","summary","_myThis$accountInfo2","InitializeSummaryChartOptions","duration","requestData","clientId","cbfClientProfileId","brokerName","brokerServerName","isContestAccountStatistics","_data$contestStatisti","contestStatistics","_data$accountInfo","_data$accountInfo2","_data$accountInfo3","_data$statistics2","_data$statistics3","_data$statistics4","_data$accountInfo4","accountInfoHtml","_data$statistics","popoverHtml","accountType","BrokerLink","ToShortDate","added","ContestStarted","accountLeverage","CurrencyName","_data$statistics5","useGrouping","_data$statistics6","_data$statistics7","withdrawls","_this$accountInfo2","_this$accountInfo3","_this$accountInfo4","showVolume","_data$accountInfo5","_data$accountInfo6","_data$statistics$mont","_data$statistics24","_data$statistics25","_data$statistics$mont2","_data$statistics26","_data$statistics27","_data$statistics$clos","_data$statistics28","_data$statistics29","_stat","_data$accountInfo8","profitType","_data$statistics8","_data$statistics9","cbfClientPublicName","accountName","comment","_data$accountInfo7","shorten","showChars","ellipsesText","moreText","lessText","_data$contestStatisti2","_data$contestStatisti3","_data$contestStatisti4","_data$contestStatisti5","_data$contestStatisti6","_data$statistics10","_data$contestStatisti7","_data$statistics11","_data$statistics12","_data$statistics13","_data$contestStatisti8","openProfitPercent","closedProfit","maxAllowedDD","_data$contestStatisti9","_data$statistics14","_data$statistics15","_data$statistics16","_data$statistics17","_data$statistics18","_data$statistics19","_data$statistics20","_data$statistics21","_data$statistics22","_data$statistics23","accountEquity","accountBalance","accountProfit","closedMonthlyProfitTWR","closedMonthlyProfit","isVerified","_stat$today$gain","_stat$thisWeek$gain","_stat$thisMonth$gain","_stat$thisYear$gain","yearlyStatsHtml","_yearlyStats$i$gainPe","stats","_stats$closedMonthlyP","ToTimeSpan","_data$i","_data$i2","_data$i3","_data$i4","_data$i5","_data$i6","_data$i7","_data$i8","_data$i9","_data$i10","_data$i11","_data$i12","_data$i13","_data$i14","_data$i15","_data$i16","_data$i17","_data$i18","longTrades","longPips","longProfits","shortTrades","shortPips","shortProfits","totalTrades","totalPips","totalProfits","winTrades","lossTrades","probabilityOfLoss","consecutiveLossingTrades","hover","$el","children","chartType","xaxisType","foreColor","background","toolbar","zoom","enabled","colors","theme","mode","dataLabels","categories","axisTicks","grid","borderColor","strokeDashArray","lines","opacity","column","fill","gradient","shadeIntensity","opacityFrom","opacityTo","stops","tickAmount","datetimeUTC","twr","containerId","chartParams","customParams","sendParams","GetDefaultChartOption","ToChartMoney","events","beforeZoom","DrawProfileEquityChart","beforeResetZoom","period","updateDetail","UnitType","years","event","chartContext","config","dataPointIndex","DrawMonthlyAnalyticsDetailCharts","rewardChart","stacked","plotOptions","bar","horizontal","innerHTML","currenciesOptions","currenciesPopularityChart","holidingTimeOptions","averageHoldingTimeChart","y","dataSourceLink","formatAjaxError","errorThrown","closePriceLabel","curDate","ToLongDate","openTime","closeTime","ToDigitsDecimal","openPrice","closePrice","stopLoss","takeProfit","pips","swap","commission","matchMedia","DrawProfileProfitChart","DrawProfileOpenProfitChart","DrawProfileBalanceChart","DrawProfileOpenProfitPercentChart","DrawProfileDrawdownChart","DrawProfileMonthlyChart","DrawAdvancedPeriodChart","DrawAdvancedDurationChart","DrawAdvancedMAEMFEChart","removeAttr","display","./AISHelper","6","_interopRequireDefault","_AISStatistics","_AISPortfolio","_AISContest","_AISPerformances","fn","extend","off","content","h","jQuery","../../includes/AISContest.js","../../includes/AISHelper.js","../../includes/AISPerformances.js","../../includes/AISPortfolio.js","../../includes/AISStatistics.js"],"mappings":"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","file":"../portfolio.min.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar AISContest = /*#__PURE__*/function () {\n function AISContest(settings) {\n _classCallCheck(this, AISContest);\n this.helper = new AISHelper();\n this.contestId = settings.contestId;\n this.aisContestId = settings.aisContestId;\n this.aisRoot = settings.aisRoot;\n this.startTime = new Date(settings.startTimeUtc);\n this.endTime = new Date(settings.endTimeUtc);\n this.winnerCount = settings.winnerCount;\n this.pageSize = 100;\n this.myRank = -1;\n this.cbfProfileId = settings.clientProfileId;\n this.myPosition = -1;\n this.tableSortParam = {\n sortParam: \"rank\",\n sortOrder: \"asce\"\n };\n this.maximumDrawdown = settings.maximumDrawdown;\n this.newAccountRequiredContest = settings.newAccountRequiredContest;\n this.isFinalContest = settings.isFinalContest;\n this.qualifiersTable = {\n pageSize: 100,\n page: 1,\n tableSortParam: {\n sortParam: \"user\",\n sortOrder: \"asce\"\n }\n };\n }\n _createClass(AISContest, [{\n key: \"SetMaximumDrawdown\",\n value: function SetMaximumDrawdown(maximumDrawdown) {\n this.maximumDrawdown = maximumDrawdown;\n }\n }, {\n key: \"InitializeEventTriggers\",\n value: function InitializeEventTriggers() {\n var myThis = this;\n $(document).on('keyup', '.phone-number-input', function () {\n $(\".phone-number-input-box\").removeClass(\"has-error\");\n });\n $(document).on('keyup', '.verification-code-group input', function (e) {\n if (e.keyCode === 8) {\n $(this).prev('input').val('');\n $(this).prev('input').focus();\n }\n });\n $(document).on('input', '.verification-code-group input', function (e) {\n if (e.keyCode != 8) {\n $(this).next('input').focus();\n $(\"#verification-code-message\").removeClass(\"has-error\");\n if ($(this).next('input').length == 0) {\n myThis.VerifyPhoneNumber();\n }\n }\n });\n $(document).on('focus', '.verification-code-group input', function (e) {\n $(this).select();\n });\n $(document).on('click', '#contest-ranking-table-container th.sort[data-sort-param]', function (e) {\n var $this = $(this);\n var selector = \"#contest-ranking-table-container\";\n var dir = \"asce\";\n if ($this.hasClass(\"asce\")) dir = \"desc\";else dir = \"asce\";\n $(selector + \" td.sort[data-sort-param]\").removeClass(\"asce\");\n $(selector + \" td.sort[data-sort-param]\").removeClass(\"desc\");\n $this.addClass(dir);\n myThis.tableSortParam = {\n sortParam: $this.data(\"sort-param\"),\n sortOrder: dir\n };\n $(selector).pagination($(selector).pagination('getSelectedPageNum'));\n });\n $(document).on('click', '#qualifiers-table-container th.sort[data-sort-param]', function (e) {\n var $this = $(this);\n var selector = \"#qualifiers-table-container\";\n var dir = \"asce\";\n if ($this.hasClass(\"asce\")) dir = \"desc\";else dir = \"asce\";\n $(selector + \" td.sort[data-sort-param]\").removeClass(\"asce\");\n $(selector + \" td.sort[data-sort-param]\").removeClass(\"desc\");\n $this.addClass(dir);\n myThis.qualifiersTable.tableSortParam = {\n sortParam: $this.data(\"sort-param\"),\n sortOrder: dir\n };\n $(selector).pagination($(selector).pagination('getSelectedPageNum'));\n });\n }\n }, {\n key: \"InitializeContestStartTimer\",\n value: function InitializeContestStartTimer() {\n var myThis = this;\n var currentTime = new Date();\n var seconds = (myThis.startTime - currentTime) / 1000;\n if (seconds <= 0) {\n myThis.LoadMyLoginCredential();\n myThis.InitializeContestEndTimer();\n } else {\n $('[data-elem=\"contest-start-timer-text\"]').html(window.contestStrings[\"ThisContestStartsIn\"] + \":\");\n var days = parseInt(seconds / 86400).toLocaleString(\"en\");\n var timeStr = \"\";\n if (seconds >= 86400) {\n // days\n timeStr += window.contestStrings['_0Days'].replace(\"{0}\", parseInt(seconds / 86400)) + \" \";\n seconds %= 86400;\n }\n var hours = parseInt(seconds / 3600).toLocaleString(\"en\", {\n minimumIntegerDigits: 2\n });\n seconds %= 3600;\n var minutes = parseInt(seconds / 60).toLocaleString(\"en\", {\n minimumIntegerDigits: 2\n });\n seconds %= 60;\n seconds = parseInt(seconds).toLocaleString(\"en\", {\n minimumIntegerDigits: 2\n });\n timeStr += \"\".concat(hours, \":\").concat(minutes, \":\").concat(seconds);\n var pwdStr = window.contestStrings[\"PasswordShowsAtContestStart0\"].replace(\"{0}\", timeStr);\n $(\".contest-timer-item[data-elem=day] span:first-child\").html(days);\n $(\".contest-timer-item[data-elem=hour] span:first-child\").html(hours);\n $(\".contest-timer-item[data-elem=minute] span:first-child\").html(minutes);\n $(\".contest-timer-item[data-elem=second] span:first-child\").html(seconds);\n $(\"[data-id=login-password]\").html(pwdStr);\n setTimeout(function () {\n myThis.InitializeContestStartTimer();\n }, 1000);\n }\n }\n }, {\n key: \"InitializeContestEndTimer\",\n value: function InitializeContestEndTimer() {\n var myThis = this;\n var currentTime = new Date();\n var seconds = (myThis.endTime - currentTime) / 1000;\n if (seconds <= 0) {\n $('[data-elem=\"contest-start-timer-text\"]').html(window.contestStrings['ThisContestIsEnded']);\n } else {\n $('[data-elem=\"contest-start-timer-text\"]').html(window.contestStrings[\"ThisContestEndsIn\"] + \":\");\n var days = parseInt(seconds / 86400).toLocaleString(\"en\");\n seconds %= 86400;\n var hours = parseInt(seconds / 3600).toLocaleString(\"en\", {\n minimumIntegerDigits: 2\n });\n seconds %= 3600;\n var minutes = parseInt(seconds / 60).toLocaleString(\"en\", {\n minimumIntegerDigits: 2\n });\n seconds %= 60;\n seconds = parseInt(seconds).toLocaleString(\"en\", {\n minimumIntegerDigits: 2\n });\n $(\".contest-timer-item[data-elem=day] span:first-child\").html(days);\n $(\".contest-timer-item[data-elem=hour] span:first-child\").html(hours);\n $(\".contest-timer-item[data-elem=minute] span:first-child\").html(minutes);\n $(\".contest-timer-item[data-elem=second] span:first-child\").html(seconds);\n setTimeout(function () {\n myThis.InitializeContestEndTimer();\n }, 1000);\n }\n }\n }, {\n key: \"Url\",\n value: function Url(key) {\n return this.aisRoot + (this.urls || {})[key];\n }\n }, {\n key: \"InitializePage\",\n value: function InitializePage() {\n var myThis = this;\n myThis.InitContestPageInfo();\n myThis.InitRankingTable();\n myThis.InitQualifiersTable();\n myThis.InitializeContestStartTimer();\n }\n }, {\n key: \"OpenContestJoinDialog\",\n value: function OpenContestJoinDialog() {\n var myThis = this;\n $(\"#join-modal-payload\").html(window.joinModalPayload['phone-verification']);\n myThis.InitializePhoneInputField();\n $(\"#contest-join-dialog\").modal('show');\n }\n }, {\n key: \"OpenVerifyCodeDialog\",\n value: function OpenVerifyCodeDialog(phoneNumber) {\n var myThis = this;\n $(\"#join-modal-payload\").html(window.joinModalPayload['verify-code']);\n $(\"#phone-number\").val(phoneNumber);\n var mid = '';\n for (var i = 0; i < phoneNumber.length - 4; i++) {\n mid += '*';\n }\n var displayPhoneNumber = phoneNumber.substring(0, 2) + mid + phoneNumber.substring(phoneNumber.length - 2, phoneNumber.length);\n $(\"#code-sent-info\").html(window.contestStrings['WeSentConfirmation6SymbolsCodeToTheNumber0'].replace(\"{0}\", displayPhoneNumber));\n $(\"#contest-join-dialog\").modal('show');\n }\n }, {\n key: \"OpenSuccessDialog\",\n value: function OpenSuccessDialog(login, password, instagram, tiktok, facebook) {\n var myThis = this;\n $(\"#join-modal-payload\").html(window.joinModalPayload['success']);\n $(\"#join-modal-payload [data-id=login-number]\").html(login);\n $(\"#join-modal-payload [data-id=login-password]\").html(password);\n $(\"#contest-join-dialog\").modal('show');\n $('#contest-join-dialog').on('hidden.bs.modal', function () {\n myThis.OpenSocialMediaLinksDialog(instagram, tiktok, facebook);\n });\n }\n }, {\n key: \"OpenCreationQueuedDialog\",\n value: function OpenCreationQueuedDialog() {\n var myThis = this;\n $(\"#join-modal-payload\").html(window.joinModalPayload['queued']);\n $(\"#contest-join-dialog\").modal('show');\n $('#contest-join-dialog').on('hidden.bs.modal', function () {\n window.location.reload();\n });\n }\n }, {\n key: \"OpenSocialMediaLinksDialog\",\n value: function OpenSocialMediaLinksDialog(instagram, tiktok, facebook) {\n $(\"#join-modal-payload\").html(window.joinModalPayload['social-media-links']);\n $('#join-modal-payload input[name=\"social-instagram\"]').val(instagram);\n $('#join-modal-payload input[name=\"social-tiktok\"]').val(tiktok);\n $('#join-modal-payload input[name=\"social-facebook\"]').val(facebook);\n $(\"#contest-join-dialog\").modal('show');\n $('#contest-join-dialog').on('hidden.bs.modal', function () {\n window.location.reload();\n });\n }\n }, {\n key: \"OpenMyLoginCredentialDialog\",\n value: function OpenMyLoginCredentialDialog() {\n var myThis = this;\n $(\"#join-modal-payload\").html(window.joinModalPayload['my-login-credential']);\n $(\"#contest-join-dialog\").modal('show');\n myThis.LoadMyLoginCredential();\n }\n }, {\n key: \"LoadMyLoginCredential\",\n value: function LoadMyLoginCredential() {\n var myThis = this;\n myThis.VerificationLoading(true);\n $.ajax({\n url: '/contests/' + myThis.contestId + '/my-login-credential',\n type: 'POST',\n cache: false,\n success: function success(res) {\n if (res.status != \"error\") {\n if (res.status === \"queued\") {\n $(\"#join-modal-payload [data-id=queued-message]\").show();\n } else {\n $(\"#join-modal-payload [data-id=queued-message]\").hide();\n }\n $(\"#join-modal-payload [data-id=login-number]\").html(res.login);\n $(\"#join-modal-payload [data-id=login-password]\").html(res.password);\n $('#join-modal-payload input[name=\"social-instagram\"]').val(res.instagram);\n $('#join-modal-payload input[name=\"social-tiktok\"]').val(res.tiktok);\n $('#join-modal-payload input[name=\"social-facebook\"]').val(res.facebook);\n }\n },\n complete: function complete() {\n myThis.VerificationLoading(false);\n }\n });\n }\n }, {\n key: \"InitializePhoneInputField\",\n value: function InitializePhoneInputField() {\n var myThis = this;\n if (!!myThis.phoneInput) {\n myThis.phoneInput.destroy();\n myThis.phoneInput = null;\n }\n myThis.phoneInputField = document.querySelector(\"#phone-input\");\n myThis.phoneInput = window.intlTelInput(myThis.phoneInputField, {\n initialCountry: window.InitialCountryCode,\n autoHideDialCode: false,\n utilsScript: \"https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/21.2.4/js/utils.js\"\n });\n }\n }, {\n key: \"ResendVerificationCode\",\n value: function ResendVerificationCode(channel) {\n var myThis = this;\n var number = $(\"#phone-number\").val();\n myThis.VerificationLoading(true);\n $.ajax({\n url: '/contests/' + myThis.contestId + '/send-verification-code',\n data: {\n phoneNumber: number,\n channel: channel\n },\n type: 'POST',\n cache: false,\n success: function success(res) {\n if (res.status == \"pending\") {\n $(\"#verification-code-message\").removeClass(\"has-error\");\n } else if (res.status == \"twilio-error\") {\n $(\"#verification-code-message\").addClass(\"has-error\");\n $(\"#verification-code-message span.validation-message\").html(res.message);\n } else {\n $(\"#verification-code-message\").addClass(\"has-error\");\n $(\"#verification-code-message span.validation-message\").html(window.contestStrings['FailedToResendVerificationCode']);\n }\n },\n error: function error() {\n $(\"#verification-code-message\").addClass(\"has-error\");\n $(\"#verification-code-message span.validation-message\").html(window.contestStrings['FailedToResendVerificationCode']);\n },\n complete: function complete() {\n myThis.VerificationLoading(false);\n }\n });\n }\n }, {\n key: \"SendVerificationCode\",\n value: function SendVerificationCode() {\n var myThis = this;\n if (!myThis.phoneInput || !myThis.phoneInput.isValidNumber()) {\n $(\".phone-number-input-box\").addClass('has-error');\n $(\".phone-number-input-box .validation-message\").html(window.contestStrings['TheMobileNumberYouEnteredIsInvalid']);\n return;\n }\n var number = myThis.phoneInput.getNumber();\n myThis.VerificationLoading(true);\n $.ajax({\n url: '/contests/' + myThis.contestId + '/send-verification-code',\n data: {\n phoneNumber: number,\n channel: 'sms'\n },\n type: 'POST',\n cache: false,\n success: function success(res) {\n if (res.status == \"pending\") {\n myThis.OpenVerifyCodeDialog(number);\n } else if (res.status == \"error\") {\n $(\".phone-number-input-box\").addClass('has-error');\n $(\".phone-number-input-box .validation-message\").html(res.message);\n } else if (res.status == \"phone-number\") {\n $(\".phone-number-input-box\").addClass('has-error');\n $(\".phone-number-input-box .validation-message\").html(res.message);\n } else {\n $(\".phone-number-input-box\").addClass('has-error');\n $(\".phone-number-input-box .validation-message\").html(window.contestStrings['TheMobileNumberYouEnteredIsInvalid']);\n }\n },\n error: function error() {\n $(\".phone-number-input-box\").addClass('has-error');\n $(\".phone-number-input-box .validation-message\").html(window.contestStrings['TheMobileNumberYouEnteredIsInvalid']);\n },\n complete: function complete() {\n myThis.VerificationLoading(false);\n }\n });\n }\n }, {\n key: \"JoinWithPhoneNumber\",\n value: function JoinWithPhoneNumber() {\n var myThis = this;\n if (!myThis.phoneInput || !myThis.phoneInput.isValidNumber()) {\n $(\".phone-number-input-box\").addClass('has-error');\n $(\".phone-number-input-box .validation-message\").html(window.contestStrings['TheMobileNumberYouEnteredIsInvalid']);\n return;\n }\n var rebateAccountId;\n if ($(\"#validation-rebate-account-id\").length > 0) rebateAccountId = $(\"#validation-rebate-account-id\").val();\n var number = myThis.phoneInput.getNumber();\n myThis.VerificationLoading(true);\n $.ajax({\n url: '/contests/' + myThis.contestId + '/join-with-phone-number',\n data: {\n phoneNumber: number,\n rebateAccountId: rebateAccountId\n },\n type: 'POST',\n cache: false,\n success: function success(res) {\n if (res.status == \"created\") {\n myThis.CallContestBrokerAPI();\n myThis.OpenSuccessDialog(res.login, res.password, res.instagram, res.tiktok, res.facebook);\n } else if (res.status == \"queued\") {\n myThis.OpenCreationQueuedDialog();\n } else if (res.status == \"error\") {\n $(\"#contest-join-dialog #validation-summary\").html(res.message);\n } else {\n $(\"#verification-code-message\").addClass(\"has-error\");\n $(\"#verification-code-message span.validation-message\").html(window.contestStrings['FailedToCreateADemoAccountPleaseTryAgainLater']);\n toastr.error(window.contestStrings['FailedToCreateADemoAccountPleaseTryAgainLater']);\n }\n },\n error: function error() {\n $(\".phone-number-input-box\").addClass('has-error');\n $(\".phone-number-input-box .validation-message\").html(window.contestStrings['FailedToCreateADemoAccountPleaseTryAgainLater']);\n toastr.error(window.contestStrings['FailedToCreateADemoAccountPleaseTryAgainLater']);\n },\n complete: function complete() {\n myThis.VerificationLoading(false);\n }\n });\n }\n }, {\n key: \"VerifyPhoneNumber\",\n value: function VerifyPhoneNumber() {\n var myThis = this;\n var inputs = $(\".verification-code-group input\");\n var code = '';\n for (var i = 0; i < inputs.length; i++) {\n code += $(inputs[i]).val();\n }\n if (code.length < 6) return;\n var number = $(\"#phone-number\").val();\n myThis.VerificationLoading(true);\n $.ajax({\n url: '/contests/' + myThis.contestId + '/join-with-verification-code',\n data: {\n phoneNumber: number,\n code: code\n },\n type: 'POST',\n cache: false,\n success: function success(res) {\n if (res.status == \"created\") {\n myThis.CallContestBrokerAPI();\n myThis.OpenSuccessDialog(res.login, res.password, res.instagram, res.tiktok, res.facebook);\n } else if (res.status == \"queued\") {\n myThis.OpenCreationQueuedDialog();\n } else if (res.status == \"expired\") {\n $(\"#verification-code-message\").addClass(\"has-error\");\n $(\"#verification-code-message span.validation-message\").html(window.contestStrings['Expired']);\n } else if (res.status == \"pending\") {\n $(\"#verification-code-message\").addClass(\"has-error\");\n $(\"#verification-code-message span.validation-message\").html(window.contestStrings['InvalidVerificationCode']);\n } else if (res.status == \"twilio-error\") {\n $(\"#verification-code-message\").addClass(\"has-error\");\n $(\"#verification-code-message span.validation-message\").html(window.contestStrings['InvalidVerificationCode']);\n } else if (res.status == \"error\") {\n $(\"#verification-code-message\").addClass(\"has-error\");\n $(\"#verification-code-message span.validation-message\").html(res.message);\n } else {\n $(\"#verification-code-message\").addClass(\"has-error\");\n $(\"#verification-code-message span.validation-message\").html(window.contestStrings['FailedToCreateADemoAccountPleaseTryAgainLater']);\n }\n },\n error: function error() {\n $(\"#verification-code-message\").addClass(\"has-error\");\n $(\"#verification-code-message span.validation-message\").html(window.contestStrings['FailedToCreateADemoAccountPleaseTryAgainLater']);\n toastr.error(window.contestStrings['FailedToCreateADemoAccountPleaseTryAgainLater']);\n },\n complete: function complete() {\n for (var i = 0; i < inputs.length; i++) {\n $(inputs[i]).val('');\n }\n $(\".verification-code-group input:first-child\").focus();\n myThis.VerificationLoading(false);\n }\n });\n }\n }, {\n key: \"VerificationLoading\",\n value: function VerificationLoading(load) {\n if (load) {\n $(\"#join-modal-payload [data-trigger=loading]\").addClass(\"loading\");\n } else {\n $(\"#join-modal-payload [data-trigger=loading]\").removeClass(\"loading\");\n }\n }\n }, {\n key: \"InitContestPageInfo\",\n value: function InitContestPageInfo() {\n var myThis = this;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.aisRoot + '/api/v1/mt4/contests/' + myThis.aisContestId + '/info',\n type: \"GET\",\n success: function success(res) {\n var _res$myRank;\n if (!res) return;\n myThis.myRank = (_res$myRank = res === null || res === void 0 ? void 0 : res.myRank) !== null && _res$myRank !== void 0 ? _res$myRank : -1;\n if (res.myRank != -1) {\n $(\"#my-rank\").html(\"\".concat(window.contestStrings[\"MyRank0\"].replace(\"{0}\", res.myRank + 1)));\n $(\"#my-rank\").show();\n }\n if (res.autoSuggestions.length > 0) {\n $(\"#contestants-search\").mdb_autocomplete({\n data: res.autoSuggestions\n });\n }\n },\n error: function error(_error) {\n console.log(_error);\n }\n });\n }\n }, {\n key: \"InitQualifiersTable\",\n value: function InitQualifiersTable(query) {\n var myThis = this;\n var selector = '#qualifiers-table-container';\n if ($(selector).length == 0) return;\n var link = '/api/contests/' + myThis.contestId + '/qualifiers';\n if (!!query) link += '?query=' + query;\n $(selector).pagination({\n dataSource: link,\n locator: 'Items',\n pageSize: myThis.qualifiersTable.pageSize,\n pageRange: 1,\n ajax: {\n beforeSend: function beforeSend(jqXHR, settings) {\n if (myThis.qualifiersTable.tableSortParam != undefined) {\n settings.url += '&sortParam=' + myThis.qualifiersTable.tableSortParam.sortParam + '&sortOrder=' + myThis.qualifiersTable.tableSortParam.sortOrder;\n }\n return true;\n }\n },\n afterRender: function afterRender() {\n $(\"#qualifiers-table-paginater\").html('');\n $(\"#qualifiers-table-paginater\").append($('#qualifiers-table-container .paginationjs').clone(true));\n },\n totalNumberLocator: function totalNumberLocator(response) {\n if (!response) return 0;\n return response.TotalCount;\n },\n callback: function callback(data, pagination) {\n var sortParam = \"user\",\n sortOrder = \"asce\";\n if (!!myThis.qualifiersTable.tableSortParam) {\n sortParam = myThis.qualifiersTable.tableSortParam.sortParam;\n sortOrder = myThis.qualifiersTable.tableSortParam.sortOrder.toLowerCase();\n }\n var html = '';\n var header = '';\n if (sortParam == \"user\") header += \"\");else header += \"\");\n\n // hide country column\n if (sortParam == \"country\") header += \"\");else header += \"\");\n if (sortParam == \"account\") header += \"\");else header += \"\");\n if (sortParam == \"contest\") header += \"\");else header += \"\");\n header += '';\n html += header;\n var langSlug = \"\";\n if (window.CURRENT_LANG != 'en') langSlug += '/' + window.CURRENT_LANG;\n var _iterator = _createForOfIteratorHelper(data),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var element = _step.value;\n var cls = '';\n var row = '';\n if (element.ClientProfileId == myThis.cbfProfileId) {\n cls += ' mine';\n }\n if (cls != '') {\n row += '';\n } else {\n row = '';\n }\n row += \"\");\n\n // hide country column\n if (!!(element !== null && element !== void 0 && element.CountryCode)) {\n row += \"\");\n } else {\n row += \"\";\n }\n row += \"\");\n row += \"\");\n row += '';\n html += row;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n html += '
\").concat(window.contestStrings['User'], \"\".concat(window.contestStrings['User'], \"\").concat(window.contestStrings['Country'], \"\".concat(window.contestStrings['Country'], \"\").concat(window.contestStrings['ContestAccount'], \"\".concat(window.contestStrings['ContestAccount'], \"\").concat(window.contestStrings['Contest'], \"\".concat(window.contestStrings['Contest'], \"
\").concat(element === null || element === void 0 ? void 0 : element.ClientProfileName, \"\").concat(element.AISAccountId, \"\").concat(element === null || element === void 0 ? void 0 : element.ContestName, \"
';\n html = '
' + html + '
';\n $(selector + \" .table-wrapper\").html(html);\n InitializeScrollTable(selector + \" .table-wrapper .section-tab-body table\");\n myThis.helper.InitializeCountryCodeTooltip();\n }\n });\n }\n }, {\n key: \"SearchQualifiers\",\n value: function SearchQualifiers() {\n var query = $(\"#qualifiers-search\").val();\n this.InitQualifiersTable(query);\n return false;\n }\n }, {\n key: \"InitRankingTable\",\n value: function InitRankingTable(query) {\n var myThis = this;\n var selector = '#contest-ranking-table-container';\n var link = myThis.aisRoot + '/api/v1/mt4/contests/' + myThis.aisContestId + '/ranking' + '?cbfProfileId=' + myThis.cbfProfileId;\n if (!!query) link += '&query=' + query;\n $(selector).pagination({\n dataSource: link,\n ajaxFunction: function ajaxFunction(t) {\n return window.APIHelper.SafeServiceAPICall(t);\n },\n locator: 'items',\n pageSize: myThis.pageSize,\n pageRange: 1,\n ajax: {\n beforeSend: function beforeSend(jqXHR, settings) {\n if (myThis.tableSortParam != undefined) {\n settings.url += '&sortParam=' + myThis.tableSortParam.sortParam + '&sortOrder=' + myThis.tableSortParam.sortOrder;\n }\n return true;\n }\n },\n afterRender: function afterRender() {\n $(\"#ranking-table-paginater\").html('');\n $(\"#ranking-table-paginater\").append($('#contest-ranking-table-container .paginationjs').clone(true));\n },\n totalNumberLocator: function totalNumberLocator(response) {\n var _response$myPosition;\n if (!response) return 0;\n myThis.myPosition = (_response$myPosition = response === null || response === void 0 ? void 0 : response.myPosition) !== null && _response$myPosition !== void 0 ? _response$myPosition : -1;\n return response.totalCount;\n },\n callback: function callback(data, pagination) {\n var sortParam = \"rank\",\n sortOrder = \"asce\";\n if (!!myThis.tableSortParam) {\n sortParam = myThis.tableSortParam.sortParam;\n sortOrder = myThis.tableSortParam.sortOrder.toLowerCase();\n }\n var html = '';\n var header = '';\n if (sortParam == \"rank\") header += \"\");else header += \"\";\n if (sortParam == \"user\") header += \"\");else header += \"\");\n\n // hide country column\n if (sortParam == \"country\") header += \"\");else header += \"\");\n if (sortParam == \"account\") header += \"\");else header += \"\");\n if (sortParam == \"equity\") header += \"\");else header += \"\");\n if (sortParam == \"open-profit\") header += \"\");else header += \"\");\n if (sortParam == \"profit-percent\") header += \"\");else header += \"\");\n if (sortParam == \"peak-drawdown\") header += \"\");else header += \"\");\n if (sortParam == \"calculated-trades\") header += \"\");else header += \"\");\n if (sortParam == \"excluded-trades\") header += \"\");else header += \"\");\n header += '';\n html += header;\n var langSlug = \"\";\n if (window.CURRENT_LANG != 'en') langSlug += '/' + window.CURRENT_LANG;\n var _iterator2 = _createForOfIteratorHelper(data),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var element = _step2.value;\n var cls = '';\n var row = '';\n if (element.rank < myThis.winnerCount) {\n cls += 'winner';\n }\n if (element.cbfProfileId == myThis.cbfProfileId) {\n cls += ' mine';\n }\n if (cls != '') {\n row += '';\n } else {\n row = '';\n }\n if (!!myThis.maximumDrawdown && myThis.maximumDrawdown > 0 && element.peakDrawdown > myThis.maximumDrawdown) {\n row += '';\n } else if (element.manualDisqualified) {\n row += '';\n } else {\n row += '';\n }\n row += \"\");\n\n // hide country column\n if (!!(element !== null && element !== void 0 && element.country)) {\n row += \"\");\n } else {\n row += \"\");\n if (element.hasStats) {\n var _element$excludedTrad;\n row += '';\n row += '';\n row += '';\n if (element.peak != null && element.peakTime != null && element.valley != null && element.valleyTime != null) {\n var popoverContent = \"
##\").concat(window.contestStrings['User'], \"\".concat(window.contestStrings['User'], \"\").concat(window.contestStrings['Country'], \"\".concat(window.contestStrings['Country'], \"\").concat(window.contestStrings['Account'], \"\".concat(window.contestStrings['Account'], \"\").concat(window.contestStrings['Equity'], \"\".concat(window.contestStrings['Equity'], \"\").concat(window.contestStrings['OpenProfit'], \"\".concat(window.contestStrings['OpenProfit'], \"\").concat(window.contestStrings['ProfitPercent'], \"\".concat(window.contestStrings['ProfitPercent'], \"\").concat(window.contestStrings['PeakDrawdown'], \"\".concat(window.contestStrings['PeakDrawdown'], \"\").concat(window.contestStrings['CalculatedTrades'], \"\".concat(window.contestStrings['CalculatedTrades'], \"\").concat(window.contestStrings['ExcludedTrades'], \"\".concat(window.contestStrings['ExcludedTrades'], \"
!
!
' + (element.rank + 1) + '
\").concat(element === null || element === void 0 ? void 0 : element.cbfClientName, \"\";\n }\n row += \"\").concat(element === null || element === void 0 ? void 0 : element.name, \"' + myThis.helper.ToDecimal(element.equity) + '' + myThis.helper.ToDecimal(element.openProfit) + '' + myThis.helper.ToPercent(element.profit / element.deposits) + '
\".concat(window.contestStrings[\"EquityHigh\"], \":
\").concat(myThis.helper.ToDecimal(element.peak), \"
\").concat(myThis.helper.ToShortDateTime(element.peakTime, 'short', 'UTC'), \"
\").concat(window.contestStrings[\"SubsequentEquityLow\"], \":
\").concat(myThis.helper.ToDecimal(element.valley), \"
\").concat(myThis.helper.ToShortDateTime(element.valleyTime, 'short', 'UTC'), \"
\");\n var peakHtml = \"\").concat(myThis.helper.ToPercent(element.peakDrawdown), \"\");\n row += '' + peakHtml + '';\n } else {\n row += '' + myThis.helper.ToPercent(element.peakDrawdown) + '';\n }\n row += '' + myThis.helper.ToIntNumber(element.calculatedTrades) + '';\n row += '' + myThis.helper.ToIntNumber((_element$excludedTrad = element.excludedTrades) !== null && _element$excludedTrad !== void 0 ? _element$excludedTrad : element.excludedByLimit + element.excludedByMinTradeDuration) + '';\n } else {\n row += ' - ';\n row += ' - ';\n row += ' - ';\n row += ' - ';\n row += ' - ';\n row += ' - ';\n }\n row += '';\n html += row;\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n html += '';\n html = '
' + html + '
';\n $(selector + \" .table-wrapper\").html(html);\n InitializeScrollTable(selector + \" .table-wrapper .section-tab-body table\");\n myThis.helper.InitializeRankingTableTooltips();\n }\n });\n }\n }, {\n key: \"SearchContestants\",\n value: function SearchContestants() {\n var query = $(\"#contestants-search\").val();\n this.InitRankingTable(query);\n return false;\n }\n }, {\n key: \"GoToMyPosition\",\n value: function GoToMyPosition() {\n var myThis = this;\n if (myThis.myPosition != -1) {\n window.Tabs.LoadTab($(\"#tab-contest-rankings\"));\n var page = parseInt(myThis.myPosition / myThis.pageSize);\n var order = myThis.myPosition - page * myThis.pageSize + 1;\n $(\"#contest-ranking-table-container\").pagination('go', page + 1);\n var elem = $(\"#contest-ranking-table-container table tr:nth-child(\" + order + \")\");\n if (elem.length > 0) {\n $('html, body').animate({\n scrollTop: elem.offset().top\n }, 500);\n }\n }\n }\n }, {\n key: \"UpdateSocialMediaLinks\",\n value: function UpdateSocialMediaLinks() {\n var instagram = $('#contest-join-dialog input[name=\"social-instagram\"]').val();\n var tiktok = $('#contest-join-dialog input[name=\"social-tiktok\"]').val();\n var facebook = $('#contest-join-dialog input[name=\"social-facebook\"]').val();\n $('#contest-join-dialog').modal('hide');\n $.ajax({\n url: '/api/settings/update-social-links',\n type: 'post',\n data: {\n instagram: instagram,\n tiktok: tiktok,\n facebook: facebook\n },\n success: function success() {\n toastr.success(window.contestStrings[\"YourSocialMediaUsernamesHaveBeenSavedSuccessfully\"]);\n },\n error: function error() {\n toastr.error(window.contestStrings[\"SomethingWentWrongFailedToSaveYourSocialMediaUsernames\"]);\n }\n });\n }\n }, {\n key: \"CallContestBrokerAPI\",\n value: function CallContestBrokerAPI() {\n if (window.contestBrokerAPIEnabled) {\n ContestBrokerAPI();\n }\n }\n }, {\n key: \"OpenNewLiveAccountLinkDialog\",\n value: function OpenNewLiveAccountLinkDialog() {\n $(\"#link-new-live-account-modal-payload\").html(this.GetCorrectedHtml(window.linkLiveAccountModalPayload[\"submit-live-account\"]));\n this.InitializePhoneInputField();\n $(\"#link-new-live-account-dialog\").modal('show');\n }\n }, {\n key: \"OpenRestrictedCountryDialog\",\n value: function OpenRestrictedCountryDialog() {\n $(\"#link-new-live-account-modal-payload\").html(this.GetCorrectedHtml(window.linkLiveAccountModalPayload[\"restricted-country\"]));\n $(\"#link-new-live-account-dialog\").modal('show');\n }\n }, {\n key: \"GetCorrectedHtml\",\n value: function GetCorrectedHtml(html) {\n var newHtml = html;\n if (window.contestBrokerName) {\n newHtml = newHtml.replace(\"{{brokerName}}\", window.contestBrokerName);\n }\n if (window.contestBrokerJurisidiction) {\n newHtml = newHtml.replace(\"{{brokerJurisidiction}}\", window.contestBrokerJurisidiction);\n }\n return newHtml;\n }\n }, {\n key: \"SubmitLiveAccount\",\n value: function SubmitLiveAccount() {\n var myThis = this;\n var accountNumber = $('#link-new-live-account-modal-payload input[name=\"new-account-login\"]').val();\n if (!accountNumber) {\n $(\"#new-account-login-validation-message\").addClass(\"has-error\");\n $(\"#new-account-login-validation-message span.validation-message\").html(window.contestStrings['PleaseEnterYourAccountNumber']);\n return;\n }\n if (!myThis.phoneInput || !myThis.phoneInput.isValidNumber()) {\n $(\".phone-number-input-box\").addClass('has-error');\n $(\".phone-number-input-box .validation-message\").html(window.contestStrings['TheMobileNumberYouEnteredIsInvalid']);\n return;\n }\n var number = myThis.phoneInput.getNumber();\n var id = myThis.contestId;\n myThis.NewAccountLoginLoading(true);\n $.ajax({\n url: window.submitNewLiveAccountUrl,\n type: 'POST',\n data: {\n accountNumber: accountNumber,\n id: id,\n brokerId: window.contestSponsorBrokerId,\n phoneNumber: number\n },\n cache: false,\n async: true,\n success: function success(res) {\n if (res.status == \"ok\") {\n myThis.OpenNewAccountSuccessDialog();\n } else if (res.status == \"pending\") {\n myThis.OpenNewAccountPendingDialog();\n } else if (res.status == \"invalid\") {\n $(\"#new-account-login-validation-message\").addClass(\"has-error\");\n $(\"#new-account-login-validation-message span.validation-message\").html(myThis.GetCorrectedHtml(res.message));\n } else if (res.status == \"existing\") {\n $(\"#new-account-login-validation-message\").addClass(\"has-error\");\n $(\"#new-account-login-validation-message span.validation-message\").html(myThis.GetCorrectedHtml(res.message));\n } else {\n myThis.OpenNewAccountFailDialog();\n }\n },\n error: function error() {\n myThis.OpenNewAccountFailDialog();\n },\n complete: function complete() {\n myThis.NewAccountLoginLoading(false);\n }\n });\n }\n }, {\n key: \"OpenNewAccountSuccessDialog\",\n value: function OpenNewAccountSuccessDialog() {\n $(\"#link-new-live-account-modal-payload\").html(this.GetCorrectedHtml(window.linkLiveAccountModalPayload['live-account-found']));\n $(\"#link-new-live-account-dialog\").modal('show');\n }\n }, {\n key: \"OpenNewAccountPendingDialog\",\n value: function OpenNewAccountPendingDialog() {\n $(\"#link-new-live-account-modal-payload\").html(this.GetCorrectedHtml(window.linkLiveAccountModalPayload['live-account-pending']));\n $(\"#link-new-live-account-dialog\").modal('show');\n }\n }, {\n key: \"OpenNewAccountFailDialog\",\n value: function OpenNewAccountFailDialog() {\n $(\"#link-new-live-account-modal-payload\").html(this.GetCorrectedHtml(window.linkLiveAccountModalPayload['live-account-not-found']));\n $(\"#link-new-live-account-dialog\").modal('show');\n }\n }, {\n key: \"NewAccountLoginLoading\",\n value: function NewAccountLoginLoading(load) {\n if (load) {\n $(\"#link-new-live-account-modal-payload [data-trigger=loading]\").addClass(\"loading\");\n } else {\n $(\"#link-new-live-account-modal-payload [data-trigger=loading]\").removeClass(\"loading\");\n }\n }\n }]);\n return AISContest;\n}();\nvar _default = AISContest;\nexports[\"default\"] = _default;\n\n},{}],2:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar AISHelper = /*#__PURE__*/function () {\n function AISHelper() {\n _classCallCheck(this, AISHelper);\n }\n _createClass(AISHelper, [{\n key: \"ToPercent\",\n value: function ToPercent(val, hasStyle, strWhenZero) {\n if (val == null) return '-';\n val = parseFloat(val);\n if (Number.isNaN(val)) return '';\n if (!!strWhenZero && val == 0) return strWhenZero;\n var localeCode = window.CURRENT_CULTURE;\n if (!localeCode || localeCode.includes(\"ar\") || localeCode.includes(\"fa\")) localeCode = window.DEFAULT_CULTURE;\n if (!localeCode) localeCode = \"en-GB\";\n var str = val.toLocaleString(localeCode, {\n style: 'percent',\n maximumFractionDigits: 2\n });\n if (hasStyle === true) {\n if (val >= 0) return '' + str + '';else return '' + str + '';\n }\n return str;\n }\n }, {\n key: \"ToCurrency\",\n value: function ToCurrency(val, hasStyle) {\n if (val == null) return '-';\n val = parseFloat(val);\n if (Number.isNaN(val)) return '';\n var localeCode = window.CURRENT_CULTURE;\n if (!localeCode || localeCode.includes(\"ar\") || localeCode.includes(\"fa\")) localeCode = window.DEFAULT_CULTURE;\n if (!localeCode) localeCode = \"en-GB\";\n var str = val.toLocaleString(localeCode, {\n style: 'currency',\n maximumFractionDigits: 2,\n currency: 'USD'\n });\n if (hasStyle === true) {\n if (val >= 0) return '' + str + '';else return '' + str + '';\n }\n return str;\n }\n }, {\n key: \"ToDecimal\",\n value: function ToDecimal(val, hasStyle) {\n if (val == null) return '-';\n val = parseFloat(val);\n if (Number.isNaN(val)) return '';\n var localeCode = window.CURRENT_CULTURE;\n if (!localeCode || localeCode.includes(\"ar\") || localeCode.includes(\"fa\")) localeCode = window.DEFAULT_CULTURE;\n if (!localeCode) localeCode = \"en-GB\";\n var str = val.toLocaleString(localeCode, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n });\n if (hasStyle === true) {\n if (val >= 0) return '' + str + '';else return '' + str + '';\n }\n return str;\n }\n }, {\n key: \"ToDigitsDecimal\",\n value: function ToDigitsDecimal(val, digits) {\n if (val == null) return '-';\n val = parseFloat(val);\n if (Number.isNaN(val)) return '-';\n var localeCode = window.CURRENT_CULTURE;\n if (!localeCode || localeCode.includes(\"ar\") || localeCode.includes(\"fa\")) localeCode = window.DEFAULT_CULTURE;\n if (!localeCode) localeCode = \"en-GB\";\n var str = '';\n if (digits == null || digits == undefined) str = val.toLocaleString(localeCode);else str = val.toLocaleString(localeCode, {\n minimumFractionDigits: digits,\n maximumFractionDigits: digits\n });\n return str;\n }\n }, {\n key: \"ToIntNumber\",\n value: function ToIntNumber(val, hasStyle) {\n if (val == null) return '-';\n val = parseFloat(val);\n if (Number.isNaN(val)) return '';\n var localeCode = window.CURRENT_CULTURE;\n if (!localeCode || localeCode.includes(\"ar\") || localeCode.includes(\"fa\")) localeCode = window.DEFAULT_CULTURE;\n if (!localeCode) localeCode = \"en-GB\";\n var str = val.toLocaleString(localeCode, {\n maximumFractionDigits: 0\n });\n if (hasStyle === true) {\n if (val >= 0) return '' + str + '';else return '' + str + '';\n }\n return str;\n }\n }, {\n key: \"ToTimeSpan\",\n value: function ToTimeSpan(val) {\n var res = '';\n if (val.days > 0) res += val.days + 'd';\n if (val.hours > 0) res += ' ' + val.hours + 'h';\n if (val.minutes > 0) res += ' ' + val.minutes + 'm';\n return res;\n }\n }, {\n key: \"GetDuraction\",\n value: function GetDuraction(t1, t2) {\n t1 = new Date(t1);\n t2 = new Date(t2);\n var res = '';\n var span = (t2 - t1) / 1000;\n if (span > 24 * 3600) {\n res += parseInt(span / (24 * 3600)) + \"d\";\n span = span % (24 * 3600);\n }\n if (span > 3600) {\n res += ' ' + parseInt(span / 3600) + 'h';\n span = span % 3600;\n }\n if (span > 60) {\n res += ' ' + parseInt(span / 60) + 'm';\n span = span % 60;\n }\n if (res == '') res = parseInt(span) + 's';\n return res;\n }\n }, {\n key: \"ToShortDate\",\n value: function ToShortDate(val, type, timezone) {\n var date = new Date(val);\n var yearType = 'numeric';\n if (date.getFullYear() == new Date().getFullYear()) yearType = undefined;\n var localeCode = window.CURRENT_CULTURE;\n if (!localeCode || localeCode.includes(\"ar\") || localeCode.includes(\"fa\")) localeCode = window.DEFAULT_CULTURE;\n if (!localeCode) localeCode = \"en-GB\";\n if (!type) type = \"short\";\n return date.toLocaleDateString(localeCode, {\n weekday: undefined,\n year: yearType,\n month: type,\n day: 'numeric',\n timeZone: timezone\n });\n }\n }, {\n key: \"ToShortDateTime\",\n value: function ToShortDateTime(val, type, timezone) {\n var date = new Date(val);\n var yearType = 'numeric';\n if (date.getFullYear() == new Date().getFullYear()) yearType = undefined;\n var localeCode = window.CURRENT_CULTURE;\n if (!localeCode || localeCode.includes(\"ar\") || localeCode.includes(\"fa\")) localeCode = window.DEFAULT_CULTURE;\n if (!localeCode) localeCode = \"en-GB\";\n if (!type) type = \"short\";\n return date.toLocaleDateString(localeCode, {\n weekday: undefined,\n year: yearType,\n month: type,\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n timeZone: timezone\n });\n }\n }, {\n key: \"ToLongDate\",\n value: function ToLongDate(val, timezone) {\n var date = new Date(val);\n var localeCode = window.CURRENT_CULTURE;\n if (!localeCode || localeCode.includes(\"ar\") || localeCode.includes(\"fa\")) localeCode = window.DEFAULT_CULTURE;\n if (!localeCode) localeCode = \"en-GB\";\n return date.toLocaleString(localeCode, {\n weekday: undefined,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n timeZone: timezone\n });\n }\n }, {\n key: \"ToStatus\",\n value: function ToStatus(lastUpdated, hasError) {\n var desc = '';\n if (new Date(lastUpdated).getTime() < 0) {\n desc = 'never';\n } else {\n desc = this.GetDuraction(lastUpdated, new Date()) + ' ago';\n }\n var res = '';\n if (hasError == false) {\n res += ' (' + desc + ')';\n } else {\n res += ' (' + desc + ')';\n }\n return res;\n }\n }, {\n key: \"ToChartMoney\",\n value: function ToChartMoney(value) {\n if (Math.abs(value) >= 1000000) {\n return (value / 1000000).toFixed(1) + \"M\";\n } else if (Math.abs(value) >= 1000) {\n return (value / 1000).toFixed(1) + \"K\";\n } else return value.toFixed(2);\n }\n }, {\n key: \"InitializeRankingTableTooltips\",\n value: function InitializeRankingTableTooltips() {\n this.InitializeCountryCodeTooltip();\n $(\"[data-action=drawdown-disqualified-tooltip]\").each(function (i, ele) {\n $(ele).data('toggle', 'tooltip');\n if ($(ele).data('reason') == 'manual') {\n var _window$contestString;\n $(ele).data('title', (_window$contestString = window.contestStrings[\"DisqualifiedDueToAViolation\"]) !== null && _window$contestString !== void 0 ? _window$contestString : \"Disqualified due to a violation\");\n } else {\n var _window$contestString2;\n $(ele).data('title', (_window$contestString2 = window.contestStrings[\"DisqualfiedDueToDrawdown\"]) !== null && _window$contestString2 !== void 0 ? _window$contestString2 : \"Disqualified due to drawdown\");\n }\n $(ele).tooltip('dispose').tooltip({\n boundary: 'window'\n });\n });\n $(\"[data-toggle='drawdown-popover']\").popover();\n }\n }, {\n key: \"InitializeCountryCodeTooltip\",\n value: function InitializeCountryCodeTooltip() {\n var displayNames = new Intl.DisplayNames(window.CURRENT_LANG, {\n type: 'region'\n });\n $(\"[data-action=country]\").each(function (i, ele) {\n try {\n var countryCode = $(ele).data('country');\n $(ele).data('toggle', 'tooltip');\n $(ele).data('title', displayNames.of(countryCode));\n $(ele).tooltip('dispose').tooltip({\n boundary: 'window'\n });\n } catch (err) {}\n });\n }\n }, {\n key: \"GetLocalizedCurrencyName\",\n value: function GetLocalizedCurrencyName(currencyCode) {\n var currencyNames = new Intl.DisplayNames(window.CURRENT_LANG, {\n type: 'currency'\n });\n // Get currency names\n return currencyNames.of(currencyCode);\n }\n }, {\n key: \"GetLocalizedLanguageName\",\n value: function GetLocalizedLanguageName(langCode) {\n var languageNames = new Intl.DisplayNames(window.CURRENT_LANG, {\n type: 'language'\n });\n return languageNames.of(langCode);\n }\n }, {\n key: \"GetLocalizedRegionName\",\n value: function GetLocalizedRegionName(regionCode) {\n var regionNames = new Intl.DisplayNames(window.CURRENT_LANG, {\n type: 'region'\n });\n return regionNames.of(regionCode);\n }\n }]);\n return AISHelper;\n}();\nvar _default = AISHelper;\nexports[\"default\"] = _default;\n\n},{}],3:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar AISPerformances = /*#__PURE__*/function () {\n function AISPerformances(aisRoot) {\n _classCallCheck(this, AISPerformances);\n this.aisRoot = aisRoot;\n this.helper = new AISHelper();\n this.performancesQuery = '';\n this.urls = {\n PerformancesLink: '/api/v1/mt/performances'\n };\n }\n _createClass(AISPerformances, [{\n key: \"InitializePage\",\n value: function InitializePage() {\n var myThis = this;\n InitializeScrollTable('#performances-table');\n myThis.performancesQuery = window.location.search;\n myThis.UpdateFormByQuery();\n myThis.PerformanceFormStateUpdated(true);\n myThis.InitialzePerformancesTableSort();\n myThis.LoadMorePerformances();\n $(document).scroll(function () {\n if (myThis.NeedLoadMorePerformances() && $('#performances-table tfoot tr[data-trigger=\"load-more\"]').data(\"loading\") === false) {\n myThis.LoadMorePerformances();\n }\n });\n $(\"#performances-query-form input\").on('change', function () {\n myThis.PerformanceFormStateUpdated();\n });\n }\n }, {\n key: \"Url\",\n value: function Url(key) {\n return this.aisRoot + (this.urls || {})[key];\n }\n }, {\n key: \"LoadMorePerformances\",\n value: function LoadMorePerformances(replace) {\n var myThis = this;\n $('#performances-table tfoot tr[data-trigger=\"load-more\"]').data(\"loading\", true);\n var targetPage = $('#performances-table tfoot tr[data-trigger=\"load-more\"]').data(\"next-page\");\n $(\"#broker-list-loading\").show();\n window.APIHelper.SafeServiceAPICall({\n type: \"GET\",\n cache: false,\n url: myThis.Url('PerformancesLink') + myThis.performancesQuery,\n data: {\n pageNumber: targetPage,\n pageSize: 50\n },\n success: function success(res) {\n var html = '';\n var langSlug = \"\";\n if (window.CURRENT_LANG != 'en') langSlug = \"/\" + window.CURRENT_LANG;\n for (var i = 0; i < res.items.length; i++) {\n var _res$items$i, _res$items$i4;\n html += '';\n html += \"\").concat((_res$items$i = res.items[i]) === null || _res$items$i === void 0 ? void 0 : _res$items$i.clientName, \"\");\n if (!!res.items[i].country) {\n var _res$items$i2, _res$items$i3;\n if (res.items[i].country.toLowerCase() == 'us') res.items[i].country = 'GB';\n html += \"\");\n } else {\n html += \"\";\n }\n html += \"\").concat((_res$items$i4 = res.items[i]) === null || _res$items$i4 === void 0 ? void 0 : _res$items$i4.name, \"\");\n html += \"\".concat(myThis.helper.ToDecimal(res.items[i].equity), \"\");\n html += \"\".concat(myThis.helper.ToDecimal(res.items[i].profit), \"\");\n html += \"\".concat(myThis.helper.ToPercent(res.items[i].profitPercent), \"\");\n if (res.items[i].peakDrawdown < 0) res.items[i].peakDrawdown = 0;\n html += \"\".concat(myThis.helper.ToPercent(res.items[i].peakDrawdown), \"\");\n html += \"\".concat(myThis.helper.ToPercent(res.items[i].monthlyProfitPercent), \"\");\n html += \"\".concat(res.items[i].broker, \"\");\n html += \"\";\n }\n if (replace === true) {\n $(\"#performances-table tbody\").html(html);\n } else {\n $(\"#performances-table tbody\").append(html);\n }\n myThis.helper.InitializeCountryCodeTooltip();\n if (res.hasNext == true) {\n $('#performances-table tfoot tr[data-trigger=\"load-more\"]').data(\"next-page\", res.currentPage + 1);\n } else {\n $('#performances-table tfoot tr[data-trigger=\"load-more\"]').remove();\n }\n },\n complete: function complete() {\n $(\"#broker-list-loading\").hide();\n $('#performances-table tfoot tr[data-trigger=\"load-more\"]').data(\"loading\", false);\n }\n });\n }\n }, {\n key: \"PerformanceFormStateUpdated\",\n value: function PerformanceFormStateUpdated(silience) {\n var myThis = this;\n var searchForm = $(\"#performances-query-form\");\n var filterForm = $(\"#performances-filter-form\");\n var data = searchForm.serializeArray().concat(filterForm.serializeArray());\n var query = '?';\n $.each(data, function (i, v) {\n if (query.includes(v.name + \"=\")) {\n var splitOne = query.lastIndexOf(v.name + \"=\");\n var splitTwo = query.substring(splitOne).indexOf(\"&\") + 1;\n splitTwo = splitTwo === 0 ? string.length : splitTwo;\n var currentEntry = query.substring(splitOne, splitTwo);\n var newEntry = currentEntry + \",\" + v.value;\n query = query.replace(currentEntry, newEntry);\n } else if (v.value != '') {\n if (query !== \"?\") {\n query += \"&\";\n }\n query += v.name + \"=\" + v.value;\n }\n });\n myThis.performancesQuery = query;\n if (!silience) window.history.pushState(\"\", \"\", myThis.performancesQuery);\n myThis.ReloadPerformancesTable();\n }\n }, {\n key: \"UpdateFormByQuery\",\n value: function UpdateFormByQuery() {\n var params = new URLSearchParams(window.location.search);\n var _iterator = _createForOfIteratorHelper(params),\n _step;\n try {\n var _loop = function _loop() {\n var param = _step.value;\n $(\"#performances-query-form [name=\\\"\".concat(param[0].toLowerCase(), \"\\\"]\")).val(param[1]);\n $(\"#performances-filter-form [name=\\\"\".concat(param[0].toLowerCase(), \"\\\"]\")).val(param[1]);\n if (param[0].toLowerCase() == \"broker\") {\n setTimeout(function () {\n $(\"#performances-filter-form [name=\\\"\".concat(param[0].toLowerCase(), \"\\\"]\")).selectpicker('val', param[1]);\n }, 2000);\n }\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n }, {\n key: \"ReloadPerformancesTable\",\n value: function ReloadPerformancesTable() {\n $('#performances-table tfoot').html('');\n this.LoadMorePerformances(true);\n }\n }, {\n key: \"NeedLoadMorePerformances\",\n value: function NeedLoadMorePerformances() {\n var $elem = $('#performances-table tfoot tr[data-trigger=\"load-more\"]');\n if ($elem.length == 0) return false;\n var elementPos = $elem.offset().top;\n var viewportTop = $(window).scrollTop();\n var viewportBottom = viewportTop + $(window).height();\n var height = $(window).height();\n return viewportTop < elementPos && elementPos < viewportBottom + height;\n }\n }, {\n key: \"ResetPerformancesFilter\",\n value: function ResetPerformancesFilter() {\n $.each($(\"#performances-filter-form [name]\"), function (i, elem) {\n if ($(elem).data('default') !== undefined) {\n if ($(elem).hasClass(\"selectpicker\")) {\n $(elem).selectpicker('val', $(elem).data('default'));\n } else {\n $(elem).val($(elem).data('default'));\n }\n }\n });\n this.PerformanceFormStateUpdated();\n }\n }, {\n key: \"OnPerformancePageTradingPlatformUpdated\",\n value: function OnPerformancePageTradingPlatformUpdated() {\n var tradingPlatform = $(\"#trading-platform-type\").val();\n if (window.brokerServers == undefined) return;\n var brokers;\n if (tradingPlatform == 'MT4' || tradingPlatform == 'MT5') brokers = window.brokerServers.filter(function (x) {\n return x.platformType == tradingPlatform;\n });else brokers = window.brokerServers;\n var uniqueBrokers = _toConsumableArray(new Set(brokers.map(function (item) {\n return item.broker;\n }))).sort();\n var html = '';\n for (var i = 0; i < uniqueBrokers.length; i++) {\n html += '';\n }\n $(\"#filter-broker\").html(html);\n $(\"#filter-broker\").selectpicker('refresh');\n }\n }, {\n key: \"InitialzePerformancesTableSort\",\n value: function InitialzePerformancesTableSort() {\n var myThis = this;\n var sortParam = $(\"#performances-query-form [name=sortparam]\").val().toLowerCase();\n var sortOrder = $(\"#performances-query-form [name=sortorder]\").val().toLowerCase();\n if (!sortParam) sortParam = 'profit-percent';\n if (!sortOrder) sortOrder = 'desc';\n $(\"#performances-table th.sort\").removeClass('desc');\n $(\"#performances-table th.sort\").removeClass('asce');\n $(\"#performances-table th.sort[data-sort-param=\\\"\".concat(sortParam, \"\\\"]\")).addClass(sortOrder);\n var thSorts = document.querySelectorAll('th.sort');\n for (var i = 0; i < thSorts.length; i++) {\n thSorts[i].addEventListener('click', function (e) {\n myThis.OnPerformancesTableSortUpdated(e);\n myThis.PerformanceFormStateUpdated();\n }, false);\n }\n }\n }, {\n key: \"OnPerformancesTableSortUpdated\",\n value: function OnPerformancesTableSortUpdated(e) {\n if (!e.target.matches(\"th.sort\")) return;\n var sortParam = $(e.target).data('sort-param');\n var sortOrder = 'desc';\n if ($(e.target).hasClass('desc')) sortOrder = 'asce';else sortOrder = 'desc';\n $(\"#performances-table th.sort\").removeClass('asce');\n $(\"#performances-table th.sort\").removeClass('desc');\n $(e.target).addClass(sortOrder);\n $(\"#performances-query-form [name=sortparam]\").val(sortParam);\n $(\"#performances-query-form [name=sortorder]\").val(sortOrder);\n }\n }]);\n return AISPerformances;\n}();\nvar _default = AISPerformances;\nexports[\"default\"] = _default;\n\n},{}],4:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar AISPortfolio = /*#__PURE__*/function () {\n function AISPortfolio(aisRoot, aisDataRoot) {\n _classCallCheck(this, AISPortfolio);\n var urlParam = new URLSearchParams(location.search);\n if (urlParam.get('scid')) this.cbfProfileId = urlParam.get('scid');\n if (urlParam.get('spid')) this.portfolioId = urlParam.get('spid');else this.portfolioId = 0;\n this.aisRoot = aisRoot;\n this.aisDataRoot = aisDataRoot;\n this.helper = new AISHelper();\n this.portfolioInfo = {};\n this.currentRiskFactor = null;\n this.currencyRates = {};\n this.totalsCurrency = null;\n this.urls = {\n ProfileStatisticsLink: '/api/v1/mt/statistics',\n ProfilePeriodStatisticsLink: '/api/v1/mt/statistics/historical-stats',\n ProfileGrowthChartLink: '/api/v1/mt/statistics/chart/profile-growth',\n ProfileStatsHubLink: '/profile-stats-hub',\n AddStatsHubLink: '/add-stats-hub',\n PortfoliosLink: '/api/v1/mt/cbf-profile/portfolios'\n };\n }\n _createClass(AISPortfolio, [{\n key: \"InitializeEventTriggers\",\n value: function InitializeEventTriggers() {\n var myThis = this;\n var profileConnection = new signalR.HubConnectionBuilder().withUrl(myThis.SignalRUrl('ProfileStatsHubLink')).configureLogging(signalR.LogLevel.Warning).withAutomaticReconnect().build();\n profileConnection.start();\n profileConnection.on(\"UpdateCbfProfileStats\", function (cbfId, state) {\n if (state == \"updated\" && cbfId == myThis.cbfProfileId) {\n console.log('Refresh cbf profile page');\n myThis.InitializePage();\n }\n });\n var addMt4Connection = new signalR.HubConnectionBuilder().withUrl(myThis.SignalRUrl('AddStatsHubLink')).configureLogging(signalR.LogLevel.Warning).withAutomaticReconnect().build();\n addMt4Connection.start();\n addMt4Connection.on(\"AddMT4Account\", function (accountId, state, message) {\n if (state == \"finish\") {\n myThis.InitializePage();\n } else if (state == \"error\") {\n myThis.InitializePage();\n }\n });\n addMt4Connection.on(\"VerifyMT4Account\", function (accountId, state, message) {\n if (state == \"finish\") {\n toastr.success(window.portfolioStrings['YourAccountHasBeenSuccessfullyVerified']);\n OpenEditMt4AccontDialog(accountId);\n } else if (state == \"error\") {\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").html(window.portfolioStrings['FailedToVerify']);\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").removeClass(\"processing\");\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").addClass(\"error\");\n } else {\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").removeClass(\"error\");\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").removeClass(\"finish\");\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").addClass(\"processing\");\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").html(window.portfolioStrings['ConnectingToAccount']);\n }\n });\n $(document).on('input', \"#risk-factor\", function () {\n myThis.ApplyRiskFactor($(this).val());\n });\n $(document).on('input', \"#PortfolioRiskFactor\", function () {\n myThis.ApplyRiskFactor($(this).val());\n });\n $(\"#PortfolioDefaultCurreny\").infiniteselect({\n types: [{\n option: 'all',\n text: window.portfolioStrings['All']\n }, {\n option: 'forex',\n text: window.portfolioStrings['Forex']\n }, {\n option: 'crypto',\n text: window.portfolioStrings['Crypto']\n }],\n url: '/api/widgets/currencies',\n placeholder: 'Select a default totals currency',\n showDescription: true,\n culture: window.CURRENT_LANG,\n btnClass: 'browser-default frn-override'\n });\n document.getElementById('PortfolioDefaultCurreny').addEventListener('change', function () {\n var targetCurrency = $(\"#PortfolioDefaultCurreny\").infiniteselect('val');\n myThis.totalsCurrency = targetCurrency;\n myThis.UpdateAllValuesByRiskFactorAndCurrency(myThis);\n });\n }\n }, {\n key: \"Url\",\n value: function Url(key) {\n return this.aisRoot + (this.urls || {})[key];\n }\n }, {\n key: \"SignalRUrl\",\n value: function SignalRUrl(key) {\n return this.aisDataRoot + (this.urls || {})[key];\n }\n }, {\n key: \"InitializePage\",\n value: function InitializePage() {\n var myThis = this;\n myThis.InitProfilePortfolio();\n myThis.InitProfileGrowthChartSection();\n }\n }, {\n key: \"InitPorfilePeriodsStatsSection\",\n value: function InitPorfilePeriodsStatsSection() {\n var type = $(\"#periods-stats-account-type-select\").val();\n this.InitPorfilePeriods(type);\n }\n }, {\n key: \"InitProfileGrowthChartSection\",\n value: function InitProfileGrowthChartSection() {\n var type = $(\"#profit-chart-account-type-select\").val();\n this.DrawProfileGrowthChart(type);\n }\n }, {\n key: \"DrawProfileGrowthChart\",\n value: function DrawProfileGrowthChart(type) {\n var myThis = this;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileGrowthChartLink') + '?id=' + myThis.cbfProfileId + '&portfolioId=' + myThis.portfolioId,\n type: \"GET\",\n data: {\n type: type\n },\n success: function success(res) {\n var options = {\n chart: {\n type: 'line',\n height: 400\n },\n series: res.series,\n xaxis: {\n type: 'datetime'\n },\n stroke: {\n width: 1,\n curve: 'smooth'\n },\n markers: {\n size: 0\n },\n yaxis: {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(value) {\n return myThis.helper.ToPercent(value);\n }\n }\n }\n };\n if (!myThis.growthChart) {\n myThis.growthChart = new ApexCharts(document.querySelector(\"#cbf-profile-growth-chart\"), options);\n myThis.growthChart.render();\n } else {\n myThis.growthChart.updateOptions(options);\n }\n }\n });\n }\n }, {\n key: \"InitProfilePortfolio\",\n value: function InitProfilePortfolio() {\n var myThis = this;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileStatisticsLink') + '?id=' + myThis.cbfProfileId + '&portfolioId=' + myThis.portfolioId,\n type: \"GET\",\n success: function success(res, textStatus, xhr) {\n if (xhr.status == 204) {\n $(\"#cbf-portfolio-account-stats-summary\").html(window.portfolioStrings['NoAccounts']);\n $(\"#cbf-portfolio-period-stats\").html(window.portfolioStrings['NoData']);\n } else {\n myThis.portfolioInfo = res;\n myThis.PopulateBasicInfo(res);\n myThis.PopulateAccountStatsSummary(res, 'real');\n myThis.PopulateAccountStatsSummary(res, 'demo');\n myThis.InitPorfilePeriodsStatsSection();\n }\n },\n error: function error(e) {\n $(\".portfolio-pane\").html(\"\".concat(window.portfolioStrings['OopsThatPageCanTBeFound'], \"\"));\n }\n });\n }\n }, {\n key: \"InitPorfilePeriods\",\n value: function InitPorfilePeriods(type) {\n var myThis = this;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfilePeriodStatisticsLink') + '?id=' + myThis.cbfProfileId + '&portfolioId=' + myThis.portfolioId,\n type: \"GET\",\n data: {\n type: type\n },\n success: function success(res, textStatus, xhr) {\n if (xhr.status == 204) {\n $(\"#cbf-portfolio-period-stats\").html('');\n $(\"#cbf-portfolio-period-stats-section\").css('display', 'none');\n } else {\n myThis.PopulatePeriodsStatsSummary(res);\n myThis.UpdateAllValuesByRiskFactorAndCurrency(myThis);\n }\n },\n error: function error(e) {\n $(\".portfolio-pane\").html(\"\".concat(window.portfolioStrings['OopsThatPageCanTBeFound'], \"\"));\n }\n });\n }\n }, {\n key: \"PopulateBasicInfo\",\n value: function PopulateBasicInfo(res) {\n var myThis = this;\n if (this.currentRiskFactor == null) {\n this.currentRiskFactor = res.riskFactor;\n if (!this.currentRiskFactor) this.currentRiskFactor = 1;\n $(\"#risk-factor\").val(this.currentRiskFactor);\n } else {\n this.currentRiskFactor = $(\"#risk-factor\").val();\n }\n if (!res.isPortfolio && !res.portfolioName) {\n res.portfolioName = res.publicName;\n }\n $(\"#trading-accounts-page-title\").html(res.portfolioName);\n $(\"head title\").html(res.portfolioName);\n if (res !== null && res !== void 0 && res.owner) {\n $(\"#portfolio-setting\").css(\"display\", \"flex\");\n if ((res === null || res === void 0 ? void 0 : res.isPublic) === false) $(\"#portfolio-private\").css(\"visibility\", \"visible\");else $(\"#portfolio-private\").css(\"visibility\", \"hidden\");\n $(\"#add-trading-account-link\").css(\"display\", \"block\");\n } else {\n $(\"#portfolio-setting\").css(\"display\", \"none\");\n }\n // if (res.isPortfolio) {\n var langSlug = \"\";\n if (window.CURRENT_LANG != 'en') langSlug += \"/\" + window.CURRENT_LANG;\n var breadcrumb = \"\").concat(window.portfolioStrings['Home'], \"\");\n breadcrumb += \"\").concat(window.portfolioStrings['Performances'], \"\");\n if (res.owner) {\n breadcrumb += \"\").concat(window.portfolioStrings['MyPerformances'], \"\");\n } else {\n breadcrumb += \"\").concat(res.publicName, \"\");\n }\n if (res.portfolioName != res.publicName) breadcrumb += \"\".concat(res.portfolioName, \"\");\n $(\"#site-breadcrumb\").html(breadcrumb);\n //} else {\n // $(\"#site-breadcrumb\").html('');\n //}\n\n if (myThis.totalsCurrency == null) {\n myThis.totalsCurrency = res.defaultTotalCurrency;\n if (!myThis.totalsCurrency) myThis.totalsCurrency = \"USD\";\n if ($(\".infinite-select-wrap #periods-currency-select-list\").length > 0) {\n $(\"#periods-currency-select-list\").infiniteselect('val', myThis.totalsCurrency);\n } else {\n $(\"#periods-currency-select-list\").infiniteselect({\n types: [{\n option: 'all',\n text: window.portfolioStrings['All']\n }, {\n option: 'forex',\n text: window.portfolioStrings['Forex']\n }, {\n option: 'crypto',\n text: window.portfolioStrings['Crypto']\n }],\n url: '/api/widgets/currencies',\n placeholder: 'Select a currency',\n \"default\": res.defaultTotalCurrency,\n showDescription: true,\n culture: window.CURRENT_LANG,\n btnClass: 'browser-default frn-override'\n });\n document.getElementById('periods-currency-select-list').addEventListener('change', function () {\n var targetCurrency = $(\"#periods-currency-select-list\").infiniteselect('val');\n myThis.totalsCurrency = targetCurrency;\n myThis.UpdateAllValuesByRiskFactorAndCurrency(myThis);\n });\n }\n }\n }\n }, {\n key: \"PopulateAccountStatsSummary\",\n value: function PopulateAccountStatsSummary(data, type) {\n var myThis = this;\n var table = '';\n table += '';\n if (data.owner) {\n table += '';\n }\n table += \"\");\n table += \"\");\n if (data.owner) {\n table += \"\");\n }\n if (data.owner) {\n table += \"\");\n }\n table += \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\";\n if (data.showTotal) {\n var totalSummary = data.realTotalSummary;\n if (type == \"demo\") totalSummary = data.demoTotalSummary;\n if (!!totalSummary && !!totalSummary.accountCurrency) {\n table += '';\n if (data.owner) {\n table += \"\";\n }\n table += \"\") + '';\n if (data.owner) {\n table += '' + '';\n }\n table += '' + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + '' + '' + '' + '';\n }\n }\n var accountStatsSummaries = [];\n if (type == 'real') accountStatsSummaries = data.realAccountStatSummaries;else accountStatsSummaries = data.demoAccountStatSummaries;\n var langSlug = '';\n if (window.CURRENT_LANG != 'en') langSlug = '/' + window.CURRENT_LANG;\n var _iterator = _createForOfIteratorHelper(accountStatsSummaries),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var element = _step.value;\n table += '';\n if (data.owner) {\n table += '';\n }\n table += \"\");\n table += '';\n if (data.owner) {\n table += '';\n }\n if (data.owner) {\n table += '';\n }\n table += '' + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + '';\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n table += '
\".concat(window.portfolioStrings['Name'], \"\".concat(window.portfolioStrings['Portfolios'], \"\".concat(window.portfolioStrings['AccountNumber'], \"\".concat(window.portfolioStrings['Private'], \"\".concat(window.portfolioStrings['Connected'], \"\".concat(window.portfolioStrings['Equity'], \"\".concat(window.portfolioStrings['OpenProfit'], \"\".concat(window.portfolioStrings['Balance'], \"\".concat(window.portfolioStrings['Profit'], \"\".concat(window.portfolioStrings['ProfitPercent'], \"\".concat(window.portfolioStrings['PeakDrawdown'], \"\".concat(window.portfolioStrings['MonthlyProfitPercent'], \"\".concat(window.portfolioStrings['Currency'], \"\".concat(window.portfolioStrings['BrokerString'], \"\".concat(window.portfolioStrings['TradingPlatform'], \"
\".concat(window.portfolioStrings['Total'], \"' + '\").concat(myThis.helper.ToDecimal(totalSummary.equity), \"\").concat(myThis.helper.ToDecimal(totalSummary.openProfit), \"\").concat(myThis.helper.ToDecimal(totalSummary.balance), \"\").concat(myThis.helper.ToDecimal(totalSummary.profit), \"\").concat(myThis.helper.ToPercent(totalSummary.profitPercent), \"\").concat(myThis.helper.ToPercent(totalSummary.drawDown, false, '--'), \"\").concat(myThis.helper.ToPercent(totalSummary.monthlyProfit), \"' + totalSummary.accountCurrency + '' + '' + '
' + '' + '\").concat(element === null || element === void 0 ? void 0 : element.name, \"
';\n if (!!(element !== null && element !== void 0 && element.portfolios) && Array.isArray(element === null || element === void 0 ? void 0 : element.portfolios)) {\n element.portfolios.forEach(function (x) {\n return table += \"\").concat(x.portfolioName, \"\");\n });\n }\n table += '
' + element.accountNumber + '' + (element !== null && element !== void 0 && element.isPublic ? '' : '') + '' + myThis.helper.ToStatus(element.lastUpdated, element.hasError) + '\").concat(myThis.helper.ToDecimal(element.equity), \"\").concat(myThis.helper.ToDecimal(element.openProfit), \"\").concat(myThis.helper.ToDecimal(element.balance), \"\").concat(myThis.helper.ToDecimal(element.profit), \"\").concat(myThis.helper.ToPercent(element.profitPercent), \"\").concat(myThis.helper.ToPercent(element.drawDown), \"\").concat(myThis.helper.ToPercent(element.monthlyProfit), \"\".concat(element.accountCurrency, \"\".concat(element.broker, \"\".concat(element.platformType, \"
';\n $(\"#cbf-portfolio-account-stats-summary-\" + type).html(table);\n InitializeScrollTable(\"#cbf-portfolio-account-stats-summary-\" + type + \" table\");\n $('[data-toggle=\"tooltip\"]').tooltip('dispose').tooltip({\n boundary: 'window'\n });\n }\n }, {\n key: \"PopulatePeriodsStatsSummary\",\n value: function PopulatePeriodsStatsSummary(data) {\n var _stat$today, _stat$today2, _stat$today$gainTWR, _stat$today3, _stat$today4, _stat$today$gainTWR2, _stat$today5, _stat$today6, _stat$today7, _stat$today8, _stat$today9, _stat$today10, _stat$today11, _stat$today12, _stat$thisWeek, _stat$thisWeek2, _stat$thisWeek$gainTW, _stat$thisWeek3, _stat$thisWeek4, _stat$thisWeek$gainTW2, _stat$thisWeek5, _stat$thisWeek6, _stat$thisWeek7, _stat$thisWeek8, _stat$thisWeek9, _stat$thisWeek10, _stat$thisWeek11, _stat$thisWeek12, _stat$thisMonth, _stat$thisMonth2, _stat$thisMonth$gainT, _stat$thisMonth3, _stat$thisMonth4, _stat$thisMonth$gainT2, _stat$thisMonth5, _stat$thisMonth6, _stat$thisMonth7, _stat$thisMonth8, _stat$thisMonth9, _stat$thisMonth10, _stat$thisMonth11, _stat$thisMonth12, _stat$thisYear, _stat$thisYear2, _stat$thisYear$gainTW, _stat$thisYear3, _stat$thisYear4, _stat$thisYear$gainTW2, _stat$thisYear5, _stat$thisYear6, _stat$thisYear7, _stat$thisYear8, _stat$thisYear9, _stat$thisYear10, _stat$thisYear11, _stat$thisYear12;\n var myThis = this;\n var stat = data;\n var table = '';\n table += '' + '' + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + '';\n table += '' + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\";\n table += '' + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + '';\n table += '' + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + '';\n table += '' + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + '';\n for (var i = (stat === null || stat === void 0 ? void 0 : (_stat$yearlyStats = stat.yearlyStats) === null || _stat$yearlyStats === void 0 ? void 0 : _stat$yearlyStats.length) - 1; i >= 0; i--) {\n var _stat$yearlyStats;\n if (new Date(stat === null || stat === void 0 ? void 0 : stat.yearlyStats[i].date).getUTCFullYear() != new Date().getUTCFullYear()) {\n table += '' + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + \"\") + '';\n }\n }\n table += '
\".concat(window.portfolioStrings['ProfitPercent'], \"\").concat(window.portfolioStrings['ProfitPercent'], \", \".concat(window.portfolioStrings['Profit'], \"\".concat(window.portfolioStrings['WinPercent'], \"\".concat(window.portfolioStrings['Trades'], \"\".concat(window.portfolioStrings['Volume'], \"\".concat(window.portfolioStrings['Currency'], \"
\".concat(window.portfolioStrings['Today'], \"\").concat(myThis.helper.ToPercent((_stat$today2 = stat.today) === null || _stat$today2 === void 0 ? void 0 : _stat$today2.gain, true), \"\").concat(myThis.helper.ToPercent((_stat$today$gainTWR2 = (_stat$today5 = stat.today) === null || _stat$today5 === void 0 ? void 0 : _stat$today5.gainTWR) !== null && _stat$today$gainTWR2 !== void 0 ? _stat$today$gainTWR2 : (_stat$today6 = stat.today) === null || _stat$today6 === void 0 ? void 0 : _stat$today6.gain, true), \"\").concat(myThis.helper.ToDecimal((_stat$today8 = stat.today) === null || _stat$today8 === void 0 ? void 0 : _stat$today8.profit, true), \"\".concat(myThis.helper.ToPercent((_stat$today9 = stat.today) === null || _stat$today9 === void 0 ? void 0 : _stat$today9.winPercentage), \"\".concat(myThis.helper.ToIntNumber((_stat$today10 = stat.today) === null || _stat$today10 === void 0 ? void 0 : _stat$today10.trades), \"\").concat(myThis.helper.ToDecimal((_stat$today12 = stat.today) === null || _stat$today12 === void 0 ? void 0 : _stat$today12.lots), \"\".concat(stat.currency, \"
\".concat(window.portfolioStrings['ThisWeek'], \"\").concat(myThis.helper.ToPercent((_stat$thisWeek2 = stat.thisWeek) === null || _stat$thisWeek2 === void 0 ? void 0 : _stat$thisWeek2.gain, true), \"\").concat(myThis.helper.ToPercent((_stat$thisWeek$gainTW2 = (_stat$thisWeek5 = stat.thisWeek) === null || _stat$thisWeek5 === void 0 ? void 0 : _stat$thisWeek5.gainTWR) !== null && _stat$thisWeek$gainTW2 !== void 0 ? _stat$thisWeek$gainTW2 : (_stat$thisWeek6 = stat.thisWeek) === null || _stat$thisWeek6 === void 0 ? void 0 : _stat$thisWeek6.gain, true), \"\").concat(myThis.helper.ToDecimal((_stat$thisWeek8 = stat.thisWeek) === null || _stat$thisWeek8 === void 0 ? void 0 : _stat$thisWeek8.profit, true), \"\".concat(myThis.helper.ToPercent((_stat$thisWeek9 = stat.thisWeek) === null || _stat$thisWeek9 === void 0 ? void 0 : _stat$thisWeek9.winPercentage), \"\".concat(myThis.helper.ToIntNumber((_stat$thisWeek10 = stat.thisWeek) === null || _stat$thisWeek10 === void 0 ? void 0 : _stat$thisWeek10.trades), \"\").concat(myThis.helper.ToDecimal((_stat$thisWeek12 = stat.thisWeek) === null || _stat$thisWeek12 === void 0 ? void 0 : _stat$thisWeek12.lots), \"\".concat(stat.currency, \"
\".concat(window.portfolioStrings['ThisMonth'], \"\").concat(myThis.helper.ToPercent((_stat$thisMonth2 = stat.thisMonth) === null || _stat$thisMonth2 === void 0 ? void 0 : _stat$thisMonth2.gain, true), \"\").concat(myThis.helper.ToPercent((_stat$thisMonth$gainT2 = (_stat$thisMonth5 = stat.thisMonth) === null || _stat$thisMonth5 === void 0 ? void 0 : _stat$thisMonth5.gainTWR) !== null && _stat$thisMonth$gainT2 !== void 0 ? _stat$thisMonth$gainT2 : (_stat$thisMonth6 = stat.thisMonth) === null || _stat$thisMonth6 === void 0 ? void 0 : _stat$thisMonth6.gain, true), \"\").concat(myThis.helper.ToDecimal((_stat$thisMonth8 = stat.thisMonth) === null || _stat$thisMonth8 === void 0 ? void 0 : _stat$thisMonth8.profit, true), \"\".concat(myThis.helper.ToPercent(stat === null || stat === void 0 ? void 0 : (_stat$thisMonth9 = stat.thisMonth) === null || _stat$thisMonth9 === void 0 ? void 0 : _stat$thisMonth9.winPercentage), \"\".concat(myThis.helper.ToIntNumber(stat === null || stat === void 0 ? void 0 : (_stat$thisMonth10 = stat.thisMonth) === null || _stat$thisMonth10 === void 0 ? void 0 : _stat$thisMonth10.trades), \"\").concat(myThis.helper.ToDecimal((_stat$thisMonth12 = stat.thisMonth) === null || _stat$thisMonth12 === void 0 ? void 0 : _stat$thisMonth12.lots), \"\".concat(stat.currency, \"
\".concat(window.portfolioStrings['ThisYear'], \"\").concat(myThis.helper.ToPercent((_stat$thisYear2 = stat.thisYear) === null || _stat$thisYear2 === void 0 ? void 0 : _stat$thisYear2.gain, true), \"\").concat(myThis.helper.ToPercent((_stat$thisYear$gainTW2 = (_stat$thisYear5 = stat.thisYear) === null || _stat$thisYear5 === void 0 ? void 0 : _stat$thisYear5.gainTWR) !== null && _stat$thisYear$gainTW2 !== void 0 ? _stat$thisYear$gainTW2 : (_stat$thisYear6 = stat.thisYear) === null || _stat$thisYear6 === void 0 ? void 0 : _stat$thisYear6.gain, true), \"\").concat(myThis.helper.ToDecimal((_stat$thisYear8 = stat.thisYear) === null || _stat$thisYear8 === void 0 ? void 0 : _stat$thisYear8.profit, true), \"\".concat(myThis.helper.ToPercent((_stat$thisYear9 = stat.thisYear) === null || _stat$thisYear9 === void 0 ? void 0 : _stat$thisYear9.winPercentage), \"\".concat(myThis.helper.ToIntNumber((_stat$thisYear10 = stat.thisYear) === null || _stat$thisYear10 === void 0 ? void 0 : _stat$thisYear10.trades), \"\").concat(myThis.helper.ToDecimal((_stat$thisYear12 = stat.thisYear) === null || _stat$thisYear12 === void 0 ? void 0 : _stat$thisYear12.lots), \"\".concat(stat.currency, \"
\".concat(new Date(stat === null || stat === void 0 ? void 0 : stat.yearlyStats[i].date).getUTCFullYear(), \"\").concat(myThis.helper.ToPercent(stat.yearlyStats[i].gainPercent, true), \"\").concat(myThis.helper.ToPercent(stat.yearlyStats[i].gainPercentTWR, true), \"\").concat(myThis.helper.ToDecimal(stat.yearlyStats[i].profit, true), \"\".concat(myThis.helper.ToPercent((stat === null || stat === void 0 ? void 0 : stat.yearlyStats[i].winTradeCount) / (stat === null || stat === void 0 ? void 0 : stat.yearlyStats[i].tradeCount)), \"\".concat(myThis.helper.ToIntNumber(stat === null || stat === void 0 ? void 0 : stat.yearlyStats[i].tradeCount), \"\").concat(myThis.helper.ToDecimal(stat.yearlyStats[i].lots), \"\".concat(stat.currency, \"
';\n $(\"#cbf-portfolio-period-stats\").html(table);\n $(\"#cbf-portfolio-period-stats-section\").css('display', 'block');\n InitializeScrollTable(\"#cbf-portfolio-period-stats table\");\n }\n }, {\n key: \"OpenPortfolioSettingsDialog\",\n value: function OpenPortfolioSettingsDialog() {\n $(\"#PortfolioName\").val(this.portfolioInfo.portfolioName);\n $(\"#PortfolioRiskFactor\").val(this.portfolioInfo.riskFactor);\n $(\"#PortfolioDefaultCurreny\").infiniteselect('val', this.portfolioInfo.defaultTotalCurrency);\n if (this.portfolioId == 0) {\n $(\"#PortfolioIsPublic\").prop('checked', true);\n $(\"#PortfolioIsPublic\").prop('disabled', true);\n $(\"#edit-portfolio-dialog-delete-button\").hide();\n } else {\n $(\"#PortfolioIsPublic\").prop('checked', this.portfolioInfo.isPublic);\n $(\"#PortfolioIsPublic\").prop('disabled', false);\n $(\"#edit-portfolio-dialog-delete-button\").show();\n }\n $(\"#PortfolioBalance\").prop('checked', this.portfolioInfo.showBalance);\n $(\"#PortfolioTotal\").prop('checked', this.portfolioInfo.showTotal);\n $(\"#edit-portfolio-dialog-add-control\").hide();\n $(\"#edit-portfolio-dialog-update-control\").show();\n $(\"#portfolio-setting-dialog\").modal('show');\n }\n }, {\n key: \"OpenCreatePortfolioDialog\",\n value: function OpenCreatePortfolioDialog() {\n $(\"#PortfolioName\").val('');\n $(\"#PortfolioRiskFactor\").val(1);\n $(\"#PortfolioDefaultCurreny\").infiniteselect('val', '');\n $(\"#PortfolioIsPublic\").prop('checked', false);\n $(\"#PortfolioIsPublic\").prop('disabled', false);\n $(\"#PortfolioBalance\").prop('checked', false);\n $(\"#PortfolioTotal\").prop('checked', false);\n $(\"#edit-portfolio-dialog-update-control\").hide();\n $(\"#edit-portfolio-dialog-add-control\").show();\n $(\"#portfolio-setting-dialog\").modal('show');\n }\n }, {\n key: \"GetDataFromPortfolioSettingForm\",\n value: function GetDataFromPortfolioSettingForm() {\n var data = {};\n data['Id'] = this.portfolioId;\n data['PortfolioName'] = $(\"#PortfolioName\").val();\n data['IsPublic'] = $(\"#PortfolioIsPublic\").prop('checked');\n data['ShowBalance'] = $(\"#PortfolioBalance\").prop('checked');\n data['ShowTotals'] = $(\"#PortfolioTotal\").prop('checked');\n data['RiskFactor'] = $(\"#PortfolioRiskFactor\").val();\n data['DefaultTotalCurrency'] = $(\"#PortfolioDefaultCurreny\").val();\n return data;\n }\n }, {\n key: \"UpdatePortfolio\",\n value: function UpdatePortfolio() {\n var myThis = this;\n var data = myThis.GetDataFromPortfolioSettingForm();\n $(\"#portfolio-setting-dialog-progress\").show();\n $(\"#broker-list-loading\").show();\n myThis.currentRiskFactor = null;\n myThis.totalsCurrency = null;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('PortfoliosLink') + '/' + myThis.portfolioId,\n type: 'PUT',\n data: JSON.stringify(data),\n contentType: 'application/json; charset=utf-8',\n dataType: 'json',\n success: function success(res) {\n myThis.InitializePage();\n toastr.success(\"Your portfolio is successfully updated!\");\n },\n error: function error() {\n toastr.error(\"Failed to save portfolio settings! Please try again later.\");\n },\n complete: function complete() {\n $(\"#portfolio-setting-dialog-progress\").hide();\n $(\"#portfolio-setting-dialog\").modal('hide');\n $(\"#broker-list-loading\").hide();\n }\n });\n }\n }, {\n key: \"CreatePortfolio\",\n value: function CreatePortfolio() {\n var myThis = this;\n var data = myThis.GetDataFromPortfolioSettingForm();\n $(\"#portfolio-setting-dialog-progress\").show();\n $(\"#broker-list-loading\").show();\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('PortfoliosLink'),\n type: 'POST',\n data: JSON.stringify(data),\n contentType: 'application/json; charset=utf-8',\n dataType: 'json',\n success: function success() {\n toastr.success(\"Your portfolio is successfully created!\");\n },\n error: function error() {\n toastr.error(\"Failed to create your portfolio! Please try again later.\");\n },\n complete: function complete() {\n $(\"#portfolio-setting-dialog-progress\").hide();\n $(\"#portfolio-setting-dialog\").modal('hide');\n $(\"#broker-list-loading\").hide();\n }\n });\n }\n }, {\n key: \"OpenDeletePortfolioDialog\",\n value: function OpenDeletePortfolioDialog() {\n $(\"#delete-portfolio-confirm-dialog\").modal('show');\n }\n }, {\n key: \"DeletePortfolio\",\n value: function DeletePortfolio() {\n var myThis = this;\n $(\"#broker-list-loading\").show();\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('PortfoliosLink') + '/' + myThis.portfolioId,\n type: 'DELETE',\n success: function success() {\n toastr.success(\"Your portfolio is successfully deleted!\");\n if (window.location.pathname.endsWith(\"/\" + myThis.portfolioId)) {\n var newUrl = window.location.pathname.substr(0, window.location.pathname.length - (\"/\" + myThis.portfolioId).length);\n window.history.replaceState({\n path: newUrl\n }, '', newUrl);\n }\n myThis.portfolioId = 0;\n myThis.InitializePage();\n },\n error: function error() {\n toastr.error(\"Failed to delete your portfolio! Please try again later.\");\n },\n complete: function complete() {\n $(\"#broker-list-loading\").hide();\n }\n });\n }\n }, {\n key: \"ApplyRiskFactor\",\n value: function ApplyRiskFactor(riskFactor) {\n var myThis = this;\n riskFactor = parseFloat(riskFactor);\n if (!!riskFactor) {\n myThis.currentRiskFactor = riskFactor;\n myThis.UpdateAllValuesByRiskFactorAndCurrency(myThis);\n }\n }\n }, {\n key: \"UpdateAllValuesByRiskFactorAndCurrency\",\n value: function UpdateAllValuesByRiskFactorAndCurrency(myThis) {\n var currencies = new Set();\n $('[data-currency]').each(function (index, item) {\n if (!!$(item).data('currency')) {\n currencies.add($(item).data('currency'));\n }\n });\n var promises = [];\n $(\"#broker-list-loading\").show();\n currencies.forEach(function (x) {\n if (!myThis.currencyRates[x]) myThis.currencyRates[x] = new Object();\n if (!myThis.currencyRates[x][myThis.totalsCurrency]) {\n var promise = window.CalculatorHelper.GetExchangeRateAsync(x, myThis.totalsCurrency);\n promise.then(function (res) {\n myThis.currencyRates[x][myThis.totalsCurrency] = res.rate;\n });\n promises.push(promise);\n }\n });\n Promise.all(promises).then(function () {\n $(\"#broker-list-loading\").hide();\n $('[data-update=\"risk-factor\"]').each(function (index, item) {\n var newValue;\n if ($(item).data('mul') == \"undefined\") {\n newValue = undefined;\n } else {\n newValue = $(item).data('sum') + $(item).data('mul') * myThis.currentRiskFactor;\n }\n if (!!$(item).data(\"currency\")) {\n newValue = newValue * myThis.currencyRates[$(item).data(\"currency\")][myThis.totalsCurrency];\n }\n var format = $(item).data(\"format\") !== undefined;\n var zeroStr = $(item).data(\"zerostr\");\n if ($(item).data('type') == \"percent\") {\n if (zeroStr) $(item).html(myThis.helper.ToPercent(newValue, format, zeroStr));else $(item).html(myThis.helper.ToPercent(newValue, format));\n } else {\n if (zeroStr) $(item).html(myThis.helper.ToDecimal(newValue, format, zeroStr));else $(item).html(myThis.helper.ToDecimal(newValue, format));\n }\n });\n $('[data-update=\"currency\"]').html(myThis.totalsCurrency);\n });\n }\n }]);\n return AISPortfolio;\n}();\nvar _default = AISPortfolio;\nexports[\"default\"] = _default;\n\n},{}],5:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _AISHelper = _interopRequireDefault(require(\"./AISHelper\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar AISStatistics = /*#__PURE__*/function () {\n function AISStatistics(aisRoot, aisDataRoot) {\n _classCallCheck(this, AISStatistics);\n var urlParam = new URLSearchParams(location.search);\n if (urlParam.get('said')) this.aisAccountId = urlParam.get('said');\n this.aisRoot = aisRoot;\n this.aisDataRoot = aisDataRoot;\n this.statistics = {};\n this.equityChartZoomed = false;\n this.urls = {\n StatisticsLink: '/api/v1/mt/statistics',\n StatsHub: '/stats-hub',\n AddStatsHubLink: '/add-stats-hub',\n ProfitChartLink: '/api/v1/mt/statistics/chart/profit',\n EquityChartLink: '/api/v1/mt/statistics/chart/equity',\n EquityDetailChartLink: '/api/v1/mt/statistics/chart/equity-exact',\n OpenProfitChartLink: '/api/v1/mt/statistics/chart/open-profit',\n OpenProfitPercentChartLink: '/api/v1/mt/statistics/chart/open-profit-percent',\n ProfileDrawdownChartLink: '/api/v1/mt/statistics/chart/drawdown',\n ProfileBalanceChartLink: '/api/v1/mt/statistics/chart/balance',\n ProfileGrowthChartLink: '/api/v1/mt/statistics/chart/profit-percent',\n ProfileMonthlyChartLink: '/api/v1/mt/statistics/monthly-analytics-chart',\n ProfileAdvancedSummaryChartLink: '/api/v1/mt/statistics/advanced-symbol-chart',\n ProfileAdvancedPeriodChartLink: '/api/v1/mt/statistics/advanced-period-chart',\n ProfileAdvancedDurationChartLink: '/api/v1/mt/statistics/advanced-duration-chart',\n ProfileAdvancedMAEMFEChartLink: '/api/v1/mt/statistics/advanced-mae-mfe-chart',\n ProfileTradingActivityOpenTradesLink: '/api/v1/mt/trades/open',\n ProfileTradingActivityOpenOrdersLink: '/api/v1/mt/trades/open-order',\n ProfileTradingActivityHistoryLink: '/api/v1/mt/trades/history',\n ProfileTradingActivityExcludedLink: '/api/v1/mt/trades/excluded',\n ProfileTradingActivityExposureLink: '/api/v1/mt/trades/exposure',\n ProfileMonthlyAnalyticsLink: '/api/v1/mt/statistics/monthly-analytics-chart',\n ProfileMonthlyAnalyticsDetailLink: '/api/v1/mt/statistics/monthly-analytics-detail-chart'\n };\n this.customUrls = {\n StatisticsLink: '/api/v1/mt/custom/statistics',\n StatsHub: '/stats-hub',\n AddStatsHubLink: '/add-stats-hub',\n ProfitChartLink: '/api/v1/mt/custom/statistics/chart/profit',\n EquityChartLink: '/api/v1/mt/custom/statistics/chart/equity',\n OpenProfitChartLink: '/api/v1/mt/custom/statistics/chart/open-profit',\n OpenProfitPercentChartLink: '/api/v1/mt/custom/statistics/chart/open-profit-percent',\n ProfileDrawdownChartLink: '/api/v1/mt/custom/statistics/chart/drawdown',\n ProfileBalanceChartLink: '/api/v1/mt/custom/statistics/chart/balance',\n ProfileGrowthChartLink: '/api/v1/mt/custom/statistics/chart/profit-percent',\n ProfileMonthlyChartLink: '/api/v1/mt/custom/statistics/monthly-analytics-chart',\n ProfileAdvancedSummaryChartLink: '/api/v1/mt/custom/statistics/advanced-symbol-chart',\n ProfileAdvancedPeriodChartLink: '/api/v1/mt/custom/statistics/advanced-period-chart',\n ProfileAdvancedDurationChartLink: '/api/v1/mt/custom/statistics/advanced-duration-chart',\n ProfileAdvancedMAEMFEChartLink: '/api/v1/mt/custom/statistics/advanced-mae-mfe-chart',\n ProfileTradingActivityOpenTradesLink: '/api/v1/mt/custom/trades/open',\n ProfileTradingActivityOpenOrdersLink: '/api/v1/mt/custom/trades/open-order',\n ProfileTradingActivityHistoryLink: '/api/v1/mt/custom/trades/history',\n ProfileTradingActivityExcludedLink: '/api/v1/mt/custom/trades/excluded',\n ProfileTradingActivityExposureLink: '/api/v1/mt/custom/trades/exposure',\n ProfileMonthlyAnalyticsLink: '/api/v1/mt/custom/statistics/monthly-analytics-chart',\n ProfileMonthlyAnalyticsDetailLink: '/api/v1/mt/custom/statistics/monthly-analytics-detail-chart',\n UpdateCustomOptionsLink: '/api/v1/mt/custom/statistics/update-custom-options'\n };\n this.usingUrls = this.urls;\n this.currentChart = 'profit-percent';\n this.defaultChart = 'profit-percent';\n this.helper = new _AISHelper[\"default\"]();\n this.apexCharts = {};\n this.tradingActivitySortParam = {};\n this.accountInfo = {};\n this.customOptions = {};\n this.timeOffset = 0;\n this.chartOptionHtmls = {\n 'advanced-hourly': \"
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n \").concat(window.statsStrings['CalculatedBasedOnClosedTrades'], \"\"),\n 'monthly-profit': \"
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \").concat(window.statsStrings['CalculatedBasedOnEquityWhenEquityDataIsAvailable'], \"\"),\n 'monthly-profit-twr': \"
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \").concat(window.statsStrings['CalculatedBasedOnEquityWhenEquityDataIsAvailable'], \"\"),\n 'closed-monthly-profit-twr': \"
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \").concat(window.statsStrings['CalculatedBasedOnClosedTrades'], \"\"),\n 'closed-monthly-profit': \"
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \").concat(window.statsStrings['CalculatedBasedOnClosedTrades'], \"\"),\n 'drawdown': \"
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \").concat(window.statsStrings['CalculatedBasedOnEquityWhenEquityDataIsAvailable'], \"\"),\n 'balance': \"\".concat(window.statsStrings['BalanceCalculatedBasedOnClosedTrades'], \"\"),\n 'advanced-maemfe': \"
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n \").concat(window.statsStrings['CalculatedBasedOnClosedTrades'], \"\"),\n 'profit-percent': \"\".concat(window.statsStrings['CalculatedBasedOnEquityWhenEquityDataIsAvailable'], \"\"),\n 'profit': \"\".concat(window.statsStrings['CalculatedBasedOnEquityWhenEquityDataIsAvailable'], \"\"),\n 'closed-profit': \"\".concat(window.statsStrings['CalculatedBasedOnClosedTrades'], \"\"),\n 'equity': \"\".concat(window.statsStrings['EquityChartMessage'], \"\"),\n 'open-profit': \"\".concat(window.statsStrings['CalculatedBasedOnEquityWhenEquityDataIsAvailable'], \"\"),\n 'open-profit-percent': \"\".concat(window.statsStrings['CalculatedBasedOnEquityWhenEquityDataIsAvailable'], \"\"),\n 'profit-percent-twr': \"\".concat(window.statsStrings['CalculatedBasedOnEquityWhenEquityDataIsAvailable'], \"\"),\n 'closed-profit-percent-twr': \"\".concat(window.statsStrings['CalculatedBasedOnClosedTrades'], \"\")\n };\n this.chartOptionHtmls['advanced-daily'] = this.chartOptionHtmls['advanced-hourly'];\n this.chartOptionHtmls['advanced-duration'] = this.chartOptionHtmls['monthly-profit'];\n this.ajaxNum = 0;\n this.customAnalysisLoaded = false;\n }\n _createClass(AISStatistics, [{\n key: \"InitializeEventTriggers\",\n value: function InitializeEventTriggers() {\n var myThis = this;\n $(document).on('click', '[data-trigger=drawchart]', function () {\n var $this = $(this);\n var chart = $this.data(\"chart\");\n myThis.DrawSummaryChart($this, chart);\n });\n $(document).on('change', '#profile-summary-chart-options input', function () {\n myThis.UpdateSummaryChart();\n });\n $(document).on(\"change\", \"input[data-trigger=draw-symbol-summary-chart]\", function (e) {\n var tr = $(this).closest('tr');\n var symbol = $(tr).data('id').split('-')[1];\n myThis.DrawAdvancedStatSummaryChart(symbol);\n });\n $(document).on('click', \"#monthly-analytics-tablist li a\", function () {\n var $this = $(this);\n var year = $this.data('year');\n var type = $(\"input[name=monthly-analytics-chart-type]:checked\").val();\n myThis.DrawMonthlyAnalyticsChart('monthly-analytics-chart', type, year, true);\n });\n $(document).on('change', \"input[name=monthly-analytics-chart-type]\", function (e) {\n var type = $(\"input[name=monthly-analytics-chart-type]:checked\").val();\n var year = $(\"#monthly-analytics-tablist li a.active\").data('year');\n myThis.DrawMonthlyAnalyticsChart('monthly-analytics-chart', type, year, false);\n });\n $(document).on('change', 'input#periodEquitySwitch', function () {\n if (document.querySelector(\"#periodEquitySwitch\").checked) {\n var _myThis$statistics, _myThis$statistics2;\n myThis.PopulateTradingPeriods((_myThis$statistics = myThis.statistics) === null || _myThis$statistics === void 0 ? void 0 : _myThis$statistics.balanceBasicStats, (_myThis$statistics2 = myThis.statistics) === null || _myThis$statistics2 === void 0 ? void 0 : _myThis$statistics2.yearlyStats);\n $(\"#periodStatDescription\").html(window.statsStrings['CalculatedBasedOnClosedTrades']);\n } else {\n var _myThis$statistics3, _myThis$statistics4;\n myThis.PopulateTradingPeriods((_myThis$statistics3 = myThis.statistics) === null || _myThis$statistics3 === void 0 ? void 0 : _myThis$statistics3.equityBasicStats, (_myThis$statistics4 = myThis.statistics) === null || _myThis$statistics4 === void 0 ? void 0 : _myThis$statistics4.yearlyStats);\n $(\"#periodStatDescription\").html(window.statsStrings['CalculatedBasedOnClosedAndOpenTrades']);\n }\n });\n $(document).on('click', 'td.sort[data-sort-param]', function (e) {\n var $this = $(this);\n var selector = $this.data(\"id\");\n var leftOffset = $(selector + \" .tablescroll-wrap\").scrollLeft();\n var dir = \"asce\";\n if ($this.hasClass(\"asce\")) dir = \"desc\";else dir = \"asce\";\n $(selector + \" td.sort[data-sort-param]\").removeClass(\"asce\");\n $(selector + \" td.sort[data-sort-param]\").removeClass(\"desc\");\n $this.addClass(dir);\n myThis.tradingActivitySortParam[selector] = {\n sortParam: $this.data(\"sort-param\"),\n sortOrder: dir\n };\n window.APIHelper.GetAccessTokenAsync().then(function () {\n $(selector).pagination($(selector).pagination('getSelectedPageNum'));\n $(selector).addHook('afterPaging', function () {\n $(selector + \" .tablescroll-wrap\").scrollLeft(leftOffset);\n });\n });\n });\n $(document).on('click', '[data-toggle=\"summary-chart\"]', function () {\n var symbol = $(this).data('symbol');\n if (!$('#advanced-stats-summary-tab tr[data-id=\"' + myThis.aisAccountId + '-' + symbol + '\"]').is(\":hidden\")) {\n $('#advanced-stats-summary-tab tr[data-id=\"' + myThis.aisAccountId + '-' + symbol + '\"] td div.advanced-summary-chart').html(window.statsStrings['LoadingData']);\n }\n if ($('#advanced-stats-summary-tab tr[data-id=\"' + myThis.aisAccountId + '-' + symbol + '\"]').is(\":hidden\")) {\n myThis.DrawAdvancedStatSummaryChart(symbol);\n }\n $(this).parents().next('.summary-chart-row').toggle();\n });\n $(document).on('click', '#custom-analysis-option-list button', function (e) {\n var $this = $(this);\n var id = $this.attr('id');\n myThis.ChangeCustomAnalysisOptionContent($this, id);\n });\n $(document).on('click', '#custom-analysis-period a', function (e) {\n var $this = $(this);\n $('#custom-analysis-period li').removeClass('active');\n $this.parent().addClass('active');\n var val = $this.attr('name');\n if (val == \"-1\") {\n var currentDate = new Date();\n currentDate.setDate(currentDate.getDate() + 1);\n var startDate = window.tradeStartDate;\n $('#StartDate').datetimepicker('format', 'YYYY-MM-DD HH:mm');\n $('#StartDate').datetimepicker('date', new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate() - 1, 12, 0));\n $('#EndDate').val(\"\");\n } else {\n var stDate = new Date();\n var enDate = new Date();\n enDate.setDate(enDate.getDate() + 1);\n var num = parseInt(val.charAt(0));\n var unit = val.charAt(1);\n switch (unit) {\n case 'D':\n stDate.setDate(stDate.getDate() - num);\n break;\n case 'W':\n stDate.setDate(stDate.getDate() - num * 7);\n break;\n case 'M':\n stDate.setMonth(stDate.getMonth() - num);\n break;\n case 'Y':\n stDate.setFullYear(stDate.getFullYear() - num);\n break;\n }\n $('#StartDate').datetimepicker('format', 'YYYY-MM-DD HH:mm');\n $('#StartDate').datetimepicker('date', stDate);\n $(\"#EndDate\").val(\"\");\n }\n });\n $(document).on('change', '#DurationUnit', function (e) {\n var val = e.target.value;\n $('#DurationUnitSpan').html(\" (\" + val + \")\");\n });\n $(document).on('mouseup touchend', function (e) {\n var container = $('.bootstrap-datetimepicker-widget');\n if (!container.is(e.target) && container.has(e.target).length === 0) {\n container.prev().datetimepicker('hide');\n }\n });\n $(document).on('change', '#custom-analysis-form input[name=CustomDeposit]', function (e) {\n var customDeposit = e.target.value;\n if (customDeposit > 10000000 && $('#CustomDepositErrorMessage').hasClass('hide')) {\n $('#CustomDepositErrorMessage').removeClass('hide');\n }\n if (customDeposit <= 10000000 && !$('#CustomDepositErrorMessage').hasClass('hide')) {\n $('#CustomDepositErrorMessage').addClass('hide');\n }\n });\n $(document).on('change', '#custom-analysis-form input[name=RiskFactor]', function (e) {\n var riskFactor = e.target.value;\n if (riskFactor == \"\") {\n if ($('#RiskFactorEmptyErrorMessage').hasClass('hide')) $('#RiskFactorEmptyErrorMessage').removeClass('hide');\n } else {\n if (!$('#RiskFactorEmptyErrorMessage').hasClass('hide')) $('#RiskFactorEmptyErrorMessage').addClass('hide');\n if (riskFactor == 0 && $('#RiskFactorGreaterThanZeroErrorMessage').hasClass('hide')) {\n $('#RiskFactorGreaterThanZeroErrorMessage').removeClass('hide');\n }\n if (riskFactor > 0 && !$('#RiskFactorGreaterThanZeroErrorMessage').hasClass('hide')) {\n $('#RiskFactorGreaterThanZeroErrorMessage').addClass('hide');\n }\n }\n });\n var statsConnection = new signalR.HubConnectionBuilder().withUrl(myThis.SignalRUrl('StatsHub')).configureLogging(signalR.LogLevel.Warning).withAutomaticReconnect().build();\n statsConnection.start();\n statsConnection.on(\"UpdateMt4UserStats\", function (aisId, state) {\n if (state == \"updated\" && aisId == myThis.aisAccountId) {\n console.log('Refresh stats page');\n myThis.InitializePage(true);\n }\n });\n var addMt4Connection = new signalR.HubConnectionBuilder().withUrl(myThis.SignalRUrl('AddStatsHubLink')).configureLogging(signalR.LogLevel.Warning).withAutomaticReconnect().build();\n addMt4Connection.start();\n addMt4Connection.on(\"VerifyMT4Account\", function (accountId, state, message) {\n if (accountId == myThis.aisAccountId) {\n if (state == \"finish\") {\n myThis.InitializePage(true);\n toastr.success(window.statsStrings['YourAccountHasBeenSuccessfullyVerified']);\n $(\"#edit-trading-account-dialog\").modal('hide');\n } else if (state == \"error\") {\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").html(window.statsStrings['FailedToVerify']);\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").removeClass(\"processing\");\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").addClass(\"error\");\n toastr.error(window.statsStrings['FailedToVerify']);\n } else {\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").removeClass(\"error\");\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").removeClass(\"finish\");\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").addClass(\"processing\");\n $(\"#verificaton-process[data-id=\" + accountId + \"]\").html(window.statsStrings['ConnectingToAccount']);\n }\n }\n });\n }\n }, {\n key: \"Url\",\n value: function Url(key) {\n return this.aisRoot + (this.usingUrls || {})[key];\n }\n }, {\n key: \"SignalRUrl\",\n value: function SignalRUrl(key) {\n return this.aisDataRoot + (this.urls || {})[key];\n }\n }, {\n key: \"GetCustomOptions\",\n value: function GetCustomOptions() {\n this.customOptions[\"StartDate\"] = $(\"#custom-analysis-form input[name=StartDate]\").val();\n this.customOptions[\"EndDate\"] = $(\"#custom-analysis-form input[name=EndDate]\").val();\n var symbols = new Array();\n $(\"li[id^=symbols-bool]\").each(function (i, v) {\n if (v.querySelector(\"input\").checked) {\n symbols.push(v.querySelector(\"input\").name);\n }\n });\n this.customOptions[\"Symbols\"] = symbols;\n var weekdays = new Array();\n $(\"li[id^=weekdays-bool]\").each(function (i, v) {\n if (v.querySelector(\"input\").checked) {\n weekdays.push(i);\n }\n });\n this.customOptions[\"Weekdays\"] = weekdays;\n var hours = new Array();\n $(\"li[id^=hours-bool]\").each(function (i, v) {\n if (v.querySelector(\"input\").checked) {\n hours.push(i);\n }\n });\n this.customOptions[\"Hours\"] = hours;\n var analyzeBy = new Array();\n $(\"li[id^=analyzeby-bool]\").each(function (i, v) {\n if (v.querySelector(\"input\").checked) {\n analyzeBy.push(v.querySelector(\"input\").name);\n }\n });\n this.customOptions[\"AnalyzeBy\"] = analyzeBy;\n this.customOptions[\"GainMin\"] = $(\"#custom-analysis-form input[name=gain-min]\").val();\n this.customOptions[\"GainMax\"] = $(\"#custom-analysis-form input[name=gain-max]\").val();\n this.customOptions[\"ProfitMin\"] = $(\"#custom-analysis-form input[name=profit-min]\").val();\n this.customOptions[\"ProfitMax\"] = $(\"#custom-analysis-form input[name=profit-max]\").val();\n this.customOptions[\"DurationMin\"] = $(\"#custom-analysis-form input[name=duration-min]\").val();\n this.customOptions[\"DurationMax\"] = $(\"#custom-analysis-form input[name=duration-max]\").val();\n this.customOptions[\"DurationUnit\"] = $(\"#custom-analysis-form select[name=DurationUnit]\").find(\":selected\").val();\n this.customOptions[\"PipsMin\"] = $(\"#custom-analysis-form input[name=pips-min]\").val();\n this.customOptions[\"PipsMax\"] = $(\"#custom-analysis-form input[name=pips-max]\").val();\n this.customOptions[\"LotsMin\"] = $(\"#custom-analysis-form input[name=lots-min]\").val();\n this.customOptions[\"LotsMax\"] = $(\"#custom-analysis-form input[name=lots-max]\").val();\n var tradeTypes = new Array();\n $(\"li[id^=tradetypes-bool]\").each(function (i, v) {\n if (v.querySelector(\"input\").checked) {\n tradeTypes.push(v.querySelector(\"input\").name);\n }\n });\n this.customOptions[\"TradeTypes\"] = tradeTypes;\n this.customOptions[\"CustomDeposit\"] = $(\"#custom-analysis-form input[name=CustomDeposit]\").val();\n this.customOptions[\"RiskFactor\"] = $(\"#custom-analysis-form input[name=RiskFactor]\").val();\n }\n }, {\n key: \"DateToString\",\n value: function DateToString(d) {\n var dformat = [d.getFullYear(), d.getMonth() + 1, d.getDate()].join('-') + ' ' + [d.getHours(), d.getMinutes()].join(':');\n return dformat;\n }\n }, {\n key: \"ShowLoadingSpin\",\n value: function ShowLoadingSpin() {\n if ($(\"#stat-spinner\").length) {\n $(\".stat-spinner\").show();\n } else {\n $(\".main-content-pane\").prepend(\"
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \".concat(window.statsStrings['LoadingSpinText'], \"\\n
\\n
\\n
\"));\n window.spinInitialTop = $(\"#stat-spinner\").height() * 9 / 100;\n var screenwidth = window.innerWidth > 0 ? window.innerWidth : screen.width;\n if (screenwidth < 768) {\n window.spinInitialTop = $(\"#stat-spinner\").height() * 4 / 100;\n }\n }\n var top = window.spinInitialTop + $(document).scrollTop();\n if ($(document).scrollTop() > $('header').height()) {\n top -= $('header').height() - 50;\n }\n $('#loading-spin').css('top', top);\n var screenwidth = window.innerWidth > 0 ? window.innerWidth : screen.width;\n $('body').addClass(\"stop-scrolling\");\n }\n }, {\n key: \"HideLoadingSpin\",\n value: function HideLoadingSpin() {\n $('body').removeClass('stop-scrolling');\n $('.stat-spinner').hide();\n }\n }, {\n key: \"ApplyCustomAnalysis\",\n value: function ApplyCustomAnalysis() {\n this.ShowLoadingSpin();\n this.usingUrls = this.customUrls;\n this.GetCustomOptions();\n $(\"#custom-analysis-dialog\").modal('hide');\n if (this.IsInitialCustomOptions()) {\n this.ResetAnalysis();\n } else {\n var _this$accountInfo;\n if (this.customOptions[\"StartDate\"] == \"\" || this.customOptions[\"StartDate\"] == null) {\n this.customOptions[\"StartDate\"] = this.DateToString(window.tradeStartDate);\n }\n if (this.customOptions[\"EndDate\"] == \"\" || this.customOptions[\"EndDate\"] == null) {\n this.customOptions[\"EndDate\"] = this.DateToString(new Date());\n }\n this.InitializePage();\n $(\"#periodStatDescription\").html(window.statsStrings['CalculatedBasedOnClosedTrades']);\n $('#periodStatDescription').next().hide();\n $('#advancedStatDescription').html(window.statsStrings['CalculatedBasedOnClosedTrades']);\n $(\"#reset-analysis\").removeClass('hide');\n if (!((_this$accountInfo = this.accountInfo) !== null && _this$accountInfo !== void 0 && _this$accountInfo.owner)) {\n $('#partial-history-description').hide();\n }\n }\n }\n }, {\n key: \"ClearDate\",\n value: function ClearDate(id) {\n $('#' + id).val('');\n }\n }, {\n key: \"PinState\",\n value: function PinState(method) {\n $(\"#custom-analysis-dialog\").modal('hide');\n $(\"#broker-list-loading\").show();\n if (method == 0) {\n $(\"#custom-analysis-form\")[0].reset();\n $(\"#custom-analysis-period li a[name=-1]\").click();\n if (!$('#unsave-default').hasClass('hide')) $('#unsave-default').addClass(\"hide\");\n if ($('#save-default').hasClass('hide')) $('#save-default').removeClass('hide');\n }\n if (method == 1) {\n if ($('#unsave-default').hasClass('hide')) $('#unsave-default').removeClass(\"hide\");\n if (!$('#save-default').hasClass('hide')) $('#save-default').addClass('hide');\n }\n this.GetCustomOptions();\n this.usingUrls = this.customUrls;\n var myThis = this;\n myThis.customOptions[\"Period\"] = null;\n if (myThis.customOptions[\"EndDate\"] == \"\") {\n myThis.customOptions[\"Period\"] = $('#custom-analysis-period li.active').text();\n }\n for (var key in myThis.customOptions) {\n if (myThis.customOptions[key] == \"\") myThis.customOptions[key] = null;\n }\n if (myThis.customOptions[\"StartDate\"] != null) myThis.customOptions[\"StartDate\"] = new Date(myThis.customOptions[\"StartDate\"]);\n if (myThis.customOptions[\"EndDate\"] != null) myThis.customOptions[\"EndDate\"] = new Date(myThis.customOptions[\"EndDate\"]);\n var periodRequest = JSON.stringify(myThis.customOptions);\n if (myThis.IsInitialCustomOptions()) {\n periodRequest = null;\n }\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('UpdateCustomOptionsLink') + \"/\" + myThis.aisAccountId,\n type: \"POST\",\n contentType: \"application/json\",\n data: periodRequest,\n success: function success(res) {\n myThis.ApplyCustomAnalysis();\n },\n error: function error(xhr, statusText) {}\n });\n }\n }, {\n key: \"IsInitialCustomOptions\",\n value: function IsInitialCustomOptions() {\n var stDate = window.tradeStartDate;\n var enDate = window.tradeEndDate;\n var customStDate = new Date(this.customOptions[\"StartDate\"]);\n var customEnDate = new Date(this.customOptions[\"EndDate\"]);\n if (this.customOptions[\"StartDate\"] == null || this.customOptions[\"StartDate\"] == \"\") {\n customStDate = stDate;\n }\n if (this.customOptions[\"EndDate\"] == null || this.customOptions[\"EndDate\"] == \"\") {\n customEnDate = new Date();\n }\n var customSymbolLen = $(\"#symbol-ul li\").length;\n if (customStDate <= stDate && customEnDate >= enDate && (this.customOptions[\"CustomDeposit\"] == \"\" || this.customOptions[\"CustomDeposit\"] == 0 || this.customOptions[\"CustomDeposit\"] == null) && (this.customOptions[\"Period\"] == null || this.customOptions[\"Period\"] == \"All\") && this.customOptions[\"RiskFactor\"] == 1 && (this.customOptions[\"Symbols\"] == null || this.customOptions[\"Symbols\"].length == 0 || this.customOptions[\"Symbols\"].length == customSymbolLen) && (this.customOptions[\"Weekdays\"] == null || this.customOptions[\"Weekdays\"].length == 0 || this.customOptions[\"Weekdays\"].length == 7) && (this.customOptions[\"Hours\"] == null || this.customOptions[\"Hours\"].length == 0 || this.customOptions[\"Hours\"].length == 24) && (this.customOptions[\"GainMin\"] == \"\" || this.customOptions[\"GainMin\"] == null) && (this.customOptions[\"GainMax\"] == \"\" || this.customOptions[\"GainMax\"] == null) && (this.customOptions[\"ProfitMin\"] == \"\" || this.customOptions[\"ProfitMin\"] == null) && (this.customOptions[\"ProfitMax\"] == \"\" || this.customOptions[\"ProfitMax\"] == null) && (this.customOptions[\"DurationMin\"] == \"\" || this.customOptions[\"DurationMin\"] == null) && (this.customOptions[\"DurationMax\"] == \"\" || this.customOptions[\"DurationMax\"] == null) && (this.customOptions[\"PipsMin\"] == \"\" || this.customOptions[\"PipsMin\"] == null) && (this.customOptions[\"PipsMax\"] == \"\" || this.customOptions[\"PipsMin\"] == null) && (this.customOptions[\"LotsMin\"] == \"\" || this.customOptions[\"LotsMin\"] == null) && (this.customOptions[\"LotsMax\"] == \"\" || this.customOptions[\"LotsMax\"] == null) && (this.customOptions[\"TradeTypes\"] == null || this.customOptions[\"TradeTypes\"].length == 0)) {\n return true;\n }\n return false;\n }\n }, {\n key: \"ResetAnalysis\",\n value: function ResetAnalysis() {\n this.ShowLoadingSpin();\n $(\"#custom-analysis-form\")[0].reset();\n $(\"#custom-analysis-period li a[name=-1]\").click();\n this.customOptions = {};\n this.usingUrls = this.urls;\n this.InitializePage();\n $(\"#periodStatDescription\").html(window.statsStrings['CalculatedBasedOnClosedAndOpenTrades']);\n $('#periodStatDescription').next().show();\n $('#advancedStatDescription').html(window.statsStrings['CalculatedBasedOnClosedAndOpenTrades']);\n $(\"#reset-analysis\").addClass('hide');\n }\n }, {\n key: \"InitializePage\",\n value: function InitializePage(refresh) {\n var myThis = this;\n InitializeStatsWidget(myThis.aisRoot);\n myThis.InitAccountSummary(refresh);\n if (!refresh) {\n myThis.DrawMonthlyAnalyticsChart('monthly-analytics-chart', 'percent', new Date().getUTCFullYear(), true);\n } else {\n var type = $(\"input[name=monthly-analytics-chart-type]:checked\").val();\n var year = $(\"#monthly-analytics-tablist li a.active\").data('year');\n myThis.DrawMonthlyAnalyticsChart('monthly-analytics-chart', type, year, false);\n }\n myThis.InitializeTradingActivityTable(\"#trading-activity-history\", myThis.Url('ProfileTradingActivityHistoryLink'));\n myThis.InitializeTradingActivityTable(\"#trading-activity-excluded\", myThis.Url('ProfileTradingActivityExcludedLink'));\n $('.nav-pills a').on('shown.bs.tab', function (e) {\n var href = $(this).attr(\"href\");\n $(href + \" table\").trigger('scroll');\n });\n }\n }, {\n key: \"SetPartialAccountHistory\",\n value: function SetPartialAccountHistory() {\n var _myThis$accountInfo;\n var myThis = this;\n myThis.customOptions = JSON.parse((_myThis$accountInfo = myThis.accountInfo) === null || _myThis$accountInfo === void 0 ? void 0 : _myThis$accountInfo.customOptions);\n if (!$('#trade-filter').hasClass('hide')) $('#trade-filter').addClass(\"hide\");\n if ($('#partial-history-alert').hasClass('hide')) $('#partial-history-alert').removeClass(\"hide\");\n if ($('#unsave-default').hasClass('hide')) $('#unsave-default').removeClass(\"hide\");\n if (!$('#save-default').hasClass('hide')) $('#save-default').addClass('hide');\n if (myThis.customOptions[\"Period\"] != null && myThis.customOptions[\"Period\"] != \"All\") {\n var val = myThis.customOptions[\"Period\"];\n $(\"#custom-analysis-period li a[name=\" + val + \"]\").click();\n } else {\n var flag = 0;\n if (myThis.customOptions[\"EndDate\"] == null) {\n var cDate = new Date();\n cDate.setDate(cDate.getDate() + 1);\n myThis.customOptions[\"EndDate\"] = cDate;\n flag = 1;\n }\n if (myThis.customOptions[\"StartDate\"] == null) {\n myThis.customOptions[\"StartDate\"] = window.tradeStartDate;\n }\n $('#StartDate').datetimepicker('format', 'YYYY-MM-DD HH:mm');\n $('#StartDate').datetimepicker('date', myThis.customOptions[\"StartDate\"]);\n $('#EndDate').datetimepicker('format', 'YYYY-MM-DD HH:mm');\n $('#EndDate').datetimepicker('date', myThis.customOptions[\"EndDate\"]);\n if (flag == 1) $(\"#EndDate\").val(\"\");\n }\n if (myThis.customOptions[\"Symbols\"] == null) myThis.customOptions[\"Symbols\"] = [];\n if (myThis.customOptions[\"Weekdays\"] == null) myThis.customOptions[\"Weekdays\"] = [];\n if (myThis.customOptions[\"Hours\"] == null) myThis.customOptions[\"Hours\"] = [];\n if (myThis.customOptions[\"AnalyzeBy\"] == null) myThis.customOptions[\"AnalyzeBy\"] = [];\n if (myThis.customOptions[\"TradeTypes\"] == null) myThis.customOptions[\"TradeTypes\"] = [];\n myThis.customOptions[\"Symbols\"].forEach(function (symbol) {\n return $(\"li[id=symbols-bool-\" + symbol + \"] input[type=checkbox]\").prop(\"checked\", true);\n });\n myThis.customOptions[\"Weekdays\"].forEach(function (weekday) {\n return $(\"li[id=weekdays-bool-\" + weekday + \"] input[type=checkbox]\").prop(\"checked\", true);\n });\n myThis.customOptions[\"Hours\"].forEach(function (hour) {\n return $(\"li[id=hours-bool-\" + hour + \"] input[type=checkbox]\").prop(\"checked\", true);\n });\n myThis.customOptions[\"AnalyzeBy\"].forEach(function (analyzeBy) {\n return $(\"li[id=analyzeby-bool-\" + analyzeBy + \"] input[type=checkbox]\").prop(\"checked\", true);\n });\n $(\"#custom-analysis-form input[name=gain-min]\").val(myThis.customOptions[\"GainMin\"]);\n $(\"#custom-analysis-form input[name=gain-max]\").val(myThis.customOptions[\"GainMax\"]);\n $(\"#custom-analysis-form input[name=profit-min]\").val(myThis.customOptions[\"ProfitMin\"]);\n $(\"#custom-analysis-form input[name=profit-max]\").val(myThis.customOptions[\"ProfitMax\"]);\n $(\"#custom-analysis-form input[name=duration-min]\").val(myThis.customOptions[\"DurationMin\"]);\n $(\"#custom-analysis-form input[name=duration-max]\").val(myThis.customOptions[\"DurationMax\"]);\n $(\"#custom-analysis-form select[name=DurationUnit] option[value=\" + myThis.customOptions[\"DurationUnit\"] + \"]\").prop(\"selected\", true);\n $(\"#custom-analysis-form input[name=pips-min]\").val(myThis.customOptions[\"PipsMin\"]);\n $(\"#custom-analysis-form input[name=pips-max]\").val(myThis.customOptions[\"PipsMax\"]);\n $(\"#custom-analysis-form input[name=lots-min]\").val(myThis.customOptions[\"LotsMin\"]);\n $(\"#custom-analysis-form input[name=lots-max]\").val(myThis.customOptions[\"LotsMax\"]);\n myThis.customOptions[\"TradeTypes\"].forEach(function (tradeType) {\n return $(\"li[id=tradetypes-bool-\" + tradeType + \"] input[type=checkbox]\").prop(\"checked\", true);\n });\n $(\"#custom-analysis-form input[name=CustomDeposit]\").val(myThis.customOptions[\"CustomDeposit\"]);\n $(\"#custom-analysis-form input[name=RiskFactor]\").val(myThis.customOptions[\"RiskFactor\"]);\n myThis.customOptions[\"StartDate\"] = $(\"#custom-analysis-form input[name=StartDate]\").val();\n myThis.customOptions[\"EndDate\"] = $(\"#custom-analysis-form input[name=EndDate]\").val();\n myThis.ajaxNum++;\n myThis.usingUrls = myThis.customUrls;\n myThis.InitializePage();\n $(\"#periodStatDescription\").html(window.statsStrings['CalculatedBasedOnClosedTrades']);\n $('#periodStatDescription').next().hide();\n $('#advancedStatDescription').html(window.statsStrings['CalculatedBasedOnClosedTrades']);\n $(\"#reset-analysis\").removeClass('hide');\n }\n }, {\n key: \"InitAccountSummary\",\n value: function InitAccountSummary(refresh) {\n var myThis = this;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('StatisticsLink') + '/' + myThis.aisAccountId,\n type: \"GET\",\n data: this.customOptions,\n traditional: true,\n success: function success(res) {\n var _res$statistics, _res$statistics2, _res$statistics3, _res$statistics4, _res$statistics5, _res$statistics6, _res$statistics7, _res$statistics8, _advancedStat;\n myThis.accountInfo = res.accountInfo;\n myThis.HideLoadingSpin();\n if (refresh) {\n var _res$accountInfo;\n if (((_res$accountInfo = res.accountInfo) === null || _res$accountInfo === void 0 ? void 0 : _res$accountInfo.customOptions) != null) {\n if (myThis.customAnalysisLoaded == true) {\n myThis.SetPartialAccountHistory();\n return;\n }\n }\n }\n if ((_res$statistics = res.statistics) !== null && _res$statistics !== void 0 && _res$statistics.hasIncompleteData) {\n $(\"#incomplete-data-alert\").removeClass(\"hide\");\n }\n if (myThis.customAnalysisLoaded == true) {\n if (myThis.IsInitialCustomOptions() == false && Object.keys(myThis.customOptions).length > 0) {\n if (!$('#trade-filter').hasClass('hide')) $('#trade-filter').addClass(\"hide\");\n if ($('#partial-history-alert').hasClass('hide')) $('#partial-history-alert').removeClass(\"hide\");\n } else {\n if ($('#trade-filter').hasClass('hide')) $('#trade-filter').removeClass(\"hide\");\n if (!$('#partial-history-alert').hasClass('hide')) $('#partial-history-alert').addClass(\"hide\");\n }\n }\n if (Math.abs(((_res$statistics2 = res.statistics) === null || _res$statistics2 === void 0 ? void 0 : _res$statistics2.profitPercent) - ((_res$statistics3 = res.statistics) === null || _res$statistics3 === void 0 ? void 0 : _res$statistics3.profitPercentTWR)) <= 1e-7) {\n $(\".profile-summary-info .profile-summary-button[data-chart=profit-percent-twr]\").remove();\n $('#statistics-charts-dropdown-menu ul li[data-chart=profit-percent-twr]').remove();\n }\n if (Math.abs(((_res$statistics4 = res.statistics) === null || _res$statistics4 === void 0 ? void 0 : _res$statistics4.monthlyProfit) - ((_res$statistics5 = res.statistics) === null || _res$statistics5 === void 0 ? void 0 : _res$statistics5.monthlyProfitTWR)) <= 1e-7) {\n $(\".profile-summary-info .profile-summary-button[data-chart=monthly-profit-twr]\").remove();\n $('#statistics-charts-dropdown-menu ul li[data-chart=monthly-profit-twr]').remove();\n }\n if (Math.abs(((_res$statistics6 = res.statistics) === null || _res$statistics6 === void 0 ? void 0 : _res$statistics6.closedProfitPercentTWR) - ((_res$statistics7 = res.statistics) === null || _res$statistics7 === void 0 ? void 0 : _res$statistics7.closedProfitPercent)) <= 1e-7) {\n $(\".profile-summary-info .profile-summary-button[data-chart=closed-profit-percent-twr]\").remove();\n $('#statistics-charts-dropdown-menu ul li[data-chart=closed-profit-percent-twr]').remove();\n }\n if (Object.keys(myThis.customOptions).length > 0 && !myThis.IsInitialCustomOptions()) {\n $(\".profile-summary-info .profile-summary-button[data-chart=equity]\").hide();\n $('#statistics-charts-dropdown-menu ul li[data-chart=equity]').hide();\n $(\".profile-summary-info .profile-summary-button[data-chart=open-profit]\").hide();\n $('#statistics-charts-dropdown-menu ul li[data-chart=open-profit]').hide();\n $(\".profile-summary-info .profile-summary-button[data-chart=open-profit-percent]\").hide();\n $('#statistics-charts-dropdown-menu ul li[data-chart=open-profit-percent]').hide();\n } else {\n $(\".profile-summary-info .profile-summary-button[data-chart=equity]\").show();\n $('#statistics-charts-dropdown-menu ul li[data-chart=equity]').show();\n $(\".profile-summary-info .profile-summary-button[data-chart=open-profit]\").show();\n $('#statistics-charts-dropdown-menu ul li[data-chart=open-profit]').show();\n $(\".profile-summary-info .profile-summary-button[data-chart=open-profit-percent]\").show();\n $('#statistics-charts-dropdown-menu ul li[data-chart=open-profit-percent]').show();\n }\n myThis.timeOffset = ((_res$statistics8 = res.statistics) === null || _res$statistics8 === void 0 ? void 0 : _res$statistics8.timezone) * 60;\n myThis.statistics = res.statistics;\n myThis.InitializeTradingActivityTable(\"#trading-activity-open-trades\", myThis.Url('ProfileTradingActivityOpenTradesLink'));\n myThis.InitializeTradingActivityTable(\"#trading-activity-open-orders\", myThis.Url('ProfileTradingActivityOpenOrdersLink'));\n myThis.InitializePermission();\n myThis.PopualteAccountSummary(res);\n myThis.PullAdditionalAccountInfo(res);\n var profitType = 'equity';\n var basicStat, advancedStat;\n if (profitType == \"equity\") {\n var _res$statistics9, _res$statistics10;\n basicStat = res === null || res === void 0 ? void 0 : (_res$statistics9 = res.statistics) === null || _res$statistics9 === void 0 ? void 0 : _res$statistics9.equityBasicStats;\n advancedStat = res === null || res === void 0 ? void 0 : (_res$statistics10 = res.statistics) === null || _res$statistics10 === void 0 ? void 0 : _res$statistics10.equityAdvancedStats;\n } else {\n var _res$statistics11, _res$statistics12;\n basicStat = res === null || res === void 0 ? void 0 : (_res$statistics11 = res.statistics) === null || _res$statistics11 === void 0 ? void 0 : _res$statistics11.balanceBasicStats;\n advancedStat = res === null || res === void 0 ? void 0 : (_res$statistics12 = res.statistics) === null || _res$statistics12 === void 0 ? void 0 : _res$statistics12.balanceAdvancedStats;\n }\n if (document.querySelector(\"#periodEquitySwitch\").checked) {\n var _myThis$statistics5, _myThis$statistics6;\n myThis.PopulateTradingPeriods((_myThis$statistics5 = myThis.statistics) === null || _myThis$statistics5 === void 0 ? void 0 : _myThis$statistics5.balanceBasicStats, (_myThis$statistics6 = myThis.statistics) === null || _myThis$statistics6 === void 0 ? void 0 : _myThis$statistics6.yearlyStats);\n } else {\n var _myThis$statistics7, _myThis$statistics8;\n myThis.PopulateTradingPeriods((_myThis$statistics7 = myThis.statistics) === null || _myThis$statistics7 === void 0 ? void 0 : _myThis$statistics7.equityBasicStats, (_myThis$statistics8 = myThis.statistics) === null || _myThis$statistics8 === void 0 ? void 0 : _myThis$statistics8.yearlyStats);\n }\n myThis.PopulateAdvancedTradesStats(res === null || res === void 0 ? void 0 : res.statistics, basicStat);\n myThis.PopulateAdvancedSummaryStats((_advancedStat = advancedStat) === null || _advancedStat === void 0 ? void 0 : _advancedStat.summary);\n if (!refresh) {\n var _myThis$accountInfo2;\n if ((_myThis$accountInfo2 = myThis.accountInfo) !== null && _myThis$accountInfo2 !== void 0 && _myThis$accountInfo2.owner) {\n myThis.defaultChart = 'profit';\n }\n $(\".profile-summary-info .profile-summary-button\").removeClass(\"active\");\n $(\".profile-summary-info .profile-summary-button[data-chart=\".concat(myThis.defaultChart, \"]\")).addClass(\"active\");\n $('#statistics-charts-dropdown-menu ul li').removeClass(\"active\");\n $(\"#statistics-charts-dropdown-menu ul li[data-chart=\".concat(myThis.defaultChart, \"]\")).addClass(\"active\");\n $(\"#statistics-charts-dropdown-menu a[data-toggle=dropdown]\").html($(\"#statistics-charts-dropdown-menu ul li[data-chart=\".concat(myThis.defaultChart, \"]\")).html());\n myThis.currentChart = myThis.defaultChart;\n myThis.InitializeSummaryChartOptions(myThis.defaultChart);\n }\n myThis.UpdateSummaryChart();\n },\n error: function error(e) {\n $(\".portfolio-profile-detail-pane\").html(\"\".concat(window.statsStrings['OopsThatPageCanTBeFound'], \"\"));\n },\n complete: function complete() {\n $(\"#broker-list-loading\").hide();\n }\n });\n }\n }, {\n key: \"PullAdditionalAccountInfo\",\n value: function PullAdditionalAccountInfo(data) {\n var myThis = this;\n var duration = this.helper.GetDuraction(data.statistics.lastUpdated, new Date());\n var requestData = {\n clientId: data.accountInfo.cbfClientProfileId,\n brokerName: data.accountInfo.brokerServerName,\n currency: data.statistics.accountCurrency\n };\n if (data.isContestAccountStatistics) {\n var _data$contestStatisti;\n requestData.contestId = (_data$contestStatisti = data.contestStatistics) === null || _data$contestStatisti === void 0 ? void 0 : _data$contestStatisti.contestId;\n } else {\n $(\"#bug-report-alert\").show();\n }\n $.ajax({\n url: \"/\".concat(window.CURRENT_LANG, \"/api/trading-account/accountInfo\"),\n type: 'GET',\n data: requestData,\n success: function success(res) {\n var _data$accountInfo, _data$accountInfo2, _data$accountInfo3, _data$statistics2, _data$statistics3, _data$statistics4, _data$accountInfo4;\n var accountInfoHtml = '';\n if (data.isContestAccountStatistics) {\n var contestHtml = \"\").concat(window.statsStrings[\"Contest\"], \"\");\n accountInfoHtml += \"
\".concat(contestHtml, \"
\");\n } else {\n var _data$statistics;\n var popoverHtml = '';\n if (((_data$statistics = data.statistics) === null || _data$statistics === void 0 ? void 0 : _data$statistics.accountType) == \"Real\") {\n popoverHtml = \"\").concat(window.statsStrings['Real'], \"\");\n } else {\n popoverHtml = \"\").concat(window.statsStrings['Demo'], \"\");\n }\n accountInfoHtml += \"
\".concat(popoverHtml, \"
\");\n }\n accountInfoHtml += \"\").concat((_data$accountInfo = data.accountInfo) === null || _data$accountInfo === void 0 ? void 0 : _data$accountInfo.brokerServerName, \"\");\n accountInfoHtml += \"\".concat(window.statsStrings[\"LastSync0Ago\"].replace(\"{0}\", duration), \"\");\n accountInfoHtml += \"\".concat(window.statsStrings[\"Added0\"].replace(\"{0}\", myThis.helper.ToShortDate((_data$accountInfo2 = data.accountInfo) === null || _data$accountInfo2 === void 0 ? void 0 : _data$accountInfo2.added, \"short\")), \"\");\n if (data.isContestAccountStatistics) accountInfoHtml += \"\".concat(window.statsStrings[\"Started0\"].replace(\"{0}\", myThis.helper.ToShortDate(res.ContestStarted, \"short\")), \"\");\n accountInfoHtml += \"
1 : \").concat(data.statistics.accountLeverage, \"
\");\n accountInfoHtml += \"
\").concat((_data$accountInfo3 = data.accountInfo) === null || _data$accountInfo3 === void 0 ? void 0 : _data$accountInfo3.platformType, \"
\");\n accountInfoHtml += \"
\").concat((_data$statistics2 = data.statistics) === null || _data$statistics2 === void 0 ? void 0 : _data$statistics2.accountCurrency, \"
\");\n if (!!((_data$statistics3 = data.statistics) !== null && _data$statistics3 !== void 0 && _data$statistics3.timezone) && !isNaN(parseInt((_data$statistics4 = data.statistics) === null || _data$statistics4 === void 0 ? void 0 : _data$statistics4.timezone))) {\n var _data$statistics5;\n if (((_data$statistics5 = data.statistics) === null || _data$statistics5 === void 0 ? void 0 : _data$statistics5.timezone) >= 0) accountInfoHtml += \"
GMT +\").concat(data.statistics.timezone.toLocaleString(\"en-US\", {\n minimumIntegerDigits: 2,\n useGrouping: false\n }), \":00
\");else accountInfoHtml += \"
GMT \").concat(data.statistics.timezone.toLocaleString(\"en-US\", {\n minimumIntegerDigits: 2,\n useGrouping: false\n }), \":00
\");\n }\n if ((_data$accountInfo4 = data.accountInfo) !== null && _data$accountInfo4 !== void 0 && _data$accountInfo4.showBalance) {\n var _data$statistics6, _data$statistics7;\n accountInfoHtml += \"\".concat(window.statsStrings['Deposits'], \": \").concat(myThis.helper.ToDecimal((_data$statistics6 = data.statistics) === null || _data$statistics6 === void 0 ? void 0 : _data$statistics6.deposits), \"\");\n accountInfoHtml += \"\".concat(window.statsStrings['Withdrawls'], \": \").concat(myThis.helper.ToDecimal((_data$statistics7 = data.statistics) === null || _data$statistics7 === void 0 ? void 0 : _data$statistics7.withdrawls), \"\");\n }\n $(\"#account-info\").html(accountInfoHtml);\n $(\"#account-info [data-toggle=tooltip]\").tooltip('dispose').tooltip({\n boundary: 'window'\n });\n }\n });\n }\n }, {\n key: \"InitializePermission\",\n value: function InitializePermission() {\n var _this$accountInfo2, _this$accountInfo3, _this$accountInfo4;\n if (!((_this$accountInfo2 = this.accountInfo) !== null && _this$accountInfo2 !== void 0 && _this$accountInfo2.showBalance)) {\n $(\"input[name=UnitType][value=profit]\").attr(\"disabled\", true);\n $(\"input[data-trigger=draw-symbol-summary-chart]\").attr(\"disabled\", true);\n }\n if (!((_this$accountInfo3 = this.accountInfo) !== null && _this$accountInfo3 !== void 0 && _this$accountInfo3.showVolume)) {\n $(\"input[name=UnitType][value=lots]\").attr(\"disabled\", true);\n }\n if ((_this$accountInfo4 = this.accountInfo) !== null && _this$accountInfo4 !== void 0 && _this$accountInfo4.owner) {\n $(\"#account-edit-icon\").show();\n $(\"#save-default\").show();\n $(\"#unsave-default\").show();\n $(\"a[data-id=embed-script-copy]\").show();\n $(\"#tab-widgets\").show();\n $(\"#tab-widgets-box\").show();\n } else {\n $(\"#tab-widgets\").remove();\n $(\"#tab-widgets-box\").remove();\n }\n }\n }, {\n key: \"PopualteAccountSummary\",\n value: function PopualteAccountSummary(data) {\n var _data$accountInfo5, _data$accountInfo6, _data$statistics$mont, _data$statistics24, _data$statistics25, _data$statistics$mont2, _data$statistics26, _data$statistics27, _data$statistics$clos, _data$statistics28, _data$statistics29, _stat, _data$accountInfo8;\n var profitType = Object.keys(this.customOptions).length > 0 ? 'balance' : 'equity';\n var stat;\n if (profitType == \"equity\") {\n var _data$statistics8;\n stat = data === null || data === void 0 ? void 0 : (_data$statistics8 = data.statistics) === null || _data$statistics8 === void 0 ? void 0 : _data$statistics8.equityBasicStats;\n } else {\n var _data$statistics9;\n stat = data === null || data === void 0 ? void 0 : (_data$statistics9 = data.statistics) === null || _data$statistics9 === void 0 ? void 0 : _data$statistics9.balanceBasicStats;\n }\n var langSlug = \"\";\n if (window.CURRENT_LANG != 'en') langSlug += \"/\" + window.CURRENT_LANG;\n var breadcrumb = \"\").concat(window.statsStrings['Home'], \"\");\n breadcrumb += \"\").concat(window.statsStrings['Performances'], \"\");\n breadcrumb += \"\").concat(data.accountInfo.cbfClientPublicName, \"\");\n breadcrumb += \" \".concat(data.accountInfo.accountName, \"\");\n $(\"#site-breadcrumb\").html(breadcrumb);\n $(\"head title\").html(((_data$accountInfo5 = data.accountInfo) === null || _data$accountInfo5 === void 0 ? void 0 : _data$accountInfo5.accountName) + ' ' + window.statsStrings['Statistics']);\n $(\"#account-name\").html((_data$accountInfo6 = data.accountInfo) === null || _data$accountInfo6 === void 0 ? void 0 : _data$accountInfo6.accountName);\n if (!!data.accountInfo.comment) {\n var _data$accountInfo7;\n $(\"#contest-description\").html((_data$accountInfo7 = data.accountInfo) === null || _data$accountInfo7 === void 0 ? void 0 : _data$accountInfo7.comment);\n $(\"#contest-description\").shorten({\n showChars: 200,\n ellipsesText: \"...\",\n moreText: window.statsStrings[\"More\"],\n lessText: window.statsStrings[\"Less\"]\n });\n } else {\n $(\"#contest-description\").remove();\n }\n if (data.isContestAccountStatistics) {\n var _data$contestStatisti2, _data$contestStatisti3, _data$contestStatisti4, _data$contestStatisti5, _data$contestStatisti6, _data$statistics10, _data$contestStatisti7, _data$statistics11, _data$statistics12, _data$statistics13, _data$contestStatisti8;\n $(\"#summary-equity\").html(this.helper.ToDecimal((_data$contestStatisti2 = data.contestStatistics) === null || _data$contestStatisti2 === void 0 ? void 0 : _data$contestStatisti2.equity));\n $(\"#summary-balance\").html(this.helper.ToDecimal((_data$contestStatisti3 = data.contestStatistics) === null || _data$contestStatisti3 === void 0 ? void 0 : _data$contestStatisti3.balance));\n $(\"#summary-open-profit\").html(this.helper.ToDecimal((_data$contestStatisti4 = data.contestStatistics) === null || _data$contestStatisti4 === void 0 ? void 0 : _data$contestStatisti4.openProfit));\n $(\"#summary-open-profit-percent\").html(this.helper.ToPercent((_data$contestStatisti5 = data.contestStatistics) === null || _data$contestStatisti5 === void 0 ? void 0 : _data$contestStatisti5.openProfitPercent));\n $(\"#summary-profit\").html(this.helper.ToDecimal((_data$contestStatisti6 = data.contestStatistics) === null || _data$contestStatisti6 === void 0 ? void 0 : _data$contestStatisti6.profit));\n $(\"#summary-closed-profit\").html(this.helper.ToDecimal((_data$statistics10 = data.statistics) === null || _data$statistics10 === void 0 ? void 0 : _data$statistics10.closedProfit));\n $(\"#summary-profit-percent\").html(this.helper.ToPercent((_data$contestStatisti7 = data.contestStatistics) === null || _data$contestStatisti7 === void 0 ? void 0 : _data$contestStatisti7.profitPercent));\n $(\"#summary-closed-profit-percent\").html(this.helper.ToPercent((_data$statistics11 = data.statistics) === null || _data$statistics11 === void 0 ? void 0 : _data$statistics11.closedProfitPercent));\n $(\"#summary-profit-percent-twr\").html(this.helper.ToPercent((_data$statistics12 = data.statistics) === null || _data$statistics12 === void 0 ? void 0 : _data$statistics12.profitPercentTWR));\n $(\"#summary-closed-profit-percent-twr\").html(this.helper.ToPercent((_data$statistics13 = data.statistics) === null || _data$statistics13 === void 0 ? void 0 : _data$statistics13.closedProfitPercentTWR));\n if (!!((_data$contestStatisti8 = data.contestStatistics) !== null && _data$contestStatisti8 !== void 0 && _data$contestStatisti8.maxAllowedDD)) {\n var _data$contestStatisti9;\n $(\"#summary-max-allowed-dd\").html(this.helper.ToDecimal((_data$contestStatisti9 = data.contestStatistics) === null || _data$contestStatisti9 === void 0 ? void 0 : _data$contestStatisti9.maxAllowedDD));\n $(\"#summary-max-allowed-dd-button\").show();\n } else {\n $(\"#summary-max-allowed-dd-button\").hide();\n }\n } else {\n var _data$statistics14, _data$statistics15, _data$statistics16, _data$statistics17, _data$statistics18, _data$statistics19, _data$statistics20, _data$statistics21, _data$statistics22, _data$statistics23;\n $(\"#summary-equity\").html(this.helper.ToDecimal((_data$statistics14 = data.statistics) === null || _data$statistics14 === void 0 ? void 0 : _data$statistics14.accountEquity));\n $(\"#summary-balance\").html(this.helper.ToDecimal((_data$statistics15 = data.statistics) === null || _data$statistics15 === void 0 ? void 0 : _data$statistics15.accountBalance));\n $(\"#summary-open-profit\").html(this.helper.ToDecimal((_data$statistics16 = data.statistics) === null || _data$statistics16 === void 0 ? void 0 : _data$statistics16.accountProfit));\n $(\"#summary-open-profit-percent\").html(this.helper.ToPercent((_data$statistics17 = data.statistics) === null || _data$statistics17 === void 0 ? void 0 : _data$statistics17.openProfitPercent));\n $(\"#summary-profit\").html(this.helper.ToDecimal((_data$statistics18 = data.statistics) === null || _data$statistics18 === void 0 ? void 0 : _data$statistics18.profit));\n $(\"#summary-closed-profit\").html(this.helper.ToDecimal((_data$statistics19 = data.statistics) === null || _data$statistics19 === void 0 ? void 0 : _data$statistics19.closedProfit));\n $(\"#summary-profit-percent\").html(this.helper.ToPercent((_data$statistics20 = data.statistics) === null || _data$statistics20 === void 0 ? void 0 : _data$statistics20.profitPercent));\n $(\"#summary-closed-profit-percent\").html(this.helper.ToPercent((_data$statistics21 = data.statistics) === null || _data$statistics21 === void 0 ? void 0 : _data$statistics21.closedProfitPercent));\n $(\"#summary-profit-percent-twr\").html(this.helper.ToPercent((_data$statistics22 = data.statistics) === null || _data$statistics22 === void 0 ? void 0 : _data$statistics22.profitPercentTWR));\n $(\"#summary-closed-profit-percent-twr\").html(this.helper.ToPercent((_data$statistics23 = data.statistics) === null || _data$statistics23 === void 0 ? void 0 : _data$statistics23.closedProfitPercentTWR));\n }\n $(\"#summary-monthly-percent\").html(this.helper.ToPercent((_data$statistics$mont = data === null || data === void 0 ? void 0 : (_data$statistics24 = data.statistics) === null || _data$statistics24 === void 0 ? void 0 : _data$statistics24.monthlyProfit) !== null && _data$statistics$mont !== void 0 ? _data$statistics$mont : data === null || data === void 0 ? void 0 : (_data$statistics25 = data.statistics) === null || _data$statistics25 === void 0 ? void 0 : _data$statistics25.monthlyProfitTWR));\n $(\"#summary-monthly-percent-twr\").html(this.helper.ToPercent((_data$statistics$mont2 = data === null || data === void 0 ? void 0 : (_data$statistics26 = data.statistics) === null || _data$statistics26 === void 0 ? void 0 : _data$statistics26.monthlyProfitTWR) !== null && _data$statistics$mont2 !== void 0 ? _data$statistics$mont2 : data === null || data === void 0 ? void 0 : (_data$statistics27 = data.statistics) === null || _data$statistics27 === void 0 ? void 0 : _data$statistics27.monthlyProfit));\n $(\"#summary-closed-monthly-percent\").html(this.helper.ToPercent((_data$statistics$clos = data === null || data === void 0 ? void 0 : (_data$statistics28 = data.statistics) === null || _data$statistics28 === void 0 ? void 0 : _data$statistics28.closedMonthlyProfitTWR) !== null && _data$statistics$clos !== void 0 ? _data$statistics$clos : data === null || data === void 0 ? void 0 : (_data$statistics29 = data.statistics) === null || _data$statistics29 === void 0 ? void 0 : _data$statistics29.closedMonthlyProfit));\n $(\"#summary-drawdown\").html(this.helper.ToPercent((_stat = stat) === null || _stat === void 0 ? void 0 : _stat.drawDown));\n if ((data === null || data === void 0 ? void 0 : (_data$accountInfo8 = data.accountInfo) === null || _data$accountInfo8 === void 0 ? void 0 : _data$accountInfo8.isVerified) === true) {\n $(\"#trade-authority-verify-badge\").removeClass(\"not-verified\");\n $(\"#trade-authority-verify-badge\").find('span:first-child').html(window.statsStrings['Verified'] + ' ' + window.statsStrings['TradeAuthority']);\n $(\"#trade-authority-verify-badge\").tooltip('dispose');\n $(\"#trade-authority-verify-badge\").data('title', window.statsStrings[\"TheUserProvedTheyHaveAuthorityToPlaceTradesOnTheAccount\"]);\n $(\"#trade-authority-verify-badge\").tooltip();\n }\n $(\"#trade-authority-verify-badge\").css('visibility', 'visible');\n }\n }, {\n key: \"PopulateTradingPeriods\",\n value: function PopulateTradingPeriods(stat, yearlyStats) {\n var _stat$today$gainTWR, _stat$today, _stat$today2, _stat$today$gain, _stat$today3, _stat$today4, _stat$today5, _stat$today6, _stat$today7, _stat$today8, _stat$thisWeek$gain, _stat$thisWeek, _stat$thisWeek2, _stat$thisWeek$gainTW, _stat$thisWeek3, _stat$thisWeek4, _stat$thisWeek5, _stat$thisWeek6, _stat$thisWeek7, _stat$thisWeek8, _stat$thisMonth$gain, _stat$thisMonth, _stat$thisMonth2, _stat$thisMonth$gainT, _stat$thisMonth3, _stat$thisMonth4, _stat$thisMonth5, _stat$thisMonth6, _stat$thisMonth7, _stat$thisMonth8, _stat$thisYear$gain, _stat$thisYear, _stat$thisYear2, _stat$thisYear$gainTW, _stat$thisYear3, _stat$thisYear4, _stat$thisYear5, _stat$thisYear6, _stat$thisYear7, _stat$thisYear8;\n $('#trading-periods-tab [data-key=\"today-profit-percentage\"]').html(this.helper.ToPercent((_stat$today$gainTWR = stat === null || stat === void 0 ? void 0 : (_stat$today = stat.today) === null || _stat$today === void 0 ? void 0 : _stat$today.gainTWR) !== null && _stat$today$gainTWR !== void 0 ? _stat$today$gainTWR : stat === null || stat === void 0 ? void 0 : (_stat$today2 = stat.today) === null || _stat$today2 === void 0 ? void 0 : _stat$today2.gain));\n $('#trading-periods-tab [data-key=\"today-profit-percentage-twr\"]').html(this.helper.ToPercent((_stat$today$gain = stat === null || stat === void 0 ? void 0 : (_stat$today3 = stat.today) === null || _stat$today3 === void 0 ? void 0 : _stat$today3.gain) !== null && _stat$today$gain !== void 0 ? _stat$today$gain : stat === null || stat === void 0 ? void 0 : (_stat$today4 = stat.today) === null || _stat$today4 === void 0 ? void 0 : _stat$today4.gainTWR));\n $('#trading-periods-tab [data-key=\"today-profit\"]').html(this.helper.ToDecimal(stat === null || stat === void 0 ? void 0 : (_stat$today5 = stat.today) === null || _stat$today5 === void 0 ? void 0 : _stat$today5.profit));\n $('#trading-periods-tab [data-key=\"today-win-percentage\"]').html(this.helper.ToPercent(stat === null || stat === void 0 ? void 0 : (_stat$today6 = stat.today) === null || _stat$today6 === void 0 ? void 0 : _stat$today6.winPercentage));\n $('#trading-periods-tab [data-key=\"today-trades\"]').html(this.helper.ToIntNumber(stat === null || stat === void 0 ? void 0 : (_stat$today7 = stat.today) === null || _stat$today7 === void 0 ? void 0 : _stat$today7.trades));\n $('#trading-periods-tab [data-key=\"today-lots\"]').html(this.helper.ToDecimal(stat === null || stat === void 0 ? void 0 : (_stat$today8 = stat.today) === null || _stat$today8 === void 0 ? void 0 : _stat$today8.lots));\n $('#trading-periods-tab [data-key=\"week-profit-percentage\"]').html(this.helper.ToPercent((_stat$thisWeek$gain = stat === null || stat === void 0 ? void 0 : (_stat$thisWeek = stat.thisWeek) === null || _stat$thisWeek === void 0 ? void 0 : _stat$thisWeek.gain) !== null && _stat$thisWeek$gain !== void 0 ? _stat$thisWeek$gain : stat === null || stat === void 0 ? void 0 : (_stat$thisWeek2 = stat.thisWeek) === null || _stat$thisWeek2 === void 0 ? void 0 : _stat$thisWeek2.gainTWR));\n $('#trading-periods-tab [data-key=\"week-profit-percentage-twr\"]').html(this.helper.ToPercent((_stat$thisWeek$gainTW = stat === null || stat === void 0 ? void 0 : (_stat$thisWeek3 = stat.thisWeek) === null || _stat$thisWeek3 === void 0 ? void 0 : _stat$thisWeek3.gainTWR) !== null && _stat$thisWeek$gainTW !== void 0 ? _stat$thisWeek$gainTW : stat === null || stat === void 0 ? void 0 : (_stat$thisWeek4 = stat.thisWeek) === null || _stat$thisWeek4 === void 0 ? void 0 : _stat$thisWeek4.gain));\n $('#trading-periods-tab [data-key=\"week-profit\"]').html(this.helper.ToDecimal(stat === null || stat === void 0 ? void 0 : (_stat$thisWeek5 = stat.thisWeek) === null || _stat$thisWeek5 === void 0 ? void 0 : _stat$thisWeek5.profit));\n $('#trading-periods-tab [data-key=\"week-win-percentage\"]').html(this.helper.ToPercent(stat === null || stat === void 0 ? void 0 : (_stat$thisWeek6 = stat.thisWeek) === null || _stat$thisWeek6 === void 0 ? void 0 : _stat$thisWeek6.winPercentage));\n $('#trading-periods-tab [data-key=\"week-trades\"]').html(this.helper.ToIntNumber(stat === null || stat === void 0 ? void 0 : (_stat$thisWeek7 = stat.thisWeek) === null || _stat$thisWeek7 === void 0 ? void 0 : _stat$thisWeek7.trades));\n $('#trading-periods-tab [data-key=\"week-lots\"]').html(this.helper.ToDecimal(stat === null || stat === void 0 ? void 0 : (_stat$thisWeek8 = stat.thisWeek) === null || _stat$thisWeek8 === void 0 ? void 0 : _stat$thisWeek8.lots));\n $('#trading-periods-tab [data-key=\"month-profit-percentage\"]').html(this.helper.ToPercent((_stat$thisMonth$gain = stat === null || stat === void 0 ? void 0 : (_stat$thisMonth = stat.thisMonth) === null || _stat$thisMonth === void 0 ? void 0 : _stat$thisMonth.gain) !== null && _stat$thisMonth$gain !== void 0 ? _stat$thisMonth$gain : stat === null || stat === void 0 ? void 0 : (_stat$thisMonth2 = stat.thisMonth) === null || _stat$thisMonth2 === void 0 ? void 0 : _stat$thisMonth2.gainTWR));\n $('#trading-periods-tab [data-key=\"month-profit-percentage-twr\"]').html(this.helper.ToPercent((_stat$thisMonth$gainT = stat === null || stat === void 0 ? void 0 : (_stat$thisMonth3 = stat.thisMonth) === null || _stat$thisMonth3 === void 0 ? void 0 : _stat$thisMonth3.gainTWR) !== null && _stat$thisMonth$gainT !== void 0 ? _stat$thisMonth$gainT : stat === null || stat === void 0 ? void 0 : (_stat$thisMonth4 = stat.thisMonth) === null || _stat$thisMonth4 === void 0 ? void 0 : _stat$thisMonth4.gain));\n $('#trading-periods-tab [data-key=\"month-profit\"]').html(this.helper.ToDecimal(stat === null || stat === void 0 ? void 0 : (_stat$thisMonth5 = stat.thisMonth) === null || _stat$thisMonth5 === void 0 ? void 0 : _stat$thisMonth5.profit));\n $('#trading-periods-tab [data-key=\"month-win-percentage\"]').html(this.helper.ToPercent(stat === null || stat === void 0 ? void 0 : (_stat$thisMonth6 = stat.thisMonth) === null || _stat$thisMonth6 === void 0 ? void 0 : _stat$thisMonth6.winPercentage));\n $('#trading-periods-tab [data-key=\"month-trades\"]').html(this.helper.ToIntNumber(stat === null || stat === void 0 ? void 0 : (_stat$thisMonth7 = stat.thisMonth) === null || _stat$thisMonth7 === void 0 ? void 0 : _stat$thisMonth7.trades));\n $('#trading-periods-tab [data-key=\"month-lots\"]').html(this.helper.ToDecimal(stat === null || stat === void 0 ? void 0 : (_stat$thisMonth8 = stat.thisMonth) === null || _stat$thisMonth8 === void 0 ? void 0 : _stat$thisMonth8.lots));\n $('#trading-periods-tab [data-key=\"year-profit-percentage\"]').html(this.helper.ToPercent((_stat$thisYear$gain = stat === null || stat === void 0 ? void 0 : (_stat$thisYear = stat.thisYear) === null || _stat$thisYear === void 0 ? void 0 : _stat$thisYear.gain) !== null && _stat$thisYear$gain !== void 0 ? _stat$thisYear$gain : stat === null || stat === void 0 ? void 0 : (_stat$thisYear2 = stat.thisYear) === null || _stat$thisYear2 === void 0 ? void 0 : _stat$thisYear2.gainTWR));\n $('#trading-periods-tab [data-key=\"year-profit-percentage-twr\"]').html(this.helper.ToPercent((_stat$thisYear$gainTW = stat === null || stat === void 0 ? void 0 : (_stat$thisYear3 = stat.thisYear) === null || _stat$thisYear3 === void 0 ? void 0 : _stat$thisYear3.gainTWR) !== null && _stat$thisYear$gainTW !== void 0 ? _stat$thisYear$gainTW : stat === null || stat === void 0 ? void 0 : (_stat$thisYear4 = stat.thisYear) === null || _stat$thisYear4 === void 0 ? void 0 : _stat$thisYear4.gain));\n $('#trading-periods-tab [data-key=\"year-profit\"]').html(this.helper.ToDecimal(stat === null || stat === void 0 ? void 0 : (_stat$thisYear5 = stat.thisYear) === null || _stat$thisYear5 === void 0 ? void 0 : _stat$thisYear5.profit));\n $('#trading-periods-tab [data-key=\"year-win-percentage\"]').html(this.helper.ToPercent(stat === null || stat === void 0 ? void 0 : (_stat$thisYear6 = stat.thisYear) === null || _stat$thisYear6 === void 0 ? void 0 : _stat$thisYear6.winPercentage));\n $('#trading-periods-tab [data-key=\"year-trades\"]').html(this.helper.ToIntNumber(stat === null || stat === void 0 ? void 0 : (_stat$thisYear7 = stat.thisYear) === null || _stat$thisYear7 === void 0 ? void 0 : _stat$thisYear7.trades));\n $('#trading-periods-tab [data-key=\"year-lots\"]').html(this.helper.ToDecimal(stat === null || stat === void 0 ? void 0 : (_stat$thisYear8 = stat.thisYear) === null || _stat$thisYear8 === void 0 ? void 0 : _stat$thisYear8.lots));\n $(\"#trading-periods-tab table tr:nth-child(n+6)\").remove();\n var yearlyStatsHtml = '';\n for (var i = 0; i < yearlyStats.length; i++) {\n if (new Date(yearlyStats[i].date).getUTCFullYear() != new Date().getUTCFullYear()) {\n var _yearlyStats$i$gainPe;\n yearlyStatsHtml += '';\n yearlyStatsHtml += '' + new Date(yearlyStats[i].date).getUTCFullYear() + '';\n yearlyStatsHtml += '' + this.helper.ToPercent(yearlyStats[i].gainPercent) + '';\n yearlyStatsHtml += '' + this.helper.ToPercent((_yearlyStats$i$gainPe = yearlyStats[i].gainPercentTWR) !== null && _yearlyStats$i$gainPe !== void 0 ? _yearlyStats$i$gainPe : yearlyStats[i].gainPercent) + '';\n yearlyStatsHtml += '' + this.helper.ToDecimal(yearlyStats[i].profit) + '';\n yearlyStatsHtml += '' + this.helper.ToPercent(yearlyStats[i].winTradeCount / yearlyStats[i].tradeCount) + '';\n yearlyStatsHtml += '' + this.helper.ToIntNumber(yearlyStats[i].tradeCount) + '';\n yearlyStatsHtml += '' + this.helper.ToDecimal(yearlyStats[i].lots) + '';\n yearlyStatsHtml += '';\n }\n }\n $(\"#trading-periods-tab table tbody\").append(yearlyStatsHtml);\n }\n }, {\n key: \"PopulateAdvancedTradesStats\",\n value: function PopulateAdvancedTradesStats(stats, data) {\n var _stats$closedMonthlyP;\n if (!data) return;\n var myThis = this;\n $('#advanced-stats-trades-tab [data-key=\"trades\"]').html(data[\"trades\"]);\n if (data[\"trades\"] == 0) $('#advanced-stats-trades-tab [data-key=\"profitability\"]').html(myThis.helper.ToPercent(0));else $('#advanced-stats-trades-tab [data-key=\"profitability\"]').html(myThis.helper.ToPercent(data[\"winTrades\"] / data[\"trades\"]));\n $('#advanced-stats-trades-tab [data-key=\"pips\"]').html(myThis.helper.ToDecimal(data[\"pips\"]));\n $('#advanced-stats-trades-tab [data-key=\"averageWin\"]').html('' + myThis.helper.ToDecimal(data[\"averageWinPips\"]) + ' pips ' + myThis.helper.ToDecimal(data[\"averageWin\"]));\n $('#advanced-stats-trades-tab [data-key=\"averageLoss\"]').html('' + myThis.helper.ToDecimal(data[\"averageLossPips\"]) + ' pips ' + myThis.helper.ToDecimal(data[\"averageLoss\"]));\n $('#advanced-stats-trades-tab [data-key=\"lots\"]').html(myThis.helper.ToDecimal(data[\"lots\"]));\n $('#advanced-stats-trades-tab [data-key=\"commissions\"]').html(myThis.helper.ToDecimal(data[\"commissions\"]));\n if (data[\"longs\"] == 0) $('#advanced-stats-trades-tab [data-key=\"longsWon\"]').html('' + data[\"longsWon\"] + '/' + data[\"longs\"] + ' ' + myThis.helper.ToPercent(0));else $('#advanced-stats-trades-tab [data-key=\"longsWon\"]').html('' + data[\"longsWon\"] + '/' + data[\"longs\"] + ' ' + myThis.helper.ToPercent(data[\"longsWon\"] / data[\"longs\"]));\n if (data[\"shorts\"] == 0) $('#advanced-stats-trades-tab [data-key=\"shortsWon\"]').html('' + data[\"shortsWon\"] + '/' + data[\"shorts\"] + ' ' + myThis.helper.ToPercent(0));else $('#advanced-stats-trades-tab [data-key=\"shortsWon\"]').html('' + data[\"shortsWon\"] + '/' + data[\"shorts\"] + ' ' + myThis.helper.ToPercent(data[\"shortsWon\"] / data[\"shorts\"]));\n $('#advanced-stats-trades-tab [data-key=\"bestTrade\"]').html('' + myThis.helper.ToShortDate(data[\"bestTradeDate\"], \"short\") + ' ' + myThis.helper.ToDecimal(data[\"bestTrade\"]));\n $('#advanced-stats-trades-tab [data-key=\"worstTrade\"]').html('' + myThis.helper.ToShortDate(data[\"worstTradeDate\"], \"short\") + ' ' + myThis.helper.ToDecimal(data[\"worstTrade\"]));\n $('#advanced-stats-trades-tab [data-key=\"bestTradePips\"]').html('' + myThis.helper.ToShortDate(data[\"bestTradePipsDate\"], \"short\") + ' ' + myThis.helper.ToDecimal(data[\"bestTradePips\"]));\n $('#advanced-stats-trades-tab [data-key=\"worstTradePips\"]').html('' + myThis.helper.ToShortDate(data[\"worstTradePipsDate\"], \"short\") + ' ' + myThis.helper.ToDecimal(data[\"worstTradePips\"]));\n $('#advanced-stats-trades-tab [data-key=\"avgTradeLength\"]').html(myThis.helper.ToTimeSpan(data[\"avgTradeLength\"]));\n $('#advanced-stats-trades-tab [data-key=\"profitFactor\"]').html(myThis.helper.ToDecimal(data[\"profitFactor\"]));\n $('#advanced-stats-trades-tab [data-key=\"standardDeviation\"]').html(myThis.helper.ToDecimal(data[\"standardDeviation\"]));\n $('#advanced-stats-trades-tab [data-key=\"sharpeRatio\"]').html(myThis.helper.ToDecimal(data[\"sharpeRatio\"]));\n $('#advanced-stats-trades-tab [data-key=\"zScore\"]').html(myThis.helper.ToPercent(data[\"zScore\"]));\n $('#advanced-stats-trades-tab [data-key=\"expectancy\"]').html('' + myThis.helper.ToDecimal(data[\"expectancyPips\"]) + ' pips ' + myThis.helper.ToDecimal(data[\"expectancy\"]));\n $('#advanced-stats-trades-tab [data-key=\"ahpr\"]').html(myThis.helper.ToPercent(data[\"ahpr\"]));\n $('#advanced-stats-trades-tab [data-key=\"ghpr\"]').html(myThis.helper.ToPercent(data[\"ghpr\"]));\n $('#advanced-stats-trades-tab [data-key=\"closed-profit\"]').html(myThis.helper.ToDecimal(stats[\"closedProfit\"]));\n $('#advanced-stats-trades-tab [data-key=\"closed-profit-percent\"]').html(myThis.helper.ToPercent(stats[\"closedProfitPercent\"]));\n $('#advanced-stats-trades-tab [data-key=\"closed-profit-percent-twr\"]').html(myThis.helper.ToPercent(stats[\"closedProfitPercentTWR\"]));\n $('#advanced-stats-trades-tab [data-key=\"closed-monthly-profit\"]').html(myThis.helper.ToPercent((_stats$closedMonthlyP = stats[\"closedMonthlyProfitTWR\"]) !== null && _stats$closedMonthlyP !== void 0 ? _stats$closedMonthlyP : stats[\"closedMonthlyProfit\"]));\n }\n }, {\n key: \"PopulateAdvancedSummaryStats\",\n value: function PopulateAdvancedSummaryStats(data) {\n var myThis = this;\n $('#advanced-stats-summary-tab table tr:nth-child(n + 3)').remove();\n if (!data) return;\n var html = '';\n for (var i = 0; i < data.length; i++) {\n var _data$i, _data$i2, _data$i3, _data$i4, _data$i5, _data$i6, _data$i7, _data$i8, _data$i9, _data$i10, _data$i11, _data$i12, _data$i13, _data$i14, _data$i15, _data$i16, _data$i17, _data$i18;\n var row = '';\n row += '' + ((_data$i = data[i]) === null || _data$i === void 0 ? void 0 : _data$i.symbol) + '';\n row += '' + ((_data$i2 = data[i]) === null || _data$i2 === void 0 ? void 0 : _data$i2.longTrades) + '';\n row += '' + this.helper.ToDecimal((_data$i3 = data[i]) === null || _data$i3 === void 0 ? void 0 : _data$i3.longPips, true) + '';\n row += '' + this.helper.ToDecimal((_data$i4 = data[i]) === null || _data$i4 === void 0 ? void 0 : _data$i4.longProfits, true) + \"\";\n row += '' + ((_data$i5 = data[i]) === null || _data$i5 === void 0 ? void 0 : _data$i5.shortTrades) + '';\n row += '' + this.helper.ToDecimal((_data$i6 = data[i]) === null || _data$i6 === void 0 ? void 0 : _data$i6.shortPips, true) + '';\n row += '' + this.helper.ToDecimal((_data$i7 = data[i]) === null || _data$i7 === void 0 ? void 0 : _data$i7.shortProfits, true) + '';\n row += '' + ((_data$i8 = data[i]) === null || _data$i8 === void 0 ? void 0 : _data$i8.totalTrades) + '';\n row += '' + this.helper.ToDecimal((_data$i9 = data[i]) === null || _data$i9 === void 0 ? void 0 : _data$i9.totalPips, true) + '';\n row += '' + this.helper.ToDecimal((_data$i10 = data[i]) === null || _data$i10 === void 0 ? void 0 : _data$i10.totalProfits, true) + '';\n row += '' + ((_data$i11 = data[i]) === null || _data$i11 === void 0 ? void 0 : _data$i11.winTrades) + '(' + this.helper.ToPercent(((_data$i12 = data[i]) === null || _data$i12 === void 0 ? void 0 : _data$i12.winTrades) / ((_data$i13 = data[i]) === null || _data$i13 === void 0 ? void 0 : _data$i13.totalTrades)) + ')' + '';\n row += '' + ((_data$i14 = data[i]) === null || _data$i14 === void 0 ? void 0 : _data$i14.lossTrades) + '(' + this.helper.ToPercent(((_data$i15 = data[i]) === null || _data$i15 === void 0 ? void 0 : _data$i15.lossTrades) / ((_data$i16 = data[i]) === null || _data$i16 === void 0 ? void 0 : _data$i16.totalTrades)) + ')' + '';\n row += '';\n row += '';\n row += '
Loading data
';\n row += \"
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\\n
\");\n row += ' ';\n html += row;\n }\n $('#advanced-stats-summary-tab table').append(html);\n }\n }, {\n key: \"PopulateAdvancedRiskOfRuin\",\n value: function PopulateAdvancedRiskOfRuin(data) {\n if (!data) return;\n for (var i = 0; i < data.length; i++) {\n if (data[i].probabilityOfLoss > 1e-4) $('#advanced-stats-riskofruin-tab tr:nth-child(2) td:nth-child(' + (i + 2) + ')').html(this.helper.ToPercent(data[i].probabilityOfLoss));\n if (data[i].consecutiveLossingTrades > 0) $('#advanced-stats-riskofruin-tab tr:nth-child(3) td:nth-child(' + (i + 2) + ')').html(data[i].consecutiveLossingTrades);\n }\n $(\"#advanced-stats-riskofruin-tab tr td:nth-child(n+2)\").hover(function () {\n var $el = $(this);\n var index = $el.parent().children().index($el);\n $('#advanced-stats-riskofruin-tab tr td:nth-child(' + (index + 1) + ')').addClass(\"hover\");\n $('#advanced-stats-riskofruin-tab tr:last-child td').html(window.statsStrings['ThereIsA0ChanceOfLosing1OfTheAccountThisWillRequire2ConsecutiveLosingTrades'].replace(\"{0}\", $('#advanced-stats-riskofruin-tab tr:nth-child(1) td:nth-child(' + (index + 1) + ')').text()).replace('{1}', $('#advanced-stats-riskofruin-tab tr:nth-child(2) td:nth-child(' + (index + 1) + ')').text()).replace(\"{2}\", $('#advanced-stats-riskofruin-tab tr:nth-child(3) td:nth-child(' + (index + 1) + ')').text()));\n }, function () {\n $('#advanced-stats-riskofruin-tab td').removeClass(\"hover\");\n $('#advanced-stats-riskofruin-tab tr:last-child td').html(window.statsStrings['HoverOverTheDesiredColumnForADetailedExplanation']);\n });\n }\n }, {\n key: \"GetDefaultChartOption\",\n value: function GetDefaultChartOption(chartType, xaxisType, res) {\n // chartType: line, area, bar | res: data | xaxisType: category, datetime\n\n if (!res.series || res.series.length == 0 || !res.series[0].data || res.series[0].data.length == 0) return null;\n var options = {\n chart: {\n type: chartType,\n height: '100%',\n foreColor: 'rgba(255, 255, 255, 0.7)',\n background: 'transparent',\n toolbar: {\n show: true\n },\n zoom: {\n enabled: true\n }\n },\n colors: ['#44a2f8', '#26E7A6', '#FEBC3B'],\n theme: {\n mode: 'dark'\n },\n dataLabels: {\n enabled: false\n },\n series: res.series,\n xaxis: {\n categories: res.categories,\n type: xaxisType,\n axisTicks: {\n show: true\n }\n },\n stroke: {\n width: 2,\n curve: 'smooth'\n },\n markers: {\n size: 0\n },\n grid: {\n show: true,\n borderColor: 'rgba(255, 255, 255, 0.22)',\n strokeDashArray: 0,\n xaxis: {\n lines: {\n show: true\n }\n },\n yaxis: {\n lines: {\n show: true\n }\n },\n row: {\n opacity: 0.3\n },\n column: {\n opacity: 0.3\n }\n }\n };\n if (chartType == \"area\") {\n options.fill = {\n type: ['gradient', 'solid'],\n colors: ['#44a2f8', '#343540'],\n gradient: {\n shadeIntensity: .4,\n opacityFrom: .6,\n opacityTo: 0,\n stops: [0, 100]\n },\n opacity: 1\n };\n }\n if (!!res.categories && res.categories.length > 20) {\n options.xaxis.tickAmount = 20;\n }\n if (xaxisType == 'datetime') {\n options.xaxis.labels = {\n datetimeUTC: false\n };\n }\n for (var i = 0; i < options.series.length; i++) {\n var twr = false;\n if (options.series[i].name.includes(\"-twr\")) {\n options.series[i].name = options.series[i].name.replace(\"-twr\", \"\");\n twr = true;\n }\n if (!!window.statsStrings[options.series[i].name]) options.series[i].name = window.statsStrings[options.series[i].name];\n if (twr) {\n options.series[i].name += ',';\n }\n }\n return options;\n }\n }, {\n key: \"DrawProfileProfitChart\",\n value: function DrawProfileProfitChart(containerId, chartParams) {\n var myThis = this;\n var customParams = myThis.customOptions;\n var sendParams = _objectSpread(_objectSpread({}, chartParams), customParams);\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfitChartLink') + '?AisAccountId=' + myThis.aisAccountId,\n type: \"GET\",\n data: sendParams,\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('line', 'datetime', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n options.yaxis = [{\n forceNiceScale: false,\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n }];\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawProfileEquityChart\",\n value: function DrawProfileEquityChart(containerId) {\n var myThis = this;\n var customParams = myThis.customOptions;\n var url = myThis.Url('EquityChartLink') + '?AisAccountId=' + myThis.aisAccountId;\n if (myThis.equityChartZoomed) {\n url = myThis.Url('EquityDetailChartLink') + '?AisAccountId=' + myThis.aisAccountId;\n }\n window.APIHelper.SafeServiceAPICall({\n url: url,\n type: \"GET\",\n traditional: true,\n data: customParams,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('line', 'datetime', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n options.chart.events = {\n beforeZoom: function beforeZoom() {\n if (!myThis.equityChartZoomed) {\n $('.chart-spinner').show();\n myThis.equityChartZoomed = true;\n myThis.DrawProfileEquityChart(containerId);\n }\n },\n beforeResetZoom: function beforeResetZoom() {\n $('.chart-spinner').show();\n myThis.equityChartZoomed = false;\n myThis.DrawProfileEquityChart(containerId);\n }\n };\n if (myThis.equityChartZoomed) {\n options.tooltip = {\n x: {\n formatter: function formatter(x) {\n return new Date(x).toLocaleString('en-GB', {\n timeZone: 'UTC'\n });\n }\n }\n };\n }\n options.yaxis = [{\n forceNiceScale: false,\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n }];\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawProfileOpenProfitChart\",\n value: function DrawProfileOpenProfitChart(containerId) {\n var myThis = this;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('OpenProfitChartLink') + '?AisAccountId=' + myThis.aisAccountId,\n type: \"GET\",\n traditional: true,\n data: myThis.customOptions,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('line', 'datetime', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n options.yaxis = [{\n forceNiceScale: false,\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n }];\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawProfileOpenProfitPercentChart\",\n value: function DrawProfileOpenProfitPercentChart(containerId) {\n var myThis = this;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('OpenProfitPercentChartLink') + '?AisAccountId=' + myThis.aisAccountId,\n type: \"GET\",\n data: myThis.customOptions,\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('line', 'datetime', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n options.yaxis = [{\n forceNiceScale: false,\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToPercent(val);\n }\n }\n }];\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawProfileDrawdownChart\",\n value: function DrawProfileDrawdownChart(containerId, chartParams) {\n var myThis = this;\n var customParams = myThis.customOptions;\n var sendParams = _objectSpread(_objectSpread({}, chartParams), customParams);\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileDrawdownChartLink') + '?AisAccountId=' + myThis.aisAccountId,\n type: \"GET\",\n data: sendParams,\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('line', 'datetime', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n if (chartParams[\"UnitType\"].toLowerCase() != \"percent\") {\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n };\n } else {\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(value) {\n return myThis.helper.ToPercent(value);\n }\n }\n };\n }\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawProfileBalanceChart\",\n value: function DrawProfileBalanceChart(containerId, chartParams) {\n var myThis = this;\n var customParams = this.customOptions;\n var sendParams = _objectSpread(_objectSpread({}, chartParams), customParams);\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileBalanceChartLink') + '?AisAccountId=' + myThis.aisAccountId,\n type: \"GET\",\n data: sendParams,\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('line', 'datetime', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n options.yaxis = [{\n forceNiceScale: false,\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n }];\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawProfileGrowthChart\",\n value: function DrawProfileGrowthChart(containerId, chartParams) {\n var myThis = this;\n var customParams = this.customOptions;\n var sendParams = _objectSpread(_objectSpread({}, chartParams), customParams);\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileGrowthChartLink') + '?AisAccountId=' + myThis.aisAccountId,\n type: \"GET\",\n data: sendParams,\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('line', 'datetime', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(value) {\n return myThis.helper.ToPercent(value);\n }\n }\n };\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawProfileMonthlyChart\",\n value: function DrawProfileMonthlyChart(containerId, chartParams) {\n var myThis = this;\n var customParams = this.customOptions;\n var sendParams = _objectSpread(_objectSpread({}, chartParams), customParams);\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileMonthlyChartLink') + '?AisAccountId=' + myThis.aisAccountId,\n type: \"GET\",\n data: sendParams,\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('line', 'category', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n if (chartParams[\"UnitType\"].toLowerCase().includes(\"percent\")) {\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(value) {\n return myThis.helper.ToPercent(value);\n }\n }\n };\n } else {\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n };\n }\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawAdvancedPeriodChart\",\n value: function DrawAdvancedPeriodChart(containerId, period, chartParams) {\n var myThis = this;\n var customParams = this.customOptions;\n var sendParams = _objectSpread(_objectSpread({}, chartParams), customParams);\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileAdvancedPeriodChartLink') + '?AisAccountId=' + myThis.aisAccountId + '&period=' + period,\n type: \"GET\",\n data: sendParams,\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('line', 'category', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n if (chartParams[\"VsType\"] == \"winvslos\" || chartParams[\"VsType\"] == \"longvsshort\") {\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(value) {\n return value.toFixed(0);\n }\n }\n };\n } else {\n if (chartParams[\"UnitType\"] == \"gain\") {\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(value) {\n return myThis.helper.ToPercent(value);\n }\n }\n };\n } else {\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n };\n }\n }\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawAdvancedDurationChart\",\n value: function DrawAdvancedDurationChart(containerId, chartParams) {\n var myThis = this;\n var customParams = this.customOptions;\n var sendParams = _objectSpread(_objectSpread({}, chartParams), customParams);\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileAdvancedDurationChartLink') + '?AisAccountId=' + myThis.aisAccountId + '&tradescount=' + 200,\n type: \"GET\",\n data: sendParams,\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('scatter', 'category', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n options.markers = {};\n options.xaxis = {\n labels: {\n formatter: function formatter(value) {\n var d = value / 24;\n if (value < 24) return value.toFixed(0) + \"h\";else return d - d % 1 + \"d \" + (value % 24).toFixed(0) + \" h\";\n }\n },\n tickAmount: 20\n };\n if (chartParams[\"UnitType\"].toLowerCase() == \"growth\") {\n options.yaxis = {\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToPercent(val);\n }\n }\n };\n } else {\n options.yaxis = {\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n };\n }\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawAdvancedMAEMFEChart\",\n value: function DrawAdvancedMAEMFEChart(containerId, chartParams) {\n var myThis = this;\n var customParams = this.customOptions;\n var sendParams = _objectSpread(_objectSpread({}, chartParams), customParams);\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileAdvancedMAEMFEChartLink') + '?AisAccountId=' + myThis.aisAccountId + '&tradescount=' + 200,\n type: \"GET\",\n data: sendParams,\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('scatter', 'category', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n options.markers = {};\n if (chartParams[\"UnitType\"] == \"gain\") {\n options.yaxis = {\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToPercent(val);\n }\n }\n };\n options.xaxis = {\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToPercent(val);\n }\n },\n tickAmount: 20\n };\n } else {\n options.yaxis = {\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n };\n options.xaxis = {\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n },\n tickAmount: 20\n };\n }\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawMonthlyAnalyticsChart\",\n value: function DrawMonthlyAnalyticsChart(containerId, type, year, updateDetail) {\n var myThis = this;\n var profitType = 'equity';\n var customParams = this.customOptions;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileMonthlyAnalyticsLink') + '?AisAccountId=' + myThis.aisAccountId,\n data: _objectSpread({\n UnitType: type,\n year: year,\n profitType: profitType\n }, customParams),\n type: \"GET\",\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var html = '';\n for (var i = 0; i < res.years.length; i++) {\n if (res.years[i] == year) {\n html += '
  • ' + res.years[i] + '
  • ';\n } else {\n html += '
  • ' + res.years[i] + '
  • ';\n }\n }\n $(\"#monthly-analytics-tablist\").html(html);\n var options = myThis.GetDefaultChartOption('bar', 'category', res);\n if (options == null) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\".concat(window.statsStrings['NoData'], \"\"));\n } else {\n options.chart.events = {\n click: function click(event, chartContext, config) {\n if (config.dataPointIndex >= 0) {\n console.log(config.config.xaxis.categories[config.dataPointIndex]);\n myThis.DrawMonthlyAnalyticsDetailCharts(config.config.xaxis.categories[config.dataPointIndex]);\n }\n }\n };\n if (type != \"percent\") {\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n };\n } else {\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(value) {\n return myThis.helper.ToPercent(value);\n }\n }\n };\n }\n if (!myThis.apexCharts[containerId]) {\n $(\"#\" + containerId).html('');\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n } else {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = new ApexCharts(document.querySelector(\"#\" + containerId), options);\n myThis.apexCharts[containerId].render();\n }\n }\n if (updateDetail) {\n if (myThis.apexCharts['monthly-analytics-reward-chart']) {\n myThis.apexCharts['monthly-analytics-reward-chart'].destroy();\n myThis.apexCharts['monthly-analytics-reward-chart'] = null;\n }\n if (myThis.apexCharts['monthly-analytics-currencies-chart']) {\n myThis.apexCharts['monthly-analytics-currencies-chart'].destroy();\n myThis.apexCharts['monthly-analytics-currencies-chart'] = null;\n }\n if (myThis.apexCharts['monthly-analytics-avgholding-chart']) {\n myThis.apexCharts['monthly-analytics-avgholding-chart'].destroy();\n myThis.apexCharts['monthly-analytics-avgholding-chart'] = null;\n }\n $(\"#monthly-analytics-reward-chart\").html(\"\".concat(window.statsStrings['PleaseSelectAMonth'], \"\"));\n $(\"#monthly-analytics-reward-chart\").parent().find('div.resize-triggers').remove();\n $(\"#monthly-analytics-currencies-chart\").html(\"\".concat(window.statsStrings['PleaseSelectAMonth'], \"\"));\n $(\"#monthly-analytics-currencies-chart\").parent().find('div.resize-triggers').remove();\n $(\"#monthly-analytics-avgholding-chart\").html(\"\".concat(window.statsStrings['PleaseSelectAMonth'], \"\"));\n $(\"#monthly-analytics-avgholding-chart\").parent().find('div.resize-triggers').remove();\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"DrawMonthlyAnalyticsDetailCharts\",\n value: function DrawMonthlyAnalyticsDetailCharts(month) {\n var myThis = this;\n var profitType = 'equity';\n var customParams = this.customOptions;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileMonthlyAnalyticsDetailLink') + '?AisAccountId=' + myThis.aisAccountId + '&month=' + month + '&profitType=' + profitType,\n type: \"GET\",\n data: customParams,\n traditional: true,\n success: function success(res) {\n $('.chart-spinner').hide();\n var options = myThis.GetDefaultChartOption('bar', 'category', res.rewardChart);\n options.chart.stacked = true;\n options.plotOptions = {\n bar: {\n horizontal: true\n }\n };\n document.querySelector(\"#monthly-analytics-reward-chart\").innerHTML = '';\n if (!myThis.apexCharts['monthly-analytics-reward-chart']) {\n myThis.apexCharts['monthly-analytics-reward-chart'] = new ApexCharts(document.querySelector(\"#monthly-analytics-reward-chart\"), options);\n myThis.apexCharts['monthly-analytics-reward-chart'].render();\n } else {\n myThis.apexCharts['monthly-analytics-reward-chart'].destroy();\n myThis.apexCharts['monthly-analytics-reward-chart'] = new ApexCharts(document.querySelector(\"#monthly-analytics-reward-chart\"), options);\n myThis.apexCharts['monthly-analytics-reward-chart'].render();\n }\n var currenciesOptions = {\n chart: {\n type: 'pie',\n height: '100%',\n foreColor: 'rgba(255, 255, 255, 0.7)',\n background: 'transparent',\n stacked: true\n },\n series: res.currenciesPopularityChart.series[0].data,\n labels: res.currenciesPopularityChart.categories\n };\n document.querySelector(\"#monthly-analytics-currencies-chart\").innerHTML = '';\n if (!myThis.apexCharts['monthly-analytics-currencies-chart']) {\n myThis.apexCharts['monthly-analytics-currencies-chart'] = new ApexCharts(document.querySelector(\"#monthly-analytics-currencies-chart\"), currenciesOptions);\n myThis.apexCharts['monthly-analytics-currencies-chart'].render();\n } else {\n myThis.apexCharts['monthly-analytics-currencies-chart'].destroy();\n myThis.apexCharts['monthly-analytics-currencies-chart'] = new ApexCharts(document.querySelector(\"#monthly-analytics-currencies-chart\"), currenciesOptions);\n myThis.apexCharts['monthly-analytics-currencies-chart'].render();\n }\n var holidingTimeOptions = myThis.GetDefaultChartOption('bar', 'category', res.averageHoldingTimeChart);\n holidingTimeOptions.chart.stacked = true;\n holidingTimeOptions.xaxis = {\n labels: {\n formatter: function formatter(value) {\n var d = value / 24;\n if (value < 24) return value.toFixed(0) + \"h\";else return d - d % 1 + \"d \" + (value % 24).toFixed(0) + \" h\";\n }\n },\n categories: res.averageHoldingTimeChart.categories\n };\n holidingTimeOptions.tooltip = {\n y: {\n formatter: function formatter(value) {\n var d = value / 24;\n if (value < 24) return value.toFixed(0) + \"h\";else return d - d % 1 + \"d \" + (value % 24).toFixed(0) + \" h\";\n }\n }\n };\n holidingTimeOptions.dataLabels = {\n enabled: false\n };\n holidingTimeOptions.plotOptions = {\n bar: {\n horizontal: true\n }\n };\n document.querySelector(\"#monthly-analytics-avgholding-chart\").innerHTML = '';\n if (!myThis.apexCharts['monthly-analytics-avgholding-chart']) {\n myThis.apexCharts['monthly-analytics-avgholding-chart'] = new ApexCharts(document.querySelector(\"#monthly-analytics-avgholding-chart\"), holidingTimeOptions);\n myThis.apexCharts['monthly-analytics-avgholding-chart'].render();\n } else {\n myThis.apexCharts['monthly-analytics-avgholding-chart'].destroy();\n myThis.apexCharts['monthly-analytics-avgholding-chart'] = new ApexCharts(document.querySelector(\"#monthly-analytics-avgholding-chart\"), holidingTimeOptions);\n myThis.apexCharts['monthly-analytics-avgholding-chart'].render();\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n if (myThis.apexCharts[containerId]) {\n myThis.apexCharts[containerId].destroy();\n myThis.apexCharts[containerId] = null;\n }\n $(\"#\" + containerId).html(\"\");\n }\n }\n });\n }\n }, {\n key: \"InitializeTradingActivityTable\",\n value: function InitializeTradingActivityTable(selector, dataSourceLink) {\n var myThis = this;\n var container = $(selector).pagination({\n dataSource: dataSourceLink + \"?aisAccountId=\" + myThis.aisAccountId,\n ajaxFunction: function ajaxFunction(t) {\n return window.APIHelper.SafeServiceAPICall(t);\n },\n locator: 'items',\n pageSize: 20,\n pageRange: 1,\n totalNumberLocator: function totalNumberLocator(response) {\n return response.totalCount;\n },\n ajax: {\n data: myThis.customOptions,\n traditional: true,\n beforeSend: function beforeSend(jqXHR, settings) {\n if (myThis.tradingActivitySortParam[selector] != undefined) {\n settings.url += '&sortParam=' + myThis.tradingActivitySortParam[selector].sortParam + '&sortOrder=' + myThis.tradingActivitySortParam[selector].sortOrder;\n }\n return true;\n }\n },\n formatAjaxError: function formatAjaxError(jqXHR, textStatus, errorThrown) {\n var $this = this;\n if (jqXHR.status == 401) {\n window.APIHelper.GetAccessTokenAsync().then(function () {\n $(selector).pagination($this.pageNumber);\n });\n } else if (jqXHR.status == 423) {\n $(selector).html(\"
    \");\n }\n if (selector == \"#trading-activity-excluded\") {\n $(\"a[href='\".concat(selector, \"']\")).hide();\n }\n },\n callback: function callback(data, pagination) {\n if (selector == \"#trading-activity-excluded\") {\n if (data.length == 0) $(\"a[href='\".concat(selector, \"']\")).hide();else $(\"a[href='\".concat(selector, \"']\")).show();\n }\n if (data.length == 0) {\n $(selector).html(\"
    \".concat(window.statsStrings['NoData'], \"
    \"));\n } else {\n var sortParam = \"closeTime\",\n sortOrder = \"desc\";\n if (!!myThis.tradingActivitySortParam[selector]) {\n sortParam = myThis.tradingActivitySortParam[selector].sortParam;\n sortOrder = myThis.tradingActivitySortParam[selector].sortOrder.toLowerCase();\n }\n var html = '';\n var header = '';\n if (sortParam == \"openTime\") header += \"\");else header += \"\");\n if (selector == '#trading-activity-history' || selector == \"#trading-activity-excluded\") {\n if (sortParam == \"closeTime\") header += \"\");else header += \"\");\n }\n if (sortParam == \"symbol\") header += \"\");else header += \"\");\n if (sortParam == \"type\") header += \"\");else header += \"\");\n if (sortParam == \"lots\") header += \"\");else header += \"\");\n if (sortParam == \"openPrice\") header += \"\");else header += \"\");\n var closePriceLabel = window.statsStrings['ClosePrice'];\n if (selector == '#trading-activity-open-trades' || selector == \"#trading-activity-open-orders\") {\n closePriceLabel = window.statsStrings['CurrentPrice'];\n }\n if (sortParam == \"closePrice\") header += \"\");else header += \"\");\n if (sortParam == \"stopLoss\") header += \"\");else header += \"\");\n if (sortParam == \"takeProfit\") header += \"\");else header += \"\");\n if (sortParam == \"pips\") header += \"\");else header += \"\");\n header += \"\");\n header += \"\");\n if (sortParam == \"profit\") header += \"\");else header += \"\");\n if (sortParam == \"duration\") header += \"\");else header += \"\");\n if (sortParam == \"gain\") header += \"\");else header += \"\");\n header += \"\");\n header += '';\n html += header;\n var curDate = new Date(new Date().getTime() + myThis.timeOffset * 60 * 1000);\n for (var i = 0; i < data.length; i++) {\n var row = '';\n row += '';\n if (selector == '#trading-activity-history' || selector == \"#trading-activity-excluded\") {\n row += '';\n }\n row += '';\n row += '';\n row += '';\n row += '';\n row += '';\n if (data[i].stopLoss == 0) row += '';else row += '';\n if (data[i].takeProfit == 0) row += '';else row += '';\n if (data[i].type == \"Balance\" || data[i].type == \"Credit\") {\n row += '';\n } else {\n row += '';\n }\n row += '';\n row += '';\n row += '';\n if (selector == '#trading-activity-history' || selector == \"#trading-activity-excluded\") {\n row += '';\n } else {\n row += '';\n }\n row += '';\n if (data[i].comment) {\n row += '';\n } else {\n row += '';\n }\n row += '';\n html += row;\n }\n html += '
    \").concat(window.statsStrings['OpenDate'], \"\").concat(window.statsStrings['OpenDate'], \"\").concat(window.statsStrings['CloseDate'], \"\").concat(window.statsStrings['CloseDate'], \"\").concat(window.statsStrings['Symbol'], \"\").concat(window.statsStrings['Symbol'], \"\").concat(window.statsStrings['Action'], \"\").concat(window.statsStrings['Action'], \"\").concat(window.statsStrings['Volume'], \"\").concat(window.statsStrings['Volume'], \"\").concat(window.statsStrings['OpenPrice'], \"\").concat(window.statsStrings['OpenPrice'], \"\").concat(closePriceLabel, \"\").concat(closePriceLabel, \"SLSLTPTP\").concat(window.statsStrings['Pips'], \"\").concat(window.statsStrings['Pips'], \"\").concat(window.statsStrings['Swap'], \"\").concat(window.statsStrings['Commission'], \"\").concat(window.statsStrings['Profit'], \"\").concat(window.statsStrings['Profit'], \"\").concat(window.statsStrings['Duration'], \"\").concat(window.statsStrings['Duration'], \"\").concat(window.statsStrings['ProfitPercent'], \"\").concat(window.statsStrings['ProfitPercent'], \"\").concat(window.statsStrings['Comment'], \"
    ' + myThis.helper.ToLongDate(data[i].openTime, 'UTC') + '' + myThis.helper.ToLongDate(data[i].closeTime, 'UTC') + '' + data[i].symbol + '' + window.statsStrings[data[i].type] + '' + myThis.helper.ToDecimal(data[i].lots) + '' + myThis.helper.ToDigitsDecimal(data[i].openPrice, data[i].digits) + '' + myThis.helper.ToDigitsDecimal(data[i].closePrice, data[i].digits) + '-' + myThis.helper.ToDigitsDecimal(data[i].stopLoss, data[i].digits) + '-' + myThis.helper.ToDigitsDecimal(data[i].takeProfit, data[i].digits) + '' + myThis.helper.ToDecimal(data[i].pips, true) + '' + myThis.helper.ToDecimal(data[i].swap) + '' + myThis.helper.ToDecimal(data[i].commission) + '' + myThis.helper.ToDecimal(data[i].profit + data[i].swap + data[i].commission, true) + '' + myThis.helper.GetDuraction(data[i].openTime, data[i].closeTime) + '' + myThis.helper.GetDuraction(data[i].openTime, curDate) + '' + myThis.helper.ToPercent(data[i].gain) + '' + data[i].comment + '
    ';\n $(selector + \" .section-tab-body\").html(html);\n InitializeScrollTable(selector + \" .section-tab-body table\");\n }\n }\n });\n container.addHook('beforePaging', function () {\n window.APIHelper.GetAccessTokenAsync();\n });\n }\n }, {\n key: \"DrawAdvancedStatSummaryChart\",\n value: function DrawAdvancedStatSummaryChart(symbol) {\n var myThis = this;\n var type = $(\"input[name=advanced-summary-chart-type-\".concat(symbol, \"]:checked\")).val();\n var profitType = 'equity';\n var customParams = this.customOptions;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('ProfileAdvancedSummaryChartLink') + '?AisAccountId=' + myThis.aisAccountId + '&Symbol=' + symbol + '&UnitType=' + type + '&profitType=' + profitType,\n type: \"GET\",\n data: customParams,\n success: function success(res) {\n var options = myThis.GetDefaultChartOption('line', 'datetime', res);\n if (options == null) {\n $('#advanced-stats-summary-tab tr[data-id=\"' + myThis.aisAccountId + '-' + symbol + '\"] td div.advanced-summary-chart').html('No data');\n } else {\n options.stroke = {\n width: [2, 2, 0]\n };\n options.yaxis = {\n forceNiceScale: false,\n labels: {\n formatter: function formatter(val) {\n return myThis.helper.ToChartMoney(val);\n }\n }\n };\n if (myThis.apexCharts[\"symbol-summary-chart-\".concat(symbol)]) {\n myThis.apexCharts[\"symbol-summary-chart-\".concat(symbol)].destroy();\n }\n $('#advanced-stats-summary-tab tr[data-id=\"' + myThis.aisAccountId + '-' + symbol + '\"] td div.advanced-summary-chart').html('');\n myThis.apexCharts[\"symbol-summary-chart-\".concat(symbol)] = new ApexCharts(document.querySelector('#advanced-stats-summary-tab tr[data-id=\"' + myThis.aisAccountId + '-' + symbol + '\"] td div.advanced-summary-chart'), options);\n myThis.apexCharts[\"symbol-summary-chart-\".concat(symbol)].render();\n }\n },\n error: function error(xhr, statusText) {\n if (xhr.status == 423) {\n $('#advanced-stats-summary-tab tr[data-id=\"' + myThis.aisAccountId + '-' + symbol + '\"] td div.advanced-summary-chart').html('');\n }\n }\n });\n }\n }, {\n key: \"DrawSummaryChart\",\n value: function DrawSummaryChart($el, chart) {\n var myThis = this;\n $('#statistics-charts-dropdown-menu li[data-trigger=drawchart]').removeClass('active');\n $(\"button.profile-summary-button[data-trigger=drawchart]\").removeClass('active');\n $(\"[data-trigger=drawchart][data-chart=\".concat(chart, \"]\")).addClass('active');\n $(\"#statistics-charts-dropdown-menu a[data-toggle=dropdown]\").html($('#statistics-charts-dropdown-menu ul li[data-chart=' + chart + ']').html());\n if ($el.hasClass(\"profile-summary-button\")) {\n if (window.matchMedia('screen and (max-width: 767px)').matches) {\n $('html, body').animate({\n scrollTop: $('.profile-summary .profile-chart-box').offset().top - 64\n }, 100);\n }\n }\n if (myThis.currentChart == chart) return;\n myThis.currentChart = chart;\n myThis.InitializeSummaryChartOptions(chart);\n myThis.InitializePermission();\n var chartParams = {};\n chartParams[\"ProfitType\"] = 'equity';\n $('.chart-spinner').show();\n switch (chart) {\n case 'equity':\n myThis.DrawProfileEquityChart('profile-summary-chart');\n break;\n case 'profit':\n myThis.DrawProfileProfitChart('profile-summary-chart');\n break;\n case 'closed-profit':\n chartParams[\"ProfitType\"] = \"balance\";\n myThis.DrawProfileProfitChart('profile-summary-chart', chartParams);\n break;\n case 'open-profit':\n myThis.DrawProfileOpenProfitChart('profile-summary-chart', chartParams);\n break;\n case 'balance':\n chartParams[\"UnitType\"] = \"lots\";\n myThis.DrawProfileBalanceChart('profile-summary-chart', chartParams);\n break;\n case 'open-profit-percent':\n myThis.DrawProfileOpenProfitPercentChart('profile-summary-chart');\n break;\n case 'profit-percent':\n chartParams[\"ProfitType\"] = \"equity\";\n myThis.DrawProfileGrowthChart('profile-summary-chart', chartParams);\n break;\n case 'closed-profit-percent':\n chartParams[\"ProfitType\"] = \"balance\";\n myThis.DrawProfileGrowthChart('profile-summary-chart', chartParams);\n break;\n case 'profit-percent-twr':\n chartParams[\"ProfitType\"] = \"equity-twr\";\n myThis.DrawProfileGrowthChart('profile-summary-chart', chartParams);\n break;\n case 'closed-profit-percent-twr':\n chartParams[\"ProfitType\"] = \"balance-twr\";\n myThis.DrawProfileGrowthChart('profile-summary-chart', chartParams);\n break;\n case 'drawdown':\n chartParams[\"UnitType\"] = \"percent\";\n myThis.DrawProfileDrawdownChart('profile-summary-chart', chartParams);\n break;\n case 'monthly-profit':\n chartParams[\"ProfitType\"] = 'equity';\n chartParams[\"UnitType\"] = \"percent\";\n myThis.DrawProfileMonthlyChart('profile-summary-chart', chartParams);\n break;\n case 'monthly-profit-twr':\n chartParams[\"ProfitType\"] = 'equity';\n chartParams[\"UnitType\"] = \"percent-twr\";\n myThis.DrawProfileMonthlyChart('profile-summary-chart', chartParams);\n break;\n case 'closed-monthly-profit':\n chartParams[\"ProfitType\"] = \"balance\";\n chartParams[\"UnitType\"] = \"percent\";\n myThis.DrawProfileMonthlyChart('profile-summary-chart', chartParams);\n break;\n case 'closed-monthly-profit-twr':\n chartParams[\"ProfitType\"] = \"balance\";\n chartParams[\"UnitType\"] = \"percent-twr\";\n myThis.DrawProfileMonthlyChart('profile-summary-chart', chartParams);\n break;\n case 'advanced-hourly':\n chartParams[\"VsType\"] = \"winvslos\";\n myThis.DrawAdvancedPeriodChart(\"profile-summary-chart\", 0, chartParams);\n break;\n case 'advanced-daily':\n chartParams[\"VsType\"] = \"winvslos\";\n myThis.DrawAdvancedPeriodChart(\"profile-summary-chart\", 1, chartParams);\n break;\n case 'advanced-duration':\n chartParams[\"UnitType\"] = \"percent\";\n myThis.DrawAdvancedDurationChart(\"profile-summary-chart\", chartParams);\n break;\n case 'advanced-maemfe':\n chartParams['VsType'] = 'maevsoutcome';\n chartParams['UnitType'] = 'pips';\n myThis.DrawAdvancedMAEMFEChart(\"profile-summary-chart\", chartParams);\n break;\n }\n }\n }, {\n key: \"UpdateSummaryChart\",\n value: function UpdateSummaryChart() {\n var myThis = this;\n var chartParams = {};\n $(\"#profile-summary-chart-options input:checked\").each(function () {\n chartParams[this.name] = this.value;\n });\n var profitType = 'equity';\n chartParams[\"ProfitType\"] = profitType;\n if (myThis.currentChart == \"advanced-hourly\" || myThis.currentChart == \"advanced-daily\") {\n if (chartParams[\"VsType\"] == 'winvslos' || chartParams[\"VsType\"] == 'longvsshort') {\n $(\"#profile-summary-chart-options input[name=UnitType]\").attr(\"disabled\", true);\n chartParams[\"UnitType\"] = undefined;\n } else {\n $(\"#profile-summary-chart-options input[name=UnitType]\").removeAttr(\"disabled\");\n myThis.InitializePermission();\n }\n }\n switch (myThis.currentChart) {\n case 'equity':\n myThis.DrawProfileEquityChart('profile-summary-chart');\n break;\n case 'profit':\n myThis.DrawProfileProfitChart('profile-summary-chart');\n break;\n case 'closed-profit':\n chartParams[\"ProfitType\"] = \"balance\";\n myThis.DrawProfileProfitChart('profile-summary-chart');\n break;\n case 'open-profit':\n myThis.DrawProfileOpenProfitChart('profile-summary-chart');\n break;\n case 'balance':\n myThis.DrawProfileBalanceChart('profile-summary-chart', chartParams);\n break;\n case 'open-profit-percent':\n myThis.DrawProfileOpenProfitPercentChart('profile-summary-chart');\n break;\n case 'profit-percent':\n chartParams[\"ProfitType\"] = \"equity\";\n myThis.DrawProfileGrowthChart('profile-summary-chart', chartParams);\n break;\n case 'closed-profit-percent':\n chartParams[\"ProfitType\"] = \"balance\";\n myThis.DrawProfileGrowthChart('profile-summary-chart', chartParams);\n break;\n case 'profit-percent-twr':\n chartParams[\"ProfitType\"] = \"equity-twr\";\n myThis.DrawProfileGrowthChart('profile-summary-chart', chartParams);\n break;\n case 'closed-profit-percent-twr':\n chartParams[\"ProfitType\"] = \"balance-twr\";\n myThis.DrawProfileGrowthChart('profile-summary-chart', chartParams);\n break;\n case 'drawdown':\n myThis.DrawProfileDrawdownChart('profile-summary-chart', chartParams);\n break;\n case 'monthly-profit':\n case 'monthly-profit-twr':\n chartParams[\"ProfitType\"] = \"equity\";\n myThis.DrawProfileMonthlyChart('profile-summary-chart', chartParams);\n break;\n case 'closed-monthly-profit':\n case 'closed-monthly-profit-twr':\n chartParams[\"ProfitType\"] = \"balance\";\n myThis.DrawProfileMonthlyChart('profile-summary-chart', chartParams);\n break;\n case 'advanced-hourly':\n myThis.DrawAdvancedPeriodChart(\"profile-summary-chart\", 0, chartParams);\n break;\n case 'advanced-daily':\n myThis.DrawAdvancedPeriodChart(\"profile-summary-chart\", 1, chartParams);\n break;\n case 'advanced-duration':\n myThis.DrawAdvancedDurationChart(\"profile-summary-chart\", chartParams);\n break;\n case 'advanced-maemfe':\n myThis.DrawAdvancedMAEMFEChart(\"profile-summary-chart\", chartParams);\n break;\n }\n }\n }, {\n key: \"InitializeSummaryChartOptions\",\n value: function InitializeSummaryChartOptions(chart) {\n $(\"#profile-summary-chart-options\").html(this.chartOptionHtmls[chart] || '');\n }\n }, {\n key: \"ChangeCustomAnalysisOptionContent\",\n value: function ChangeCustomAnalysisOptionContent($el, id) {\n var myThis = this;\n $(\"#custom-analysis-option-list button\").removeClass('active');\n $el.addClass('active');\n $(\"#custom-analysis-option-content\").children().css({\n \"display\": \"none\"\n });\n $(\"#custom-analysis-\" + id).css({\n \"display\": \"block\"\n });\n }\n }]);\n return AISStatistics;\n}();\nvar _default = AISStatistics;\nexports[\"default\"] = _default;\n\n},{\"./AISHelper\":2}],6:[function(require,module,exports){\n'use strict';\n\nvar _AISHelper = _interopRequireDefault(require(\"../../includes/AISHelper.js\"));\nvar _AISStatistics = _interopRequireDefault(require(\"../../includes/AISStatistics.js\"));\nvar _AISPortfolio = _interopRequireDefault(require(\"../../includes/AISPortfolio.js\"));\nvar _AISContest = _interopRequireDefault(require(\"../../includes/AISContest.js\"));\nvar _AISPerformances = _interopRequireDefault(require(\"../../includes/AISPerformances.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nwindow.AISHelper = _AISHelper[\"default\"];\nwindow.AISStatistics = _AISStatistics[\"default\"];\nwindow.AISPortfolio = _AISPortfolio[\"default\"];\nwindow.AISContest = _AISContest[\"default\"];\nwindow.AISPerformances = _AISPerformances[\"default\"];\n(function ($) {\n $.fn.shorten = function (settings) {\n var config = {\n showChars: 100,\n ellipsesText: \"...\",\n moreText: \"more\",\n lessText: \"less\"\n };\n if (settings) {\n $.extend(config, settings);\n }\n $(document).off(\"click\", '.morelink');\n $(document).on({\n click: function click() {\n var $this = $(this);\n if ($this.hasClass('less')) {\n $this.removeClass('less');\n $this.html(config.moreText);\n } else {\n $this.addClass('less');\n $this.html(config.lessText);\n }\n $this.parent().prev().toggle();\n $this.prev().toggle();\n return false;\n }\n }, '.morelink');\n return this.each(function () {\n var $this = $(this);\n if ($this.hasClass(\"shortened\")) return;\n $this.addClass(\"shortened\");\n var content = $this.html();\n if (content.length > config.showChars) {\n var c = content.substr(0, config.showChars);\n var h = content.substr(config.showChars, content.length - config.showChars);\n var html = c + '' + config.ellipsesText + ' ' + h + ' ' + config.moreText + '';\n $this.html(html);\n $(\".morecontent span\").hide();\n }\n });\n };\n})(jQuery);\n\n},{\"../../includes/AISContest.js\":1,\"../../includes/AISHelper.js\":2,\"../../includes/AISPerformances.js\":3,\"../../includes/AISPortfolio.js\":4,\"../../includes/AISStatistics.js\":5}]},{},[6]);\n"]}