{"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","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","receivingMXIds","receivingMNIds","commission","td","usingSpread","children","toLocaleString","maximumFractionDigits","currentSpread","fourHourAverageSpread","oneDayAverageSpread","oneWeekAverageSpread","sydneySessionAverageSpread","tokyoSessionAverageSpread","londonSessionAverageSpread","newyorkSessionAverageSpread","undefined","rawSpread","rawSpreadVal","cbfBrokerId","sp","standardSpread","standardSpreadVal","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","entityType","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","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, receivingMXIds, receivingMNIds, commission) {\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 $(td).children(\"label\").html(usingSpread < -1e-7 ? \"-\" : myThis.isCommission == false ? usingSpread.toLocaleString(myThis.locale, {\n maximumFractionDigits: 2\n }) : (usingSpread + commission).toLocaleString(myThis.locale, {\n maximumFractionDigits: 2\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 $(td).children(\"label\").html(usingSpread < -1e-7 ? \"-\" : myThis.isCommission == false ? usingSpread.toLocaleString(myThis.locale, {\n maximumFractionDigits: 2\n }) : (usingSpread + commission).toLocaleString(myThis.locale, {\n maximumFractionDigits: 2\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 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 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 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 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 html += \"\";\n html += \"\";\n html += \"\";\n }\n if (standardSpread == null) {\n if (myThis.standardSpreads != undefined) html += \"-\";\n } else {\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 }\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.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"]}