{"version":3,"sources":["spreads.min.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","value","ForexBrokerSpreads","spreadsRoot","this","urls","GetBrokerSpreads","SpreadsUpdateHub","selectedSymbols","rawSpreads","standardSpreads","symbols","selectedSpread","brokerId","isCommission","broker","tabName","accountType","symbolId","locale","spreadTypes","name","str","id","symbolName","tab","myThis","$","ajax","url","Url","replace","type","success","res","find","x","spreads","forEach","symbolSpread","push","symbol","removeClass","addClass","css","title","desc","brokerName","window","spreadsString","chargedCommissionAccountType","notChargedCommissionAccountType","description","attr","html","show","UpdateChartBreadcrumb","CURRENT_LANG","CURRENT_CULTURE","InitializeTable","InitializeScrollTable","InitializeTableBody","error","console","log","text","langSlug","replaceWith","entityType","lastItem","append","breadcrumbSchema","JSON","parse","Array","isArray","items","@type","position","item","location","href","stringify","on","reload","document","currentTarget","classList","add","history","pushState","b","toLowerCase","includes","val","timeVal","checked","hide","substring","textContent","spreadsConnection","signalR","HubConnectionBuilder","withUrl","configureLogging","LogLevel","Warning","withAutomaticReconnect","build","start","receivingSpreads","commission","xagusdSymbolId","td","usingSpread","digitalNum","children","toLocaleString","maximumFractionDigits","currentSpread","fourHourAverageSpread","oneDayAverageSpread","oneWeekAverageSpread","sydneySessionAverageSpread","tokyoSessionAverageSpread","londonSessionAverageSpread","newyorkSessionAverageSpread","undefined","rawSpread","rawSpreadVal","cbfBrokerId","sp","standardSpread","standardSpreadVal","digitNum","symbolType","commissionUSD","spread","spreadVal","remove","jQuery","clone","appendTo","width","tooltip","boundary","_default","2","ForexSpreads","jwtToken","tableId","InitialSpreads","initialSymbolNames","initialSelectedSymbols","ids","className","label","selectedBrokers","viewSpreads","brokers","rebateBrokers","premiumBrokers","superPremiumBrokers","sortedSymbol","order","scrollLeft","scrollTop","scrolling","topScrolling","charAt","slice","data","GetViewSpreads","ShuffleArray","sort","compA","compB","aSpread","bSpread","MakeFixedHeaderVisible","bros","BrokerName","inVal","s","Name","typeSymbol","Type","Id","typeSymbols","filter","spid","findIndex","syid","vspid","vsyid","viewTempSpreads","prevViewTempSpread","prevCommission","prevAvgViewTempSpread","prevAvgCommission","prevViewTempSpreads","prevAvgTempSpreads","nextViewTempSpread","nextCommission","nextAvgViewTempSpread","nextAvgCommission","nextViewTempSpreads","nextAvgTempSpreads","toFixed","currentAvgTempSpreads","typeSpreads","newAvgTempSpread","newAvgCommission","tempsymbolspread","typespreads","reduce","total","next","avgtd","avgId","tempSpread","index","tsymbol","tspreads","tempSymbolSpread","array","randomIndex","currentIndex","Math","floor","random","_ref","dir","screen","spreadInfo","logo","link","tooltipStr","body","CbfBrokerId","TableBodyContent","each","v","brokerIdStr","split","Number","localStorage","setItem","modal","stickyTop","offset","top","stickyBottom","height","topOffsetElement","getElementById","offsetHeight","3","SymbolSpreads","refresh","APIHelper","SafeServiceAPICall","spreadA","spreadB","toggle","contains","receivingMXIds","receivingMNIds","4","_interopRequireDefault","obj","__esModule","default","_ForexSpreads","_ForexBrokerSpreads","_SymbolSpreads","../../includes/ForexBrokerSpreads.js","../../includes/ForexSpreads.js","../../includes/SymbolSpreads.js"],"mappings":"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","file":"../spreads.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\");\n $('#symbol-spreads-link').show();\n }\n } else {\n if (tab == \"Commissions\") {\n $(\"#broker-spread-spread-select\").css('display', 'none');\n $(\"#broker-spread-session-select\").css('display', 'none');\n $(\"#commission-checkbox\").css('display', 'none');\n }\n title = myThis.broker.brokerName + \" \" + window.spreadsString[tab];\n desc = window.spreadsString[\"BrokerDetail\" + tab + \"Description\"].replace(\"{0}\", myThis.broker.brokerName);\n }\n $(\"title\").html(title);\n $(\"#broker-spread-name\").html(title);\n $(\"#broker-spread-description\").html(desc);\n myThis.UpdateChartBreadcrumb();\n if (window.CURRENT_LANG != \"ar\") myThis.locale = window.CURRENT_CULTURE;\n myThis.InitializeTable();\n InitializeScrollTable(\"#broker-spread-table\");\n myThis.InitializeTableBody();\n },\n error: function error() {\n console.log(\"Error occured\");\n }\n });\n }\n }, {\n key: \"UpdateChartBreadcrumb\",\n value: function UpdateChartBreadcrumb() {\n var myThis = this;\n var title = $(\"h1\").text();\n var langSlug = \"/\";\n if (window.CURRENT_LANG != 'en') langSlug = \"/\" + window.CURRENT_LANG + \"/\";\n $(\"#site-breadcrumb>.breadcrumb-item:nth-child(4)\").replaceWith('' + $(\"#site-breadcrumb>.breadcrumb-item:nth-child(4)\").text() + '');\n var lastItem = '';\n lastItem += title;\n lastItem += '';\n if ($(\"#site-breadcrumb>.breadcrumb-item:nth-child(5)\").length > 0) {\n $(\"#site-breadcrumb>.breadcrumb-item:nth-child(5)\").replaceWith(lastItem);\n } else {\n $(\"#site-breadcrumb\").append(lastItem);\n }\n if ($('script[type=\"application/ld+json\"]').length == 0) return;\n var breadcrumbSchema = JSON.parse($('script[type=\"application/ld+json\"]').html());\n if (breadcrumbSchema['itemListElement'] && Array.isArray(breadcrumbSchema['itemListElement'])) {\n var items = breadcrumbSchema['itemListElement'];\n if (items.length == 4) {\n items.push({\n '@type': 'ListItem',\n position: 5,\n name: title,\n item: window.location.href\n });\n } else if (items.length > 4) {\n items[4] = {\n '@type': 'ListItem',\n position: 5,\n name: title,\n item: window.location.href\n };\n }\n breadcrumbSchema['name'] = title;\n breadcrumbSchema['numberOfItems'] = 5;\n $('script[type=\"application/ld+json\"]').html(JSON.stringify(breadcrumbSchema));\n }\n }\n }, {\n key: \"InitializeEventTriggers\",\n value: function InitializeEventTriggers() {\n var myThis = this;\n $(window).on('popstate', function (e) {\n location.reload();\n });\n $(document).on('click', '#brokerSpreadsTab div', function (e) {\n $(\"#brokerSpreadsTab div\").removeClass('frn-tab-active');\n e.currentTarget.classList.add('frn-tab-active');\n var tabName = e.currentTarget.id;\n var title = \"\";\n if (tabName == \"spreads-tab\") {\n title = myThis.broker.brokerName + \" \" + window.spreadsString[\"Spreads\"];\n $(\"#broker-spread-name\").html(myThis.broker.brokerName + \" \" + window.spreadsString[\"Spreads\"]);\n $(\"#broker-spread-spread-select\").css('display', 'block');\n $(\"#broker-spread-session-select\").css('display', 'block');\n $(\"#commission-checkbox\").css('display', 'block');\n myThis.tabName = \"Spreads\";\n history.pushState({}, \"\", \"?tab=Spreads\");\n } else if (tabName == \"commissions-tab\") {\n title = myThis.broker.brokerName + \" \" + window.spreadsString[\"Commissions\"];\n $(\"#broker-spread-name\").html(myThis.broker.brokerName + \" \" + window.spreadsString[\"Commissions\"]);\n $(\"#broker-spread-spread-select\").css('display', 'none');\n $(\"#broker-spread-session-select\").css('display', 'none');\n $(\"#commission-checkbox\").css('display', 'none');\n myThis.tabName = \"Commissions\";\n history.pushState({}, \"\", \"?tab=Commissions\");\n } else {\n title = myThis.broker.brokerName + \" Overnight Fees (Swap Rates)\";\n $(\"#broker-spread-name\").html(myThis.broker.brokerName + \" Overnight Fees (Swap Rates)\");\n $(\"#broker-spread-spread-select\").css('display', 'none');\n $(\"#broker-spread-session-select\").css('display', 'none');\n $(\"#commission-checkbox\").css('display', 'none');\n myThis.tabName = \"Swap Rates\";\n history.pushState({}, \"\", \"?tab=SwapRates\");\n }\n $(\"title\").html(title);\n $(\"#broker-spread-description\").html(window.spreadsString[\"BrokerDetail\" + myThis.tabName + \"Description\"].replace(\"{0}\", myThis.broker.brokerName));\n myThis.UpdateChartBreadcrumb();\n myThis.InitializeTableBody();\n });\n $(document).on('change', 'input[name=query]', function (e) {\n myThis.selectedSymbols = [];\n myThis.symbols.forEach(function (b) {\n if (b.name.toLowerCase().includes(e.target.value.toLowerCase())) {\n myThis.selectedSymbols.push(b);\n }\n });\n if (e.target.value == \"\") {\n myThis.selectedSymbols = myThis.symbols;\n }\n myThis.InitializeTableBody();\n });\n $(document).on('change', 'select[name=time]', function (e) {\n var val = e.target.value;\n myThis.selectedSpread = val;\n myThis.InitializeTableBody();\n });\n $(document).on('change', 'select[name=session]', function (e) {\n var val = e.target.value;\n if (val == \"noSession\") {\n var timeVal = $(\"select[name=time]\").val();\n myThis.selectedSpread = timeVal;\n } else myThis.selectedSpread = val;\n myThis.InitializeTableBody();\n });\n $(document).on('change', '#commission', function (e) {\n myThis.isCommission = e.target.checked;\n myThis.InitializeTableBody();\n });\n $(document).on('click', '#GoToRaw', function (e) {\n history.pushState({}, \"\", \"?typ=1\");\n $('#meta-div').removeClass('bg-for-brokerspread');\n $('#brokerSpreadsTab').hide();\n $('#broker-spread-name').html(myThis.broker.brokerName + \" \" + (myThis.broker.chargedCommissionAccountType != null ? myThis.broker.chargedCommissionAccountType : \"Raw\") + \" \" + window.spreadsString[\"Spreads\"]);\n $(\"title\").html(myThis.broker.brokerName + \" \" + (myThis.broker.chargedCommissionAccountType != null ? myThis.broker.chargedCommissionAccountType : \"Raw\") + \" \" + window.spreadsString[\"Spreads\"]);\n $('#broker-spread-spread-select').show();\n $('#broker-spread-session-select').show();\n $('#symbol-spreads-link').hide();\n var type = myThis.broker.chargedCommissionAccountType != null ? myThis.broker.chargedCommissionAccountType : \"Raw\";\n var description = \"\";\n if (type != \"Raw\") {\n description = window.spreadsString[\"BrokerSpreadsDescription\"].replace(\"{0}\", myThis.broker.brokerName).replace(\"{1}\", type);\n } else description = window.spreadsString[\"BrokerRawSpreadsDescription\"].replace(\"{0}\", myThis.broker.brokerName);\n $(\"#broker-spread-description\").html(description);\n myThis.accountType = 1;\n myThis.UpdateChartBreadcrumb();\n myThis.InitializeTable();\n myThis.InitializeTableBody();\n });\n $(document).on('click', '#GoToStandard', function (e) {\n history.pushState({}, \"\", \"?typ=0\");\n $('#meta-div').removeClass('bg-for-brokerspread');\n $('#brokerSpreadsTab').hide();\n $('#broker-spread-name').html(myThis.broker.brokerName + \" \" + (myThis.broker.notChargedCommissionAccountType != null ? myThis.broker.notChargedCommissionAccountType : \"Standard\") + \" \" + window.spreadsString[\"Spreads\"]);\n $(\"title\").html(myThis.broker.brokerName + \" \" + (myThis.broker.notChargedCommissionAccountType != null ? myThis.broker.notChargedCommissionAccountType : \"Standard\") + \" \" + window.spreadsString[\"Spreads\"]);\n $('#broker-spread-spread-select').show();\n $('#broker-spread-session-select').show();\n $('#symbol-spreads-link').hide();\n var type = myThis.broker.notChargedCommissionAccountType != null ? myThis.broker.notChargedCommissionAccountType : \"Raw\";\n var description = \"\";\n if (type != \"Raw\") {\n description = window.spreadsString[\"BrokerSpreadsDescription\"].replace(\"{0}\", myThis.broker.brokerName).replace(\"{1}\", type);\n } else description = window.spreadsString[\"BrokerStandardSpreadsDescription\"].replace(\"{0}\", myThis.broker.brokerName);\n $(\"#broker-spread-description\").html(description);\n myThis.accountType = 0;\n myThis.UpdateChartBreadcrumb();\n myThis.InitializeTable();\n myThis.InitializeTableBody();\n });\n $(document).on('click', '[id^=\"symbol-link\"]', function (e) {\n var symbolId = e.target.id.substring(12);\n var symbolName = e.target.textContent;\n history.pushState({}, \"\", \"?sym=\" + symbolName);\n myThis.symbolId = symbolId;\n myThis.accountType = 2;\n $('#meta-div').removeClass('bg-for-brokerspread');\n $('#brokerSpreadsTab').hide();\n $('#broker-spread-name').html(myThis.broker.brokerName + \" \" + symbolName + \" \" + window.spreadsString[\"Spreads\"]);\n $(\"title\").html(myThis.broker.brokerName + \" \" + symbolName + \" \" + window.spreadsString[\"Spreads\"]);\n $('#broker-spread-spread-select').hide();\n $('#broker-spread-session-select').hide();\n $('#symbol-spreads-link a').attr('href', '/tools/forex-broker-spreads/' + symbolName);\n $('#symbol-spreads-link a').html(\"View all \" + symbolName + \" spreads >\");\n $('#symbol-spreads-link').show();\n $(\"#broker-spread-description\").html(window.spreadsString[\"BrokerSymbolSpreadsDescription\"].replace(\"{0}\", myThis.broker.brokerName).replace(\"{1}\", symbolName));\n myThis.UpdateChartBreadcrumb();\n myThis.InitializeTable();\n myThis.InitializeTableBody();\n });\n var spreadsConnection = new signalR.HubConnectionBuilder().withUrl(myThis.Url('SpreadsUpdateHub')).configureLogging(signalR.LogLevel.Warning).withAutomaticReconnect().build();\n spreadsConnection.start();\n spreadsConnection.on(\"UpdateSpread\", function (brokerId, accountType, symbolId, receivingSpreads, commission) {\n var xagusdSymbolId = myThis.symbols.find(function (x) {\n return x.name == \"XAGUSD\";\n }).id;\n if (myThis.brokerId == brokerId) {\n if (myThis.symbolId > 0) {\n if (myThis.symbolId == symbolId) {\n myThis.spreadTypes.forEach(function (type) {\n if (type.name != \"\") {\n var td = $('#Broker' + brokerId + '-' + accountType + 'Symbol' + symbolId + type.name);\n var usingSpread = receivingSpreads[type.name];\n if (td != null) {\n var digitalNum = xagusdSymbolId == symbolId ? 3 : 2;\n $(td).children(\"label\").html(usingSpread < -1e-7 ? \"-\" : myThis.isCommission == false ? usingSpread.toLocaleString(myThis.locale, {\n maximumFractionDigits: digitalNum\n }) : (usingSpread + commission).toLocaleString(myThis.locale, {\n maximumFractionDigits: digitalNum\n }));\n }\n }\n });\n }\n } else {\n var td = $('#Broker' + brokerId + '-' + accountType + 'Symbol' + symbolId);\n var usingSpread = receivingSpreads.currentSpread;\n switch (myThis.selectedSpread) {\n case \"currentSpread\":\n usingSpread = receivingSpreads.currentSpread;\n break;\n case \"fourHourAverageSpread\":\n usingSpread = receivingSpreads.fourHourAverageSpread;\n break;\n case \"oneDayAverageSpread\":\n usingSpread = receivingSpreads.oneDayAverageSpread;\n break;\n case \"oneWeekAverageSpread\":\n usingSpread = receivingSpreads.oneWeekAverageSpread;\n break;\n case \"sydneySessionAverageSpread\":\n usingSpread = receivingSpreads.sydneySessionAverageSpread;\n break;\n case \"tokyoSessionAverageSpread\":\n usingSpread = receivingSpreads.tokyoSessionAverageSpread;\n break;\n case \"londonSessionAverageSpread\":\n usingSpread = receivingSpreads.londonSessionAverageSpread;\n break;\n case \"newyorkSessionAverageSpread\":\n usingSpread = receivingSpreads.newyorkSessionAverageSpread;\n break;\n default:\n usingSpread = receivingSpreads.currentSpread;\n break;\n }\n if (td != null && myThis.tabName == \"Spreads\") {\n var digitalNum = xagusdSymbolId == symbolId ? 3 : 2;\n $(td).children(\"label\").html(usingSpread < -1e-7 ? \"-\" : myThis.isCommission == false ? usingSpread.toLocaleString(myThis.locale, {\n maximumFractionDigits: digitalNum\n }) : (usingSpread + commission).toLocaleString(myThis.locale, {\n maximumFractionDigits: digitalNum\n }));\n }\n }\n }\n });\n }\n }, {\n key: \"InitializeTable\",\n value: function InitializeTable() {\n var myThis = this;\n var html = '';\n html += '';\n if (myThis.accountType == 2) {\n if (myThis.symbolId == 0) {\n html += '';\n if (myThis.rawSpreads != undefined) html += \"\";\n if (myThis.standardSpreads != undefined) html += \"\";\n } else {\n html += \"\";\n if (myThis.rawSpreads != undefined) html += \"\";\n if (myThis.standardSpreads != undefined) html += \"\";\n }\n } else {\n html += \"\\n \\n \";\n //html += `\n // \n // `;\n }\n\n html += '';\n html += \"\";\n html += '
' + window.spreadsString[\"Symbol\"] + '\" + (myThis.broker.chargedCommissionAccountType != null ? window.spreadsString[\"SpreadAccount\"].replace(\"{0}\", myThis.broker.chargedCommissionAccountType) : window.spreadsString[\"RawSpreadAccount\"]) + \"\" + (myThis.broker.notChargedCommissionAccountType != null ? window.spreadsString[\"SpreadAccount\"].replace(\"{0}\", myThis.broker.notChargedCommissionAccountType) : window.spreadsString[\"StandardAccount\"]) + \"\" + window.spreadsString[\"Timeframe\"] + \"\" + (myThis.broker.chargedCommissionAccountType != null ? window.spreadsString[\"SpreadAccount\"].replace(\"{0}\", myThis.broker.chargedCommissionAccountType) : window.spreadsString[\"RawSpreadAccount\"]) + \"\" + (myThis.broker.notChargedCommissionAccountType != null ? window.spreadsString[\"SpreadAccount\"].replace(\"{0}\", myThis.broker.notChargedCommissionAccountType) : window.spreadsString[\"StandardAccount\"]) + \"\" + window.spreadsString[\"Symbol\"] + \"\" + window.spreadsString[\"Spread\"] + \"\" + window.spreadsString[\"Commission\"] + \"Swap LongSwap ShortSwap Type
';\n $(\"#broker-spread-table-div\").html(html);\n }\n }, {\n key: \"InitializeTableBody\",\n value: function InitializeTableBody() {\n var myThis = this;\n var html = '';\n var xagusdSymbolId = myThis.symbols.find(function (x) {\n return x.name == \"XAGUSD\";\n }).id;\n if (myThis.symbolId == 0) {\n if (myThis.tabName == \"Swap Rates\" && myThis.accountType == 2) {\n $(\".broker-spread-table thead tr th:not(:first-child)\").attr('colspan', 5);\n $(\"#broker-spread-table-body\").addClass(\"swap-rates-body\");\n html += \"Swap LongSwap ShortSwap Type\";\n html += \"Swap LongSwap ShortSwap Type\";\n } else {\n $(\".broker-spread-table thead tr th:not(:first-child)\").attr('colspan', 1);\n $(\"#broker-spread-table-body\").removeClass(\"swap-rates-body\");\n }\n myThis.selectedSymbols.forEach(function (symbol) {\n var rawSpread = null;\n var rawSpreadVal = -1;\n var brokerId = 0;\n if (myThis.rawSpreads != undefined) {\n brokerId = myThis.rawSpreads.broker.cbfBrokerId;\n var sp = myThis.rawSpreads.spreads.find(function (x) {\n return x.symbol.name == symbol.name;\n });\n rawSpread = sp;\n rawSpreadVal = sp[myThis.selectedSpread];\n }\n var standardSpread = null;\n var standardSpreadVal = -1;\n if (myThis.standardSpreads != undefined) {\n brokerId = myThis.standardSpreads.broker.cbfBrokerId;\n var sp = myThis.standardSpreads.spreads.find(function (x) {\n return x.symbol.name == symbol.name;\n });\n standardSpread = sp;\n standardSpreadVal = sp[myThis.selectedSpread];\n }\n if (standardSpreadVal < 0 && rawSpreadVal < 0) return;\n if (myThis.accountType == 0 && standardSpreadVal < 0) return;\n if (myThis.accountType == 1 && rawSpreadVal < 0) return;\n html += \"\";\n html += \"\" + symbol.name + \"\";\n if (myThis.accountType == 2) {\n if (myThis.tabName != \"Swap Rates\") {\n if (rawSpreadVal < 0) {\n if (myThis.rawSpreads != undefined) html += \"-\";\n } else {\n html += \"\";\n if (myThis.tabName == \"Spreads\") {\n var digitNum = xagusdSymbolId == symbol.id ? 3 : 2;\n html += \"\";\n } else if (myThis.tabName == \"Commissions\") {\n html += rawSpread.commissionUSD.toLocaleString(myThis.locale, {\n maximumFractionDigits: 2\n }) + \" USD\";\n }\n html += \"\";\n }\n if (standardSpreadVal < 0) {\n if (myThis.standardSpreads != undefined) html += \"-\";\n } else {\n var digitNum = xagusdSymbolId == symbol.id ? 3 : 2;\n html += \"\";\n if (myThis.tabName == \"Spreads\") {\n html += \"\";\n } else if (myThis.tabName == \"Commissions\") {\n html += \"0\";\n }\n html += \"\";\n }\n } else {\n html += \"---\";\n html += \"---\";\n }\n } else {\n var spread = null;\n var spreadVal = -1;\n if (myThis.accountType == 0) {\n spread = standardSpread;\n spreadVal = standardSpreadVal;\n } else if (myThis.accountType == 1) {\n spread = rawSpread;\n spreadVal = rawSpreadVal;\n }\n if (spreadVal < 0) {\n html += \"--\";\n /*html += `---`;*/\n } else {\n var digitNum = xagusdSymbolId == symbol.id ? 3 : 2;\n html += \"\";\n html += \"\";\n html += \"\";\n html += \"\" + spread.commissionUSD.toLocaleString(myThis.locale, {\n maximumFractionDigits: 2\n }) + \" USD\";\n /*html += `---`;*/\n }\n }\n\n html += \"\";\n });\n } else {\n var rawSpread = null;\n var brokerId = 0;\n if (myThis.rawSpreads != undefined) {\n brokerId = myThis.rawSpreads.broker.cbfBrokerId;\n var sp = myThis.rawSpreads.spreads.find(function (x) {\n return x.symbol.id == myThis.symbolId;\n });\n rawSpread = sp;\n }\n var standardSpread = null;\n if (myThis.standardSpreads != undefined) {\n brokerId = myThis.standardSpreads.broker.cbfBrokerId;\n var sp = myThis.standardSpreads.spreads.find(function (x) {\n return x.symbol.id == myThis.symbolId;\n });\n standardSpread = sp;\n }\n myThis.spreadTypes.forEach(function (type) {\n if (type.str == \"\" && type.name == \"\") {\n html += \"\";\n } else {\n html += \"\";\n html += '';\n if (type.code != \"\") {\n html += \"\";\n }\n html += type.str + '';\n if (rawSpread == null) {\n if (myThis.rawSpreads != undefined) html += \"-\";\n } else {\n var digitNum = xagusdSymbolId == myThis.symbolId ? 3 : 2;\n html += \"\";\n html += \"\";\n html += \"\";\n }\n if (standardSpread == null) {\n if (myThis.standardSpreads != undefined) html += \"-\";\n } else {\n var digitNum = xagusdSymbolId == myThis.symbolId ? 3 : 2;\n html += \"\";\n html += \"\";\n html += \"\";\n }\n html += \"\";\n }\n });\n }\n InitializeScrollTable(\"#broker-spread-table\");\n $('#broker-spread-table-body').html(html);\n $(\".clone\").remove();\n $(\".fixed-header\").remove();\n jQuery(\"#broker-spread-table\").clone(true).appendTo('.tablescroll').addClass('clone');\n $('.tablescroll').append('
');\n $('#broker-spread-table').clone(true).appendTo('.fixed-header').addClass('clone');\n $('.fixed-header').css('max-width', $('.tablescroll-wrap').width());\n $(\"#broker-spread-table-body [data-toggle=tooltip]\").tooltip('dispose').tooltip({\n boundary: 'window'\n });\n }\n }]);\n return ForexBrokerSpreads;\n}();\nvar _default = ForexBrokerSpreads;\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 _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, 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; }\nvar ForexSpreads = /*#__PURE__*/function () {\n function ForexSpreads(spreadsRoot, jwtToken, tableId) {\n _classCallCheck(this, ForexSpreads);\n this.jwtToken = jwtToken;\n this.spreadsRoot = spreadsRoot;\n this.tableId = tableId;\n this.urls = {\n InitialSpreads: \"/api/initialspreads\",\n GetBrokerSpreads: \"/api/spreads/{id}\",\n SpreadsUpdateHub: \"/spreadsUpdateHub\"\n };\n this.initialSymbolNames = [\"EURUSD\", \"USDJPY\", \"GBPJPY\", \"EURGBP\", \"AUDNZD\", \"CADCHF\", \"BTCUSD\", \"ETHUSD\", \"XAUUSD\", \"XAGUSD\"];\n this.initialSelectedSymbols = [{\n type: \"Crypto\",\n ids: [],\n className: \"crypto-header\",\n label: \"Crypto\"\n }, {\n type: \"Forex\",\n ids: [],\n className: \"forex-header\",\n label: \"Forex\"\n }, {\n type: \"Index\",\n ids: [],\n className: \"index-header\",\n label: \"Indices\"\n }, {\n type: \"Commodity\",\n ids: [],\n className: \"commodity-header\",\n label: \"Commodities\"\n }];\n this.selectedSymbols = [{\n type: \"Crypto\",\n ids: [],\n className: \"crypto-header\",\n label: \"Crypto\"\n }, {\n type: \"Forex\",\n ids: [],\n className: \"forex-header\",\n label: \"Forex\"\n }, {\n type: \"Index\",\n ids: [],\n className: \"index-header\",\n label: \"Indices\"\n }, {\n type: \"Commodity\",\n ids: [],\n className: \"commodity-header\",\n label: \"Commodities\"\n }];\n this.selectedBrokers = [];\n this.spreads = [];\n this.viewSpreads = [];\n this.symbols = [];\n this.brokers = {};\n this.rebateBrokers = [];\n this.premiumBrokers = [];\n this.superPremiumBrokers = [];\n this.selectedSpread = \"oneDayAverageSpread\";\n this.isCommission = true;\n this.sortedSymbol = {\n symbolId: -5,\n order: 1\n };\n this.scrollLeft = 0;\n this.scrollTop = 0;\n this.scrolling = false;\n this.topScrolling = false;\n this.entityType = \"ForexBroker\";\n }\n _createClass(ForexSpreads, [{\n key: \"Url\",\n value: function Url(key) {\n return this.spreadsRoot + this.urls[key];\n }\n }, {\n key: \"ToLowerFirstLetter\",\n value: function ToLowerFirstLetter(str) {\n if (!str) return str; // Handle empty or null strings\n return str.charAt(0).toLowerCase() + str.slice(1);\n }\n }, {\n key: \"InitializePage\",\n value: function InitializePage(entityType) {\n var myThis = this;\n $.ajax({\n url: myThis.Url('InitialSpreads'),\n data: {\n entityType: entityType\n },\n type: \"GET\",\n success: function success(res) {\n myThis.entityType = entityType;\n myThis.spreads = res;\n if ($('#spreads-table-body-' + myThis.tableId) && myThis.spreads.length > 0) {\n InitializeScrollTable(\"#spreads-table-\" + myThis.tableId);\n myThis.GetViewSpreads();\n if (myThis.sortedSymbol[\"symbolId\"] == -5) {\n myThis.ShuffleArray(myThis.viewSpreads);\n } else {\n myThis.viewSpreads.sort(function (a, b) {\n var compA = a.broker.brokerName;\n var compB = b.broker.brokerName;\n if (myThis.sortedSymbol[\"symbolId\"] != 0) {\n var aSpread = a.spreads.find(function (x) {\n return x.symbol.id == myThis.sortedSymbol[\"symbolId\"];\n });\n var bSpread = b.spreads.find(function (x) {\n return x.symbol.id == myThis.sortedSymbol[\"symbolId\"];\n });\n compA = aSpread[myThis.selectedSpread];\n compB = bSpread[myThis.selectedSpread];\n if (myThis.sortedSymbol[\"order\"] == 1) {\n if (compA < 0) compA = 10000000;\n if (compB < 0) compB = 10000000;\n }\n if (myThis.isCommission == true) {\n compA += aSpread.commission;\n compB += bSpread.commission;\n }\n }\n if (compA < compB) {\n return -1 * myThis.sortedSymbol[\"order\"];\n }\n if (compA > compB) {\n return 1 * myThis.sortedSymbol[\"order\"];\n }\n return 0;\n });\n }\n myThis.InitializeTableBody(myThis.viewSpreads);\n jQuery(\"#spreads-table-\" + myThis.tableId).clone(true).appendTo('#spreads-table-div-' + myThis.tableId + ' .tablescroll').addClass('clone');\n $('#spreads-table-div-' + myThis.tableId + ' .tablescroll').append('
');\n $('#spreads-table-' + myThis.tableId).clone(true).appendTo('#spreads-table-div-' + myThis.tableId + ' .fixed-header').addClass('clone');\n $('#spreads-table-div-' + myThis.tableId + ' .fixed-header').css('max-width', $('#spreads-table-div-' + myThis.tableId + ' .tablescroll-wrap').width());\n $('#spreads-table-div-' + myThis.tableId + ' .tablescroll').append('
');\n $('#spreads-table-' + myThis.tableId).clone(true).appendTo('#spreads-table-div-' + myThis.tableId + ' .scroll-fixed-header').addClass('clone');\n $('#spreads-table-div-' + myThis.tableId + ' .scroll-fixed-header').css('max-width', $('#spreads-table-div-' + myThis.tableId + ' .tablescroll-wrap').width());\n myThis.MakeFixedHeaderVisible();\n }\n },\n error: function error() {\n console.log(\"Error occured\");\n }\n });\n }\n }, {\n key: \"InitializeEventTriggers\",\n value: function InitializeEventTriggers(entityType) {\n var myThis = this;\n $(document).on('change', '#spreads-query-form-' + myThis.tableId + ' input[name=search]', function (e) {\n var val = $(\"#spreads-query-form-\" + myThis.tableId + \" select[name=brokertype\").val();\n var bros = [];\n if (val == 0) bros = myThis.brokers;else bros = myThis.rebateBrokers;\n myThis.selectedBrokers = [];\n bros.forEach(function (b) {\n if (b.BrokerName.toLowerCase().includes(e.target.value.toLowerCase())) {\n myThis.selectedBrokers.push(b);\n }\n });\n if (e.target.value == \"\") {\n myThis.selectedBrokers = bros;\n }\n myThis.InitializeTable();\n });\n $(document).on('change', '#spreads-query-form-' + myThis.tableId + ' select[name=brokertype]', function (e) {\n var val = e.target.value;\n var bros = [];\n if (val == 0) bros = myThis.brokers;else bros = myThis.rebateBrokers;\n var inVal = $('#spreads-query-form-' + myThis.tableId + ' input[name=search]').val();\n if (inVal == \"\") {\n myThis.selectedBrokers = bros;\n } else {\n myThis.selectedBrokers = [];\n bros.forEach(function (b) {\n if (b.BrokerName.toLowerCase().includes(inVal.toLowerCase())) {\n myThis.selectedBrokers.push(b);\n }\n });\n }\n myThis.InitializeTable();\n });\n $(document).on('change', '#spreads-query-form-' + myThis.tableId + ' select[name=time]', function (e) {\n var val = e.target.value;\n myThis.selectedSpread = val;\n myThis.InitializeTable();\n });\n $(document).on('change', '#spreads-query-form-' + myThis.tableId + ' select[name=session]', function (e) {\n var val = e.target.value;\n if (val == \"noSession\") {\n var timeVal = $('#spreads-query-form-' + myThis.tableId + ' select[name=time]').val();\n myThis.selectedSpread = timeVal;\n } else myThis.selectedSpread = val;\n myThis.InitializeTable();\n });\n $(document).on('change', '#spreads-filter-dialog-' + myThis.tableId + ' #symbol-ul-' + myThis.tableId + ' li input[type=checkbox]', function (e) {\n if (e.target.checked == true) {\n var symbol = myThis.symbols.find(function (s) {\n return s.Name == e.target.name;\n });\n var typeSymbol = myThis.selectedSymbols.find(function (x) {\n return x.type == symbol.Type;\n });\n if (!typeSymbol.ids.includes(symbol.Id)) typeSymbol.ids.push(symbol.Id);\n } else {\n var symbol = myThis.symbols.find(function (s) {\n return s.Name == e.target.name;\n });\n var typeSymbols = myThis.selectedSymbols.find(function (x) {\n return x.type == symbol.Type;\n });\n typeSymbols.ids = typeSymbols.ids.filter(function (x) {\n return x != symbol.Id;\n });\n }\n });\n $(document).on('change', '#commission-' + myThis.tableId, function (e) {\n myThis.isCommission = e.target.checked;\n myThis.InitializeTable();\n });\n $(document).on('scroll', function (e) {\n myThis.MakeFixedHeaderVisible();\n });\n var spreadsConnection = new signalR.HubConnectionBuilder().withUrl(myThis.Url('SpreadsUpdateHub')).configureLogging(signalR.LogLevel.Warning).withAutomaticReconnect().build();\n spreadsConnection.start();\n spreadsConnection.on(\"UpdateSpread\", function (brokerId, accountType, symbolId, receivingSpreads, commission) {\n var spid = myThis.spreads.findIndex(function (spread) {\n return spread.broker.cbfBrokerId == brokerId && spread.accountType == accountType;\n });\n if (spid != -1) {\n var syid = myThis.spreads[spid].spreads.findIndex(function (spread) {\n return spread.symbol.id == symbolId;\n });\n var vspid = myThis.viewSpreads.findIndex(function (spread) {\n return spread.broker.cbfBrokerId == brokerId && spread.accountType == accountType;\n });\n var vsyid = myThis.viewSpreads[vspid].spreads.findIndex(function (spread) {\n return spread.symbol.id == symbolId;\n });\n var viewTempSpreads = myThis.viewSpreads[vspid].spreads[vsyid];\n var prevViewTempSpread = -1;\n var prevCommission = 0;\n var prevAvgViewTempSpread = -1;\n var prevAvgCommission = 0;\n if (vspid > 0 && vsyid >= 0) {\n var prevViewTempSpreads = myThis.viewSpreads[vspid - 1].spreads[vsyid];\n prevViewTempSpread = prevViewTempSpreads[myThis.selectedSpread];\n prevCommission = prevViewTempSpreads.commission;\n var prevAvgTempSpreads = myThis.viewSpreads[vspid - 1].spreads.find(function (value) {\n return value.symbol.name == prevViewTempSpreads.symbol.type + \"Avg\";\n });\n prevAvgViewTempSpread = prevAvgTempSpreads[myThis.selectedSpread];\n prevAvgCommission = prevAvgTempSpreads.commission;\n }\n var nextViewTempSpread = 1000000;\n var nextCommission = 0;\n var nextAvgViewTempSpread = 1000000;\n var nextAvgCommission = 0;\n if (vspid < myThis.viewSpreads.length - 1 && vsyid >= 0) {\n var nextViewTempSpreads = myThis.viewSpreads[vspid + 1].spreads[vsyid];\n nextViewTempSpread = nextViewTempSpreads[myThis.selectedSpread];\n nextCommission = nextViewTempSpreads.commission;\n var nextAvgTempSpreads = myThis.viewSpreads[vspid + 1].spreads.find(function (value) {\n return value.symbol.name == nextViewTempSpreads.symbol.type + \"Avg\";\n });\n nextAvgViewTempSpread = nextAvgTempSpreads[myThis.selectedSpread];\n nextAvgCommission = nextAvgTempSpreads.commission;\n }\n var f = false;\n if (myThis.selectedSpread != \"currentSpread\" && viewTempSpreads && myThis.sortedSymbol.symbolId != -5) {\n if (myThis.isCommission == false) {\n if (myThis.sortedSymbol.symbolId >= 0) {\n f = symbolId == myThis.sortedSymbol.symbolId && myThis.sortedSymbol.order * (receivingSpreads[myThis.selectedSpread] < prevViewTempSpread || receivingSpreads[myThis.selectedSpread] > nextViewTempSpread && nextViewTempSpread >= 0) > 0;\n if (f == true) {\n if (viewTempSpreads.symbol.name == \"XAGUSD\") {\n f = viewTempSpreads[myThis.selectedSpread].toFixed(3) != receivingSpreads[myThis.selectedSpread].toFixed(3);\n } else f = viewTempSpreads[myThis.selectedSpread].toFixed(2) != receivingSpreads[myThis.selectedSpread].toFixed(2);\n }\n } else {\n var currentAvgTempSpreads = myThis.viewSpreads[vspid].spreads.find(function (value) {\n return value.symbol.name == viewTempSpreads.symbol.type + \"Avg\";\n });\n var typeSpreads = myThis.viewSpreads[vspid].spreads.filter(function (value) {\n return value.symbol.type == viewTempSpreads.symbol.type;\n });\n var newAvgTempSpread = (currentAvgTempSpreads[myThis.selectedSpread] * (typeSpreads.length - 1) - viewTempSpreads[myThis.selectedSpread] + receivingSpreads[myThis.selectedSpread]) / (typeSpreads.length - 1);\n f = viewTempSpreads.symbol.type == myThis.selectedSymbols[-1 * (myThis.sortedSymbol.symbolId + 1)].type && viewTempSpreads[myThis.selectedSpread].toFixed(2) != receivingSpreads[myThis.selectedSpread].toFixed(2) && newAvgTempSpread > 0 && myThis.sortedSymbol.order * (newAvgTempSpread < prevAvgViewTempSpread || newAvgTempSpread > nextAvgViewTempSpread && nextAvgViewTempSpread >= 0) > 0;\n }\n } else {\n if (myThis.sortedSymbol.symbolId >= 0) {\n f = symbolId == myThis.sortedSymbol.symbolId && (viewTempSpreads[myThis.selectedSpread] + commission).toFixed(2) != (receivingSpreads[myThis.selectedSpread] + commission).toFixed(2) && myThis.sortedSymbol.order * (receivingSpreads[myThis.selectedSpread] + commission < prevViewTempSpread + prevCommission || receivingSpreads[myThis.selectedSpread] > nextViewTempSpread + nextCommission && nextViewTempSpread >= 0) > 0;\n if (f == true) {\n if (viewTempSpreads.symbol.name == \"XAGUSD\") {\n f = (viewTempSpreads[myThis.selectedSpread] + commission).toFixed(3) != (receivingSpreads[myThis.selectedSpread] + commission).toFixed(3);\n } else f = (viewTempSpreads[myThis.selectedSpread] + commission).toFixed(2) != (receivingSpreads[myThis.selectedSpread] + commission).toFixed(2);\n }\n } else {\n var currentAvgTempSpreads = myThis.viewSpreads[vspid].spreads.find(function (value) {\n return value.symbol.name == viewTempSpreads.symbol.type + \"Avg\";\n });\n var typeSpreads = myThis.viewSpreads[vspid].spreads.filter(function (value) {\n return value.symbol.type == viewTempSpreads.symbol.type;\n });\n var newAvgTempSpread = (currentAvgTempSpreads[myThis.selectedSpread] * (typeSpreads.length - 1) - viewTempSpreads[myThis.selectedSpread] + receivingSpreads[myThis.selectedSpread]) / (typeSpreads.length - 1);\n var newAvgCommission = (currentAvgTempSpreads.commission * (typeSpreads.length - 1) - viewTempSpreads.commission + commission) / (typeSpreads.length - 1);\n f = viewTempSpreads.symbol.type == myThis.selectedSymbols[-1 * (myThis.sortedSymbol.symbolId + 1)].type && viewTempSpreads[myThis.selectedSpread].toFixed(2) != receivingSpreads[myThis.selectedSpread].toFixed(2) && newAvgTempSpread > 0 && myThis.sortedSymbol.order * (newAvgTempSpread + newAvgCommission < prevAvgViewTempSpread + prevAvgCommission || newAvgTempSpread + newAvgCommission > nextAvgViewTempSpread + nextAvgCommission && nextAvgViewTempSpread >= 0) > 0;\n }\n }\n }\n myThis.spreads[spid].spreads[syid].currentSpread = receivingSpreads.currentSpread;\n myThis.spreads[spid].spreads[syid].fourHourAverageSpread = receivingSpreads.fourHourAverageSpread;\n myThis.spreads[spid].spreads[syid].oneDayAverageSpread = receivingSpreads.oneDayAverageSpread;\n myThis.spreads[spid].spreads[syid].oneWeekAverageSpread = receivingSpreads.oneWeekAverageSpread;\n myThis.spreads[spid].spreads[syid].sydneySessionAverageSpread = receivingSpreads.sydneySessionAverageSpread;\n myThis.spreads[spid].spreads[syid].tokyoSessionAverageSpread = receivingSpreads.tokyoSessionAverageSpread;\n myThis.spreads[spid].spreads[syid].londonSessionAverageSpread = receivingSpreads.londonSessionAverageSpread;\n myThis.spreads[spid].spreads[syid].newyorkSessionAverageSpread = receivingSpreads.newyorkSessionAverageSpread;\n myThis.spreads[spid].spreads[syid].commission = commission;\n var tempsymbolspread = null;\n if (vsyid >= 0 && viewTempSpreads) {\n myThis.viewSpreads[vspid].spreads[vsyid].currentSpread = receivingSpreads.currentSpread;\n myThis.viewSpreads[vspid].spreads[vsyid].fourHourAverageSpread = receivingSpreads.fourHourAverageSpread;\n myThis.viewSpreads[vspid].spreads[vsyid].oneDayAverageSpread = receivingSpreads.oneDayAverageSpread;\n myThis.viewSpreads[vspid].spreads[vsyid].oneWeekAverageSpread = receivingSpreads.oneWeekAverageSpread;\n myThis.viewSpreads[vspid].spreads[vsyid].sydneySessionAverageSpread = receivingSpreads.sydneySessionAverageSpread;\n myThis.viewSpreads[vspid].spreads[vsyid].tokyoSessionAverageSpread = receivingSpreads.tokyoSessionAverageSpread;\n myThis.viewSpreads[vspid].spreads[vsyid].londonSessionAverageSpread = receivingSpreads.londonSessionAverageSpread;\n myThis.viewSpreads[vspid].spreads[vsyid].newyorkSessionAverageSpread = receivingSpreads.newyorkSessionAverageSpread;\n myThis.viewSpreads[vspid].spreads[vsyid].commission = commission;\n tempsymbolspread = myThis.viewSpreads[vspid].spreads.find(function (x) {\n return x.symbol.name == viewTempSpreads.symbol.type + \"Avg\";\n });\n var typespreads = myThis.viewSpreads[vspid].spreads.filter(function (sp) {\n return sp.symbolType == viewTempSpreads.symbol.type && sp.oneDayAverageSpread >= 0;\n });\n if (typespreads.length == myThis.viewSpreads[vspid].spreads.filter(function (sp) {\n return sp.symbolType == viewTempSpreads.symbol.type;\n }).length) {\n tempsymbolspread.commission = typespreads.reduce(function (total, next) {\n return total + next.commission;\n }, 0) / typespreads.length;\n tempsymbolspread.commissionUSD = typespreads.reduce(function (total, next) {\n return total + next.commissionUSD;\n }, 0) / typespreads.length;\n tempsymbolspread.currentSpread = typespreads.reduce(function (total, next) {\n return total + next.currentSpread;\n }, 0) / typespreads.length;\n tempsymbolspread.fourHourAverageSpread = typespreads.reduce(function (total, next) {\n return total + next.fourHourAverageSpread;\n }, 0) / typespreads.length;\n tempsymbolspread.londonSessionAverageSpread = typespreads.reduce(function (total, next) {\n return total + next.londonSessionAverageSpread;\n }, 0) / typespreads.length;\n tempsymbolspread.newyorkSessionAverageSpread = typespreads.reduce(function (total, next) {\n return total + next.newyorkSessionAverageSpread;\n }, 0) / typespreads.length;\n tempsymbolspread.oneDayAverageSpread = typespreads.reduce(function (total, next) {\n return total + next.oneDayAverageSpread;\n }, 0) / typespreads.length;\n tempsymbolspread.oneWeekAverageSpread = typespreads.reduce(function (total, next) {\n return total + next.oneWeekAverageSpread;\n }, 0) / typespreads.length;\n tempsymbolspread.sydneySessionAverageSpread = typespreads.reduce(function (total, next) {\n return total + next.sydneySessionAverageSpread;\n }, 0) / typespreads.length;\n tempsymbolspread.tokyoSessionAverageSpread = typespreads.reduce(function (total, next) {\n return total + next.tokyoSessionAverageSpread;\n }, 0) / typespreads.length;\n }\n }\n if (f == true) {\n myThis.scrolling = true;\n myThis.scrollLeft = $(\"#spreads-table-div-\" + myThis.tableId + \" .tablescroll-wrap\").scrollLeft();\n myThis.topScrolling = true;\n myThis.scrollTop = $(document).scrollTop();\n myThis.InitializeTable(myThis.tableId);\n } else {\n var td = $(\"#Broker\" + brokerId + '-' + accountType + 'Symbol' + symbolId);\n var avgtd = null;\n if (viewTempSpreads) {\n var avgId = myThis.selectedSymbols.findIndex(function (x) {\n return x.type == viewTempSpreads.symbol.type;\n });\n avgtd = $(\"#Broker\" + brokerId + '-' + accountType + 'Symbol' + (avgId + 1) * -1);\n }\n var usingSpread = receivingSpreads.currentSpread;\n switch (myThis.selectedSpread) {\n case \"currentSpread\":\n usingSpread = receivingSpreads.currentSpread;\n break;\n case \"fourHourAverageSpread\":\n usingSpread = receivingSpreads.fourHourAverageSpread;\n break;\n case \"oneDayAverageSpread\":\n usingSpread = receivingSpreads.oneDayAverageSpread;\n break;\n case \"oneWeekAverageSpread\":\n usingSpread = receivingSpreads.oneWeekAverageSpread;\n break;\n case \"sydneySessionAverageSpread\":\n usingSpread = receivingSpreads.sydneySessionAverageSpread;\n break;\n case \"tokyoSessionAverageSpread\":\n usingSpread = receivingSpreads.tokyoSessionAverageSpread;\n break;\n case \"londonSessionAverageSpread\":\n usingSpread = receivingSpreads.londonSessionAverageSpread;\n break;\n case \"newyorkSessionAverageSpread\":\n usingSpread = receivingSpreads.newyorkSessionAverageSpread;\n break;\n default:\n usingSpread = receivingSpreads.currentSpread;\n break;\n }\n if (td != null && viewTempSpreads) {\n if (myThis.isCommission == false) {\n $(td).children(\"label\").html(usingSpread < -1e-7 ? \"-\" : viewTempSpreads.symbol.name == \"XAGUSD\" ? usingSpread.toFixed(3) : usingSpread.toFixed(2));\n } else {\n $(td).children(\"label\").html(usingSpread < -1e-7 ? \"-\" : viewTempSpreads.symbol.name == \"XAGUSD\" ? (usingSpread + commission).toFixed(3) : (usingSpread + commission).toFixed(2));\n }\n }\n if (avgtd != null && tempsymbolspread != null) {\n if (myThis.isCommission == false) {\n $(avgtd).children(\"label\").html(tempsymbolspread[myThis.selectedSpread] < 0 ? \"-\" : tempsymbolspread[myThis.selectedSpread].toFixed(2));\n } else {\n $(avgtd).children(\"label\").html(tempsymbolspread[myThis.selectedSpread] < 0 ? \"-\" : (tempsymbolspread[myThis.selectedSpread] + tempsymbolspread.commission).toFixed(2));\n }\n }\n }\n }\n });\n }\n }, {\n key: \"GetViewSpreads\",\n value: function GetViewSpreads() {\n var myThis = this;\n myThis.viewSpreads = [];\n myThis.spreads.forEach(function (spread) {\n var tempSpread = {};\n tempSpread.accountType = spread.accountType;\n tempSpread.broker = spread.broker;\n tempSpread.spreads = [];\n myThis.selectedSymbols.forEach(function (typeSymbols, index) {\n typeSymbols.ids.forEach(function (tsymbol) {\n var symbolSpread = spread.spreads.find(function (x) {\n return x.symbol.id == tsymbol;\n });\n if (symbolSpread) tempSpread.spreads.push(symbolSpread);\n });\n var symbolType = typeSymbols.type;\n var tspreads = tempSpread.spreads.filter(function (sp) {\n return sp.symbolType == symbolType;\n });\n if (tspreads.length == 0) return;\n var typeSpreads = tempSpread.spreads.filter(function (sp) {\n return sp.symbolType == symbolType && sp.oneDayAverageSpread >= 0;\n });\n var tempSymbolSpread = {\n accountType: spread.spreads[0].accountType,\n commission: -1,\n commissionUSD: -1,\n currentSpread: -1,\n fourHourAverageSpread: -1,\n londonSessionAverageSpread: -1,\n newyorkSessionAverageSpread: -1,\n oneDayAverageSpread: -1,\n oneWeekAverageSpread: -1,\n sydneySessionAverageSpread: -1,\n tokyoSessionAverageSpread: -1,\n symbol: {\n id: -1 * (index + 1),\n name: symbolType + \"Avg\",\n description: \"Average of \" + symbolType + \"s\",\n type: symbolType + \"Avg\"\n },\n symbolType: symbolType + \"Avg\"\n };\n if (typeSpreads.length == tspreads.length) {\n tempSymbolSpread = {\n accountType: spread.spreads[0].accountType,\n commission: typeSpreads.reduce(function (total, next) {\n return total + next.commission;\n }, 0) / typeSpreads.length,\n commissionUSD: typeSpreads.reduce(function (total, next) {\n return total + next.commissionUSD;\n }, 0) / typeSpreads.length,\n currentSpread: typeSpreads.reduce(function (total, next) {\n return total + next.currentSpread;\n }, 0) / typeSpreads.length,\n fourHourAverageSpread: typeSpreads.reduce(function (total, next) {\n return total + next.fourHourAverageSpread;\n }, 0) / typeSpreads.length,\n londonSessionAverageSpread: typeSpreads.reduce(function (total, next) {\n return total + next.londonSessionAverageSpread;\n }, 0) / typeSpreads.length,\n newyorkSessionAverageSpread: typeSpreads.reduce(function (total, next) {\n return total + next.newyorkSessionAverageSpread;\n }, 0) / typeSpreads.length,\n oneDayAverageSpread: typeSpreads.reduce(function (total, next) {\n return total + next.oneDayAverageSpread;\n }, 0) / typeSpreads.length,\n oneWeekAverageSpread: typeSpreads.reduce(function (total, next) {\n return total + next.oneWeekAverageSpread;\n }, 0) / typeSpreads.length,\n sydneySessionAverageSpread: typeSpreads.reduce(function (total, next) {\n return total + next.sydneySessionAverageSpread;\n }, 0) / typeSpreads.length,\n tokyoSessionAverageSpread: typeSpreads.reduce(function (total, next) {\n return total + next.tokyoSessionAverageSpread;\n }, 0) / typeSpreads.length,\n symbol: {\n id: -1 * (index + 1),\n name: symbolType + \"Avg\",\n description: \"Average of \" + symbolType + \"s\",\n type: symbolType + \"Avg\"\n },\n symbolType: symbolType + \"Avg\"\n };\n }\n tempSpread.spreads.push(tempSymbolSpread);\n });\n myThis.viewSpreads.push(tempSpread);\n });\n }\n }, {\n key: \"ShuffleArray\",\n value: function ShuffleArray(array) {\n var currentIndex = array.length,\n randomIndex;\n\n // While there remain elements to shuffle.\n while (currentIndex > 0) {\n // Pick a remaining element.\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex--;\n\n // And swap it with the current element.\n var _ref = [array[randomIndex], array[currentIndex]];\n array[currentIndex] = _ref[0];\n array[randomIndex] = _ref[1];\n }\n return array;\n }\n }, {\n key: \"InitializeTable\",\n value: function InitializeTable() {\n var dir = $('html').attr(\"dir\");\n var myThis = this;\n var html = \"\";\n html += \"\";\n myThis.selectedSymbols.forEach(function (typeSymbols, index) {\n if (typeSymbols.ids.length > 0) {\n html += \"\";\n }\n });\n html += \"\";\n myThis.selectedSymbols.forEach(function (typeSymbols, index) {\n typeSymbols.ids.forEach(function (tsymbol) {\n var symbol = myThis.symbols.find(function (x) {\n return x.Id == tsymbol;\n });\n html += \"\";\n });\n if (typeSymbols.ids.length > 0) html += \"\";\n });\n html += \"\";\n html += \"\";\n html += \"\";\n html += \"
\" + window.spreadsString[\"Brokers\"] + (myThis.sortedSymbol[\"symbolId\"] == 0 ? myThis.sortedSymbol[\"order\"] == 1 ? \"\" : \"\" : \"\") + \"\" + window.spreadsString[typeSymbols.label] + \"
\" + symbol.Name + (symbol.Id == myThis.sortedSymbol[\"symbolId\"] ? myThis.sortedSymbol[\"order\"] == 1 ? \"\" : \"\" : \"\") + \"\" + window.spreadsString[\"Average\"] + (-1 * (index + 1) == myThis.sortedSymbol[\"symbolId\"] ? myThis.sortedSymbol[\"order\"] == 1 ? \"\" : \"\" : \"\") + \"
\";\n $('#spreads-table-div-' + myThis.tableId).html(html);\n $('#spreads-table-loader-' + myThis.tableId).css('display', 'flex');\n if (myThis.spreads.length > 0) {\n myThis.GetViewSpreads();\n if (myThis.sortedSymbol[\"symbolId\"] == -5) {\n myThis.ShuffleArray(myThis.viewSpreads);\n } else {\n myThis.viewSpreads.sort(function (a, b) {\n var compA = a.broker.brokerName;\n var compB = b.broker.brokerName;\n if (myThis.sortedSymbol[\"symbolId\"] != 0) {\n var aSpread = a.spreads.find(function (x) {\n return x.symbol.id == myThis.sortedSymbol[\"symbolId\"];\n });\n var bSpread = b.spreads.find(function (x) {\n return x.symbol.id == myThis.sortedSymbol[\"symbolId\"];\n });\n compA = aSpread[myThis.selectedSpread];\n compB = bSpread[myThis.selectedSpread];\n if (myThis.sortedSymbol[\"order\"] == 1) {\n if (compA < 0) compA = 10000000;\n if (compB < 0) compB = 10000000;\n }\n if (myThis.isCommission == true) {\n compA += aSpread.commission;\n compB += bSpread.commission;\n }\n }\n if (compA < compB) {\n return -1 * myThis.sortedSymbol[\"order\"];\n }\n if (compA > compB) {\n return 1 * myThis.sortedSymbol[\"order\"];\n }\n return 0;\n });\n }\n InitializeScrollTable(\"#spreads-table-\" + myThis.tableId);\n myThis.InitializeTableBody(myThis.viewSpreads);\n jQuery(\"#spreads-table-\" + myThis.tableId).clone(true).appendTo('#spreads-table-div-' + myThis.tableId + ' .tablescroll').addClass('clone');\n $('#spreads-table-div-' + myThis.tableId + ' .tablescroll').append('
');\n $('#spreads-table-' + myThis.tableId).clone(true).appendTo('#spreads-table-div-' + myThis.tableId + ' .fixed-header').addClass('clone');\n $('#spreads-table-div-' + myThis.tableId + ' .fixed-header').css('max-width', $('#spreads-table-div-' + myThis.tableId + ' .tablescroll-wrap').width());\n $('#spreads-table-div-' + myThis.tableId + ' .tablescroll').append('
');\n $('#spreads-table-' + myThis.tableId).clone(true).appendTo('#spreads-table-div-' + myThis.tableId + ' .scroll-fixed-header').addClass('clone');\n $('#spreads-table-div-' + myThis.tableId + ' .scroll-fixed-header').css('max-width', $('#spreads-table-div-' + myThis.tableId + ' .tablescroll-wrap').width());\n var dir = $(\"html\").attr(\"dir\");\n if (dir == \"rtl\" && screen.width < 425) {\n $('#spreads-table-div-' + myThis.tableId + ' .clone').css('right', $('#spreads-table-div-' + myThis.tableId + ' .clone').width() - $('#spreads-table-div-' + myThis.tableId + ' .tablescroll-wrap').width());\n }\n if (myThis.scrolling == true) {\n $('#spreads-table-div-' + myThis.tableId + ' .tablescroll-wrap').scrollLeft(myThis.scrollLeft);\n $('#spreads-table-div-' + myThis.tableId + ' .scroll-fixed-header').scrollLeft(myThis.scrollLeft);\n myThis.scrolling = false;\n }\n myThis.MakeFixedHeaderVisible();\n }\n }\n }, {\n key: \"TableBodyContent\",\n value: function TableBodyContent(brokerId, spreadInfo, className) {\n var dir = $(\"html\").attr(\"dir\");\n var langSlug = window.CURRENT_LANG == \"en\" ? \"\" : \"/\" + window.CURRENT_LANG;\n var myThis = this;\n var html = \"\";\n html += \"\";\n spreadInfo.spreads.forEach(function (symbolSpread) {\n var spread = symbolSpread[myThis.selectedSpread];\n var className = myThis.isCommission == true && symbolSpread.commission > 0 && spread >= 0 ? \"dotted-border-bottom\" : \"\";\n var tooltipStr = myThis.isCommission == true && symbolSpread.commission > 0 && spread >= 0 ? window.spreadsString[\"HasCommission\"].replace(\"{0}\", symbolSpread.commissionUSD.toFixed(2)) : window.spreadsString[\"NoCommission\"];\n html += \"\";\n html += \"\";\n });\n html += \"\";\n return html;\n }\n }, {\n key: \"InitializeTableBody\",\n value: function InitializeTableBody(body) {\n var myThis = this;\n $('#spreads-table-loader-' + myThis.tableId).css('display', 'none');\n var html = '';\n body.forEach(function (spreadInfo) {\n var brokerId = spreadInfo.broker.cbfBrokerId;\n if (myThis.selectedBrokers.findIndex(function (x) {\n return x.CbfBrokerId == brokerId;\n }) >= 0 && myThis.superPremiumBrokers.findIndex(function (x) {\n return x.CbfBrokerId == brokerId;\n }) >= 0) {\n html += myThis.TableBodyContent(brokerId, spreadInfo, \"superpremium\");\n }\n });\n body.forEach(function (spreadInfo) {\n var brokerId = spreadInfo.broker.cbfBrokerId;\n if (myThis.selectedBrokers.findIndex(function (x) {\n return x.CbfBrokerId == brokerId;\n }) >= 0 && myThis.superPremiumBrokers.findIndex(function (x) {\n return x.CbfBrokerId == brokerId;\n }) < 0 && myThis.premiumBrokers.findIndex(function (x) {\n return x.CbfBrokerId == brokerId;\n }) >= 0) {\n html += myThis.TableBodyContent(brokerId, spreadInfo, \"premium\");\n }\n });\n body.forEach(function (spreadInfo) {\n var brokerId = spreadInfo.broker.cbfBrokerId;\n if (myThis.selectedBrokers.findIndex(function (x) {\n return x.CbfBrokerId == brokerId;\n }) >= 0 && myThis.superPremiumBrokers.findIndex(function (x) {\n return x.CbfBrokerId == brokerId;\n }) < 0 && myThis.premiumBrokers.findIndex(function (x) {\n return x.CbfBrokerId == brokerId;\n }) < 0) {\n html += myThis.TableBodyContent(brokerId, spreadInfo, \"\");\n }\n });\n $('#spreads-table-body-' + myThis.tableId).html(html);\n $('#spreads-table-div-' + myThis.tableId + ' [data-toggle=tooltip]').tooltip('dispose').tooltip({\n boundary: 'window'\n });\n if (myThis.topScrolling == true) {\n $(document).scrollTop(myThis.scrollTop);\n myThis.topScrolling = false;\n }\n }\n }, {\n key: \"ApplySpreadsFilter\",\n value: function ApplySpreadsFilter(type) {\n var myThis = this;\n myThis.selectedBrokers = [];\n var brokers = $(\"#spreads-filter-dialog-\" + myThis.tableId + \" #broker-ul-\" + myThis.tableId + \" li input:checked\");\n brokers.each(function (i, v) {\n var b = {};\n var brokerIdStr = v.id.split('-');\n var cbfBrokerId = brokerIdStr[1];\n b[\"CbfBrokerId\"] = Number(cbfBrokerId);\n b[\"BrokerName\"] = v.name;\n myThis.selectedBrokers.push(b);\n });\n if (type == 'tool') {\n var uncheckedBrokers = $(\"#spreads-filter-dialog-\" + myThis.tableId + \" #broker-ul-\" + myThis.tableId + \" li input:not(:checked)\");\n if (uncheckedBrokers.length == 0) localStorage.setItem('selectedBrokers', 'All');else localStorage.setItem('selectedBrokers', JSON.stringify(myThis.selectedBrokers));\n localStorage.setItem('selectedSymbols', JSON.stringify(myThis.selectedSymbols));\n }\n myThis.InitializeTable();\n $('#spreads-filter-dialog-' + myThis.tableId).modal('hide');\n }\n }, {\n key: \"MakeFixedHeaderVisible\",\n value: function MakeFixedHeaderVisible() {\n var myThis = this;\n var scrollTop = $(document).scrollTop();\n if ($(\"#spreads-table-div-\" + myThis.tableId + \" .tablescroll-wrap\").length > 0) {\n var stickyTop = $(\"#spreads-table-div-\" + myThis.tableId + \" .tablescroll-wrap\").offset().top;\n var stickyBottom = $(\"#spreads-table-div-\" + myThis.tableId + \" .tablescroll-wrap\").offset().top + $(\"#spreads-table-div-\" + myThis.tableId + \" .tablescroll-wrap\").height();\n if (scrollTop > stickyTop + 42) {\n $(\"#spreads-table-div-\" + myThis.tableId + \" .fixed-header\").css('display', 'block');\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header\").css('display', 'block');\n var topOffsetElement = document.getElementById('topmenu-logo');\n if (topOffsetElement !== null) {\n $(\"#spreads-table-div-\" + myThis.tableId + \" .fixed-header\").css('top', topOffsetElement.offsetHeight);\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header\").css('top', topOffsetElement.offsetHeight);\n }\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header table thead tr:first-child th:not(:first-child)\").addClass('visible');\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header table thead tr:not(:first-child) th\").addClass('visible');\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header\").scrollLeft($(\"#spreads-table-div-\" + myThis.tableId + \" .tablescroll-wrap\").scrollLeft());\n } else {\n $(\"#spreads-table-div-\" + myThis.tableId + \" .fixed-header\").css('display', 'none');\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header\").css('display', 'none');\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header table thead tr:first-child th:not(:first-child)\").removeClass('visible');\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header table thead tr:not(:first-child) th\").removeClass('visible');\n }\n if (scrollTop > stickyBottom - 42) {\n $(\"#spreads-table-div-\" + myThis.tableId + \" .fixed-header\").css('display', 'none');\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header\").css('display', 'none');\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header table thead tr:first-child th:not(:first-child)\").removeClass('visible');\n $(\"#spreads-table-div-\" + myThis.tableId + \" .scroll-fixed-header table thead tr:not(:first-child) th\").removeClass('visible');\n }\n }\n }\n }]);\n return ForexSpreads;\n}();\nvar _default = ForexSpreads;\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 _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, 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; }\nvar SymbolSpreads = /*#__PURE__*/function () {\n function SymbolSpreads(spreadsRoot, symbolId) {\n _classCallCheck(this, SymbolSpreads);\n this.spreadsRoot = spreadsRoot;\n this.urls = {\n InitialSpreads: \"/api/initialspreads\",\n SpreadsUpdateHub: \"/spreadsUpdateHub\"\n };\n this.spreads = [];\n this.brokers = [];\n this.selectedSpread = \"oneDayAverageSpread\";\n this.isCommission = true;\n this.selectedBrokers = [];\n this.symbolId = symbolId;\n this.sort = -1;\n }\n _createClass(SymbolSpreads, [{\n key: \"Url\",\n value: function Url(key) {\n return this.spreadsRoot + this.urls[key];\n }\n }, {\n key: \"InitializePage\",\n value: function InitializePage(refresh) {\n var myThis = this;\n window.APIHelper.SafeServiceAPICall({\n url: myThis.Url('InitialSpreads'),\n type: \"GET\",\n success: function success(res) {\n myThis.spreads = res;\n res.forEach(function (spread) {\n myThis.brokers.push(spread.broker);\n });\n myThis.selectedBrokers = myThis.brokers;\n myThis.spreads.sort(function (a, b) {\n var spreadA = a.spreads.find(function (x) {\n return x.symbol.id == myThis.symbolId;\n });\n var spreadB = b.spreads.find(function (x) {\n return x.symbol.id == myThis.symbolId;\n });\n var compA = myThis.isCommission == false ? spreadA[myThis.selectedSpread] : spreadA[myThis.selectedSpread] + spreadA.commission;\n var compB = myThis.isCommission == false ? spreadB[myThis.selectedSpread] : spreadB[myThis.selectedSpread] + spreadB.commission;\n if (compA < compB) return 1 * myThis.sort;else if (compA > compB) return -1 * myThis.sort;\n return 0;\n });\n myThis.InitializeTableBody();\n },\n error: function error() {\n console.log(\"Error occured\");\n }\n });\n }\n }, {\n key: \"InitializeEventTriggers\",\n value: function InitializeEventTriggers() {\n var myThis = this;\n $(document).on('change', 'input[name=search]', function (e) {\n var bros = myThis.brokers;\n myThis.selectedBrokers = [];\n bros.forEach(function (b) {\n if (b.BrokerName.toLowerCase().includes(e.target.value.toLowerCase())) {\n myThis.selectedBrokers.push(b);\n }\n });\n if (e.target.value == \"\") {\n myThis.selectedBrokers = bros;\n }\n myThis.InitializeTableBody();\n });\n $(document).on('change', 'select[name=time]', function (e) {\n var val = e.target.value;\n myThis.selectedSpread = val;\n myThis.InitializeTableBody();\n });\n $(document).on('change', 'select[name=session]', function (e) {\n var val = e.target.value;\n if (val == \"noSession\") {\n var timeVal = $(\"select[name=time]\").val();\n myThis.selectedSpread = timeVal;\n } else myThis.selectedSpread = val;\n myThis.InitializeTableBody();\n });\n $(document).on('change', '#commission', function (e) {\n myThis.isCommission = e.target.checked;\n myThis.InitializeTableBody();\n });\n $(document).on('click', '#spreadTh', function (e) {\n if (e.target.classList.length == 1) {\n e.target.classList.add(\"asce\");\n myThis.sort = -1;\n } else {\n e.target.classList.toggle(\"desc\");\n e.target.classList.toggle(\"asce\");\n if (e.target.classList.contains(\"desc\")) myThis.sort = 1;else myThis.sort = -1;\n }\n myThis.spreads.sort(function (a, b) {\n var spreadA = a.spreads.find(function (x) {\n return x.symbol.id == myThis.symbolId;\n });\n var spreadB = b.spreads.find(function (x) {\n return x.symbol.id == myThis.symbolId;\n });\n var compA = myThis.isCommission == false ? spreadA[myThis.selectedSpread] : spreadA[myThis.selectedSpread] + spreadA.commission;\n var compB = myThis.isCommission == false ? spreadB[myThis.selectedSpread] : spreadB[myThis.selectedSpread] + spreadB.commission;\n if (compA < compB) return 1 * myThis.sort;else if (compA > compB) return -1 * myThis.sort;\n return 0;\n });\n myThis.InitializeTableBody();\n });\n var spreadsConnection = new signalR.HubConnectionBuilder().withUrl(myThis.Url('SpreadsUpdateHub')).configureLogging(signalR.LogLevel.Warning).withAutomaticReconnect().build();\n spreadsConnection.start();\n spreadsConnection.on(\"UpdateSpread\", function (brokerId, accountType, symbolId, receivingSpreads, receivingMXIds, receivingMNIds, commission) {\n if (myThis.symbolId == symbolId) {\n var td = $('#Broker' + brokerId + '-' + accountType + 'Symbol' + symbolId);\n var usingSpread = receivingSpreads.currentSpread;\n switch (myThis.selectedSpread) {\n case \"currentSpread\":\n usingSpread = receivingSpreads.currentSpread;\n break;\n case \"fourHourAverageSpread\":\n usingSpread = receivingSpreads.fourHourAverageSpread;\n break;\n case \"oneDayAverageSpread\":\n usingSpread = receivingSpreads.oneDayAverageSpread;\n break;\n case \"oneWeekAverageSpread\":\n usingSpread = receivingSpreads.oneWeekAverageSpread;\n break;\n case \"sydneySessionAverageSpread\":\n usingSpread = receivingSpreads.sydneySessionAverageSpread;\n break;\n case \"tokyoSessionAverageSpread\":\n usingSpread = receivingSpreads.tokyoSessionAverageSpread;\n break;\n case \"londonSessionAverageSpread\":\n usingSpread = receivingSpreads.londonSessionAverageSpread;\n break;\n case \"newyorkSessionAverageSpread\":\n usingSpread = receivingSpreads.newyorkSessionAverageSpread;\n break;\n default:\n usingSpread = receivingSpreads.currentSpread;\n break;\n }\n if (td != null) {\n $(td).children(\"label\").html(usingSpread < 0 ? \"-\" : myThis.isCommission == false ? usingSpread.toFixed(2) : (usingSpread + commission).toFixed(2));\n }\n }\n });\n }\n }, {\n key: \"InitializeTableBody\",\n value: function InitializeTableBody() {\n $('#spreads-table-loader').css('display', 'none');\n var myThis = this;\n var html = '';\n myThis.spreads.forEach(function (spreadInfo) {\n var brokerId = spreadInfo.broker.cbfBrokerId;\n if (myThis.selectedBrokers.findIndex(function (x) {\n return x.cbfBrokerId == brokerId;\n }) >= 0) {\n var spread = spreadInfo.spreads.find(function (x) {\n return x.symbol.id == myThis.symbolId;\n });\n html += \"\";\n html += \"
\" + spreadInfo.broker.brokerName + \"\" + \"
\";\n html += \"\";\n html += \"\";\n html += \"\";\n html += \"\";\n }\n });\n $('#symbol-spread-table-body').html(html);\n $(\"#spreads-table-div [data-toggle=tooltip]\").tooltip('dispose').tooltip({\n boundary: 'window'\n });\n }\n }]);\n return SymbolSpreads;\n}();\nvar _default = SymbolSpreads;\nexports[\"default\"] = _default;\n\n},{}],4:[function(require,module,exports){\n'use strict';\n\nvar _ForexSpreads = _interopRequireDefault(require(\"../../includes/ForexSpreads.js\"));\nvar _ForexBrokerSpreads = _interopRequireDefault(require(\"../../includes/ForexBrokerSpreads.js\"));\nvar _SymbolSpreads = _interopRequireDefault(require(\"../../includes/SymbolSpreads.js\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nwindow.ForexSpreads = _ForexSpreads[\"default\"];\nwindow.ForexBrokerSpreads = _ForexBrokerSpreads[\"default\"];\nwindow.SymbolSpreads = _SymbolSpreads[\"default\"];\n\n},{\"../../includes/ForexBrokerSpreads.js\":1,\"../../includes/ForexSpreads.js\":2,\"../../includes/SymbolSpreads.js\":3}]},{},[4]);\n"]}