{"version":3,"file":"home.js","mappings":"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","sources":["webpack://MandG/./src/js/legacy/fund-chart.js","webpack://MandG/./src/js/legacy/fundpicker-tool.js","webpack://MandG/./src/js/legacy/fundpicker.js","webpack://MandG/./src/js/legacy/tools-global.js","webpack://MandG/webpack/bootstrap","webpack://MandG/webpack/runtime/compat get default export","webpack://MandG/webpack/runtime/define property getters","webpack://MandG/webpack/runtime/hasOwnProperty shorthand"],"sourcesContent":[";(function () {\r\n \"use strict\";\r\n //global\r\n var fundId = '';\r\n var fundName = '';\r\n var chartData = [];\r\n var graphData = [];\r\n var chart;\r\n var data = [];\r\n // grab an element\r\n var header = document.querySelector(\"header\");\r\n // construct an instance of Headroom, passing the element\r\n var headroom = new Headroom(header, {\r\n tolerance: {\r\n down: 0,\r\n up: 10\r\n },\r\n offset: 150,\r\n\r\n }).init();\r\n\r\n\r\n\r\n\r\n\r\n\r\n $(document).ready(function () {\r\n function populateGraphData(period, targetElem) {\r\n if(targetElem){\r\n chartData = [];\r\n graphData = [];\r\n var fundId = $(targetElem).parent().parent().parent().find('.chartdiv').attr('data-performance');\r\n\r\n\r\n $.ajax({\r\n url: \"/api/services/GetGraphData?fundCode=\" + fundId + \"&period=\" + period,\r\n type: \"GET\",\r\n contentType: \"application/json; charset=utf-8\",\r\n success: function (response) {\r\n\r\n $.each(response.FundReturnGraphData, function (k, v) {\r\n var dateArr = k.split('-');\r\n k = dateArr[2] + '-' + (dateArr[1].length == 1 ? '0' + dateArr[1] : dateArr[1]) + '-' + (dateArr[0].length == 1 ? '0' + dateArr[0] : dateArr[0]);\r\n\r\n graphData = push(new Date(k), v, graphData);\r\n\r\n });\r\n\r\n chartData.push(graphData);\r\n graphData = [];\r\n\r\n $.each(response.BenchmarkReturnGraphData, function (k, v) {\r\n var dateArr = k.split('-');\r\n k = dateArr[2] + '-' + (dateArr[1].length == 1 ? '0' + dateArr[1] : dateArr[1]) + '-' + (dateArr[0].length == 1 ? '0' + dateArr[0] : dateArr[0]);\r\n\r\n graphData = push(new Date(k), v, graphData);\r\n\r\n });\r\n\r\n chartData.push(graphData);\r\n graphData = [];\r\n\r\n plot(chartData, targetElem);\r\n\r\n var bottomBar = $(targetElem).siblings('.fund-graph-bottom-bar');\r\n\r\n var fundReturn = bottomBar.find('.fundReturnStats');\r\n //var ObjectiveReturn = bottomBar.find('.ObjectiveReturnStats');\r\n var benchmarkReturn = bottomBar.find('.benchmarkReturnStats');\r\n var outPerformance = bottomBar.find('.outperformanceReturnStats');\r\n var dailyPrice = bottomBar.find('.dailyReturnStats');\r\n\r\n if (response.Statistics !== null) {\r\n fundReturn.html(response.Statistics.FundReturn);\r\n benchmarkReturn.html(response.Statistics.BenchmarkReturn);\r\n //ObjectiveReturn.html(response.Statistics.ObjectiveReturn);\r\n outPerformance.html(response.Statistics.OutPerformance);\r\n dailyPrice.html(response.Statistics.DailyPrice);\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n $('.graph-toggle').click(function (e) {\r\n\r\n var fund = e.target.closest('fund');\r\n var graph = $(this).parent().parent().children(\".chartdiv\");\r\n\r\n fundId = graph.attr(\"data-performance\");\r\n fundName = graph.attr(\"data-fundName\");\r\n\r\n var $this = $(this);\r\n var graphPeriod = $this.attr(\"data-value\");\r\n\r\n $this.siblings(\".graph-toggle\").removeClass(\"graph-selected-period\");\r\n $this.addClass(\"graph-selected-period\");\r\n populateGraphData(graphPeriod, graph[0]);\r\n\r\n data = [];\r\n masterData = [];\r\n\r\n });\r\n\r\n function GetGraphData(e,data) {\r\n\r\n var fund = e.target.closest('.fund');\r\n\r\n var $this = $(data);\r\n var name = $this.text();\r\n\r\n var defaultPeriod = $this.closest('.fund').find('.graph-selected-period').attr('data-value');\r\n\r\n var trimmedName = name.substring(0, name.indexOf('('));\r\n\r\n var graph = $this.parents(\".fund-header\").parent().find('.chartdiv');\r\n\r\n fundId = graph.attr(\"data-performance\");\r\n fundName = graph.attr(\"data-fundName\");\r\n\r\n $this.parentsUntil('.fund').next('.fund-content').slideToggle(250);\r\n $this.next(\".fund-links\").children(\".quicklook-icon\").toggleClass(\"rotate\");\r\n if(!fund.classList.contains(\"hasOpened\")){\r\n setTimeout(() => {populateGraphData(defaultPeriod, graph[0]);}, 250)\r\n fund.classList.add(\"hasOpened\")\r\n }\r\n\r\n /* Adds top border to div under expanded fund */\r\n \r\n $this.parentsUntil(\".fund-list ul\").next(\".fund\").children(\".fund-header\").toggleClass(\"fund-header-border\");\r\n $this.parentsUntil(\".fund-list ul\").children(\".fund-header\").toggleClass(\"fund-header-expanded-state\");\r\n var actualPriceID = $this.parents(\".fund-header\").siblings(\".fund-content\").children(\".fund-content-right\").children(\".chartdiv\").attr('value');\r\n };\r\n\r\n $(\".fund-quicklook\").click(function (e) {\r\n var elem = this;\r\n GetGraphData(e, elem);\r\n });\r\n\r\n //var graph = defaultPeriod.parent().parent().children(\"#chartdiv\");\r\n var graph = $(\"#chartdiv\");\r\n \r\n var defaultPeriod = $('.graph-selected-period');\r\n\r\n populateGraphData(defaultPeriod.attr('data-value'), graph[0]);\r\n\r\n });\r\n\r\n function plot(graphData, targetElem) {\r\n if (graphData.length > 0) {\r\n chart = AmCharts.makeChart(targetElem, {\r\n \"zoomOutText\": \"\",\r\n \"type\": \"serial\",\r\n \"categoryField\": \"date\",\r\n \"dataDateFormat\": \"YYYY-MM-DD\",\r\n \"backgroundColor\": \"#fff\",\r\n \"color\": \"rgb(74, 74, 74)\",\r\n \"fontFamily\": 'InfraSemibold',\r\n \"fontSize\": 12,\r\n \"theme\": \"dark\",\r\n \"categoryAxis\": {\r\n \"parseDates\": true,\r\n \"dashLength\": 1,\r\n \"minorGridEnabled\": true\r\n },\r\n\r\n \"chartCursor\": {\r\n \"enabled\": true,\r\n \"cursorAlpha\": 0.2,\r\n \"valueLineAlpha\": 0.0,\r\n \"valueLineEnabled\": false,\r\n \"zoomable\": false\r\n },\r\n \"numberFormatter\": {\r\n \"precision\": 2, \"decimalSeparator\": '.', \"thousandsSeparator\": ','\r\n },\r\n \"trendLines\": [],\r\n \"graphs\": [\r\n {\r\n \"balloonText\": \"
[[title]] [[value]]
\",\r\n \"columnWidth\": 0,\r\n \"cornerRadiusTop\": 47,\r\n \"fixedColumnWidth\": 0,\r\n \"fontSize\": 0,\r\n \"gapPeriod\": 1,\r\n \"id\": \"g1\",\r\n \"legendAlpha\": 1,\r\n \"lineColor\": \"#055a60\",\r\n \"lineThickness\": 2,\r\n \"markerType\": \"circle\",\r\n \"negativeFillAlphas\": 0,\r\n \"negativeLineAlpha\": 0,\r\n \"title\": \"Fund Return\",\r\n \"useLineColorForBulletBorder\": true,\r\n \"valueField\": \"value\"\r\n }\r\n ],\r\n \"guides\": [],\r\n \"valueAxes\": [\r\n {\r\n \"id\": \"v1\",\r\n \"axisAlpha\": 0\r\n }\r\n ],\r\n\r\n \"allLabels\": [],\r\n \"balloon\": {\r\n \"borderThickness\": 2,\r\n \"fillAlpha\": 1,\r\n \"shadowAlpha\": 0,\r\n \"horizontalPadding\": 10,\r\n \"verticalPadding\": 8\r\n },\r\n\r\n \"legend\": {\r\n \"enabled\": true,\r\n \"autoMargins\": false,\r\n \"left\": 50,\r\n \"bottom\": 0,\r\n \"marginLeft\": 15,\r\n \"marginRight\": 50,\r\n \"marginBottom\": 10,\r\n \"position\": \"bottom\",\r\n \"valueWidth\": 50,\r\n \"verticalGap\": 5,\r\n \"color\": \"rgb(74, 74, 74)\"\r\n },\r\n\r\n \"responsive\": {\r\n \"enabled\": true,\r\n \"rules\": [\r\n // at 400px wide, we hide legend\r\n {\r\n \"maxWidth\": 700,\r\n \"overrides\": {\r\n \"chartScrollbar\": {\r\n \"enabled\": false\r\n }\r\n }\r\n },\r\n\r\n ]\r\n },\r\n\r\n \"titles\": [],\r\n\r\n \"dataProvider\": graphData[0]\r\n });\r\n\r\n var yAxis2 = new AmCharts.ValueAxis();\r\n yAxis2.position = \"left\"; // set this to \"right\" if you want it on the right\r\n yAxis2.offset = 30;\r\n chart.addValueAxis(yAxis2);\r\n\r\n // graph #2\r\n var performance = targetElem.dataset.performance;\r\n var fundsToChangeGraphTitles = new Array(\"PGVF\", \"PEPI\", \"PGHY\", \"PEPCT\");\r\n var graphTitle = \"Benchmark\";\r\n for (var i = 0; i < fundsToChangeGraphTitles.length; i++) {\r\n if (performance === fundsToChangeGraphTitles[i]) {\r\n graphTitle = \"Category Average\";\r\n }\r\n }\r\n var graph2 = new AmCharts.AmGraph();\r\n graph2.lineColor = \"#65b4e5\";\r\n graph2.lineThickness = 2;\r\n graph2.balloonText = \"
[[title]] [[value]]
\";\r\n graph2.xField = \"bx\";\r\n graph2.yField = \"by\";\r\n graph2.dataProvider = graphData[1];\r\n graph2.valueField = \"value\";\r\n graph2.yAxis = yAxis2; // we need to assign at least one graph to a value axis or it's not shown\r\n graph2.title = graphTitle;\r\n graph2.markerType = \"circle\";\r\n graph2.legendAlpha = 1;\r\n\r\n chart.addGraph(graph2);\r\n\r\n $(\"a[href='http://www.amcharts.com/javascript-charts/']\").hide();\r\n\r\n }\r\n };\r\n\r\n function push(date, value, data) {\r\n data.push({\r\n \"date\": new Date(date),\r\n \"value\": value\r\n });\r\n\r\n return data;\r\n }\r\n\r\n function rebaseData(data) {\r\n var tempData = $.extend(true, [], data);\r\n // var chartMaxY = 6;\r\n // var chartMinY = 5;\r\n\r\n var unfilteredData = tempData;\r\n var filteredData = [];\r\n\r\n var baseValue = 100;\r\n for (var point in unfilteredData) {\r\n if (point != \"0\") {\r\n var fund = unfilteredData[point].value;\r\n wasNeg = false;\r\n if (fund < 0) {\r\n fund = fund.replace('-', '');\r\n wasNeg = true;\r\n }\r\n var fundValue = parseFloat(fund) / parseFloat(100);\r\n fundValue = precise_round(fundValue, 6);\r\n fund = wasNeg == true ? baseValue * (1 - parseFloat(fundValue)) : baseValue * (1 + parseFloat(fundValue));\r\n baseValue = precise_round(fund, 6);\r\n unfilteredData[point].value = precise_round(baseValue, 2);\r\n }\r\n filteredData.push(unfilteredData[point]);\r\n }\r\n tempData = filteredData;\r\n return tempData;\r\n };\r\n\r\n function precise_round(num, decimals) {\r\n return Math.round(num * Math.pow(10, decimals)) / Math.pow(10, decimals);\r\n }\r\n\r\n\r\n var getDate = function (year) {\r\n if (year == null)\r\n year = 0;\r\n\r\n var date = new Date();\r\n date.setYear(date.getFullYear() - year);\r\n\r\n return date;\r\n }\r\n\r\n function plotGraphByDate(years) {\r\n var minDate = new Date(new Date(masterData[0][masterData[0].length - 1].Date).setYear(new Date(masterData[0][masterData[0].length - 1].Date).getFullYear() - years));\r\n var gMinDate = new Date(minDate.setMonth(minDate.getMonth() - 1))\r\n var maxDate = new Date(masterData[0][masterData[0].length - 1].Date);\r\n var funds = [];\r\n $.each(masterData[0], function (k, v) {\r\n if (new Date(v.Date) >= minDate && new Date(v.Date) <= maxDate) {\r\n if (funds.length == 0)\r\n funds.push({ \"date\": gMinDate, \"value\": 100 });\r\n else\r\n funds.push({ \"date\": new Date(v.Date), \"value\": v.Value });\r\n }\r\n });\r\n\r\n plot(funds);\r\n }\r\n\r\n\r\n\r\n\r\n})();","// Fund Picker Controller Class\r\n;(function()\r\n{\r\n\t\"use strict\";\r\n\tvar fundPickerControllerClass = function()\r\n\t{\r\n\t\t$(document).ready(function()\r\n\t\t{\r\n\t\t\tvar $doc = $(this);\r\n\r\n\t\t\tvar riskMatrix \t\t= getRiskMatrix();\r\n\t\t\tvar fundLookupList \t= getFundLookupList();\r\n\r\n\r\n\t\t\t$doc.on(\"getInvestmentFund\", function(e, p)\r\n\t\t\t{\r\n\t\t\t\tsetDefaultParamenters();\r\n\r\n\t\t\t\tvar validResults = findFunds(p.values.riskLevel, p.values.investTerm);\r\n\r\n\t\t\t\tp.callback.isValid(validResults);\r\n\t\t\t\t\r\n\t\t\t\tfunction setDefaultParamenters()\r\n\t\t\t\t{\r\n\t\t\t\t\t// Default Values\r\n\t\t\t\t\tp.values.riskLevel \t= p.values.riskLevel || \"\";\r\n\t\t\t\t\tp.values.investTerm\t= p.values.investTerm || \"\";\r\n\r\n\t\t\t\t\t// Callback Methods\r\n\t\t\t\t\tp.callback.isValid = p.callback.isValid || function() {};\r\n\t\t\t\t\tp.callback.isInvalid = p.callback.isInvalid || function() {};\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t$doc.on(\"getFilterDataByRiskLevel\", function(e, p)\r\n\t\t\t{\r\n\t\t\t\tp.callback.onSuccess = p.callback.onSuccess || function() {};\r\n\t\t\t\tp.callback.onSuccess(investTermLimitOnRiskLevel(p.riskLevel));\r\n\t\t\t});\r\n\r\n\t\t\t$doc.on(\"getFilterDataByInvestTerm\", function(e, p)\r\n\t\t\t{\r\n\t\t\t\tp.callback.onSuccess = p.callback.onSuccess || function() {};\r\n\t\t\t\tp.callback.onSuccess(riskLevelLimitOnInvestTerm(p.investTerm));\r\n\t\t\t});\r\n\r\n\t\t\tfunction getRiskMatrix()\r\n\t\t\t{\r\n\t\t\t\treturn {\r\n\t\t\t\t\t0 : {\r\n\t\t\t\t\t\triskAlias : \"Low\",\r\n\t\t\t\t\t\triskName : \"low\",\r\n\t\t\t\t\t\tallowedTerms : [\"1\", \"1-3\"]\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t1 : {\r\n\t\t\t\t\t\triskAlias : \"Low-Medium\",\r\n\t\t\t\t\t\triskName : \"low-med\",\r\n\t\t\t\t\t\tallowedTerms : [\"1-3\"]\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t2 : {\r\n\t\t\t\t\t\triskAlias : \"Medium\",\r\n\t\t\t\t\t\triskName : \"med\",\r\n allowedTerms: [\"3-5\"]\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t3 : {\r\n\t\t\t\t\t\triskAlias \t : \"Medium-High\",\r\n\t\t\t\t\t\triskName : \"med-high\",\r\n\t\t\t\t\t\tallowedTerms : [\"5+\"]\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t4 : {\r\n\t\t\t\t\t\triskAlias : \"High\",\r\n\t\t\t\t\t\triskName : \"high\",\r\n\t\t\t\t\t\tallowedTerms : [\"7+\"]\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\r\n\t\t\tfunction getFundLookupList()\r\n\t\t\t{\r\n\t\t\t\treturn [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfundName : \"Money Market Fund\",\r\n\t\t\t\t\t\tfundCode : \"PMMF\",\r\n\t\t\t\t\t\tcriteria : {\r\n\t\t\t\t\t\t\triskByName : \"low\",\r\n\t\t\t\t\t\t\tallowedTerms : \"1\"\r\n\t\t\t\t\t\t}\r\n },\r\n {\r\n fundName: \"Prudential Income Fund\",\r\n fundCode: \"PIFCA\",\r\n criteria: {\r\n riskByName: \"low\",\r\n allowedTerms: \"1-3\"\r\n }\r\n },\r\n\r\n {\r\n fundName: \"Enhanced Income Fund\",\r\n fundCode: \"PEICA\",\r\n criteria: {\r\n riskByName: \"low-med\",\r\n allowedTerms: \"1-3\"\r\n }\r\n },\r\n\r\n {\r\n fundName: \"Inflation Plus Fund\",\r\n fundCode: \"PRIP\",\r\n criteria: {\r\n riskByName: \"med\",\r\n allowedTerms: \"3-5\"\r\n }\r\n },\r\n\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfundName : \"Balanced Fund\",\r\n\t\t\t\t\t\tfundCode : \"PRUA\",\r\n\t\t\t\t\t\tcriteria : {\r\n\t\t\t\t\t\t\triskByName : \"med-high\",\r\n\t\t\t\t\t\t\tallowedTerms : \"5+\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfundName : \"Dividend Maximiser Fund\",\r\n\t\t\t\t\t\tfundCode : \"PRUM\",\r\n\t\t\t\t\t\tcriteria : {\r\n\t\t\t\t\t\t\triskByName : \"high\",\r\n\t\t\t\t\t\t\tallowedTerms : \"7+\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfundName : \"Equity Fund\",\r\n\t\t\t\t\t\tfundCode : \"PRUO\",\r\n\t\t\t\t\t\tcriteria : {\r\n\t\t\t\t\t\t\triskByName : \"high\",\r\n\t\t\t\t\t\t\tallowedTerms : \"7+\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t];\r\n\t\t\t}\r\n\r\n\t\t\tfunction findFunds(riskLevel, investTerm)\r\n\t\t\t{\r\n\t\t\t\tvar result = {};\r\n\t\t\t\tvar investTermArr = investTerm.split(\",\");\r\n\r\n\t\t\t\tvar i;\r\n\t\t\t\tfor (i in investTermArr)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (investTermArr[i].hasOwnProperty)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t$.extend(true, result, lookupFund(riskLevel, investTermArr[i]));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tsendFacebookToolCompletedEvent('Fund Selector');\r\n\t\t\t\treturn result;\r\n\r\n\r\n\t\t\t\tfunction lookupFund(riskLevel, investTerm)\r\n\t\t\t\t{\r\n\t\t\t\t\tvar lookupResult = {};\r\n\r\n\t\t\t\t\tfor (i in fundLookupList)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif (fundLookupList[i].hasOwnProperty)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvar cFund = fundLookupList[i];\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tif (cFund.criteria.riskByName === riskLevel && cFund.criteria.allowedTerms === investTerm)\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tlookupResult[i] = {};\r\n\r\n\t\t\t\t\t\t\t\tlookupResult[i] = {\r\n\t\t\t\t\t\t\t\t\tfundName : cFund.fundName,\r\n\t\t\t\t\t\t\t\t\tfundCode : cFund.fundCode\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn lookupResult;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t\tfunction riskLevelLimitOnInvestTerm(investTerm)\r\n\t\t\t{\r\n\t\t\t\tvar filterResult = [];\r\n\t\t\t\tvar investTermArr = investTerm.split(\",\");\r\n\t\t\t\t\r\n\t\t\t\tvar IN_ARRAY_FALSE = -1;\r\n\r\n\t\t\t\tfor (var i in investTermArr)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (investTermArr[i].hasOwnProperty)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tgetFilterResult(investTermArr[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn filterResult;\r\n\r\n\t\t\t\tfunction getFilterResult(investTerm)\r\n\t\t\t\t{\r\n\t\t\t\t\tfor (var i in riskMatrix)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif (riskMatrix[i].hasOwnProperty)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tif ($.inArray(investTerm, riskMatrix[i].allowedTerms) !== IN_ARRAY_FALSE)\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tif ($.inArray(riskMatrix[i].riskName, filterResult) === IN_ARRAY_FALSE)\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tfilterResult.push(riskMatrix[i].riskName);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\r\n\t\t\tfunction investTermLimitOnRiskLevel(riskLevel)\r\n\t\t\t{\r\n\t\t\t\tvar filterResult;\r\n\t\t\t\tfor (var i in riskMatrix)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (riskMatrix[i].hasOwnProperty)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif (riskMatrix[i].riskName === riskLevel)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfilterResult = riskMatrix[i].allowedTerms;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn filterResult;\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\twindow.FundPicker = new fundPickerControllerClass();\r\n})();","import \"/src/css/legacy/fundpicker.css\";\r\nimport \"/src/css/legacy/funds.css\";\r\n\r\nimport \"/src/js/legacy/fundpicker-tool.js\";\r\nimport \"/src/js/legacy/tools-global.js\";\r\n\r\n(function () {\r\n\t\"use strict\";\r\n\r\n\t$(document).ready(function () {\r\n\t\tvar $doc = $(this);\r\n\r\n\t\tvar filterFirstOrder = null;\r\n\t\tvar userHasSelected = {\r\n\t\t\triskLevel: function () {\r\n\t\t\t\tvar $riskLevelRow = $(\".fund-picker-controls.risk-level\");\r\n\t\t\t\tvar result = $riskLevelRow.children(\".active\").length > 0;\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\t\t\tinvestTerm: function () {\r\n\t\t\t\tvar $riskLevelRow = $(\".fund-picker-controls.investment-term\");\r\n\t\t\t\tvar result = $riskLevelRow.children(\".active\").length > 0;\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfunction applyUIFilters(trigger) {\r\n\t\t\tvar data, filterResult;\r\n\t\t\tvar $activeInvestTermButton = $(\".invest-term-button.active\");\r\n\t\t\tvar $activeRiskButton = $(\".risk-button.active\");\r\n\r\n\t\t\tvar filterFunctions = {\r\n\t\t\t\tfilterByRisk: function () {\r\n\t\t\t\t\tif (filterFirstOrder === \"risk\") {\r\n\t\t\t\t\t\tdata = $activeRiskButton.attr(\"data-risk-name\");\r\n\t\t\t\t\t\tfilterResult =\r\n\t\t\t\t\t\t\teventTriggers.getFilterDataByRiskLevel(data);\r\n\r\n\t\t\t\t\t\tif (trigger === \"risk\") {\r\n\t\t\t\t\t\t\t$activeInvestTermButton.removeClass(\"active\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\r\n\t\t\t\tfilterByInvestTerm: function () {\r\n\t\t\t\t\tif (filterFirstOrder === \"term\") {\r\n\t\t\t\t\t\tdata = $activeInvestTermButton.attr(\"data-term\");\r\n\t\t\t\t\t\tfilterResult =\r\n\t\t\t\t\t\t\teventTriggers.getFilterDataByInvestTerm(data);\r\n\r\n\t\t\t\t\t\tif (trigger === \"term\") {\r\n\t\t\t\t\t\t\t$activeRiskButton.removeClass(\"active\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\r\n\t\t\t\ttoggleFindFunds: function () {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tuserHasSelected.riskLevel() &&\r\n\t\t\t\t\t\tuserHasSelected.investTerm()\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\t$(\".lookup-funds\").attr(\"disabled\", false);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(\".lookup-funds\").attr(\"disabled\", true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tfor (var i in filterFunctions) {\r\n\t\t\t\tif (filterFunctions[i].hasOwnProperty) {\r\n\t\t\t\t\tfilterFunctions[i]();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction plot(graphData, targetElem) {\r\n\t\t\tvar chart = AmCharts.makeChart(targetElem, {\r\n\t\t\t\tzoomOutText: \"\",\r\n\t\t\t\ttype: \"serial\",\r\n\t\t\t\tcategoryField: \"date\",\r\n\t\t\t\tdataDateFormat: \"YYYY-MM-DD\",\r\n\t\t\t\tbackgroundColor: \"#fff\",\r\n\t\t\t\tcolor: \"#2f2f2f\",\r\n\t\t\t\tfontFamily: \"InfraSemibold\",\r\n\t\t\t\tfontSize: 12,\r\n\t\t\t\ttheme: \"dark\",\r\n\t\t\t\tcategoryAxis: {\r\n\t\t\t\t\tparseDates: true,\r\n\t\t\t\t\tdashLength: 1,\r\n\t\t\t\t\tminorGridEnabled: true\r\n\t\t\t\t},\r\n\r\n\t\t\t\tchartCursor: {\r\n\t\t\t\t\tenabled: true,\r\n\t\t\t\t\tcursorAlpha: 0,\r\n\t\t\t\t\tvalueLineAlpha: 0.2,\r\n\t\t\t\t\tvalueLineEnabled: true,\r\n\t\t\t\t\tzoomable: false\r\n\t\t\t\t},\r\n\t\t\t\tnumberFormatter: {\r\n\t\t\t\t\tprecision: 2,\r\n\t\t\t\t\tdecimalSeparator: \".\",\r\n\t\t\t\t\tthousandsSeparator: \",\"\r\n\t\t\t\t},\r\n\t\t\t\ttrendLines: [],\r\n\t\t\t\tgraphs: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tballoonText:\r\n\t\t\t\t\t\t\t\"
[[title]] [[value]]
\",\r\n\t\t\t\t\t\tcolumnWidth: 0,\r\n\t\t\t\t\t\tcornerRadiusTop: 47,\r\n\t\t\t\t\t\tfixedColumnWidth: 0,\r\n\t\t\t\t\t\tfontSize: 0,\r\n\t\t\t\t\t\tgapPeriod: 1,\r\n\t\t\t\t\t\tid: \"g1\",\r\n\t\t\t\t\t\tlegendAlpha: 1,\r\n\t\t\t\t\t\tlineColor: \"#055a60\",\r\n\t\t\t\t\t\tlineThickness: 2,\r\n\t\t\t\t\t\tmarkerType: \"circle\",\r\n\t\t\t\t\t\tnegativeFillAlphas: 0,\r\n\t\t\t\t\t\tnegativeLineAlpha: 0,\r\n\t\t\t\t\t\ttitle: \"Fund Return\",\r\n\t\t\t\t\t\tuseLineColorForBulletBorder: true,\r\n\t\t\t\t\t\tvalueField: \"value\"\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t\tguides: [],\r\n\t\t\t\tvalueAxes: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: \"v1\",\r\n\t\t\t\t\t\taxisAlpha: 0\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\r\n\t\t\t\tallLabels: [],\r\n\t\t\t\tballoon: {\r\n\t\t\t\t\tborderThickness: 2,\r\n\t\t\t\t\tfillAlpha: 1,\r\n\t\t\t\t\tshadowAlpha: 0,\r\n\t\t\t\t\thorizontalPadding: 10,\r\n\t\t\t\t\tverticalPadding: 8\r\n\t\t\t\t},\r\n\r\n\t\t\t\tlegend: {\r\n\t\t\t\t\tenabled: true,\r\n\t\t\t\t\tautoMargins: false,\r\n\t\t\t\t\tleft: 50,\r\n\t\t\t\t\tbottom: 0,\r\n\t\t\t\t\tmarginLeft: 15,\r\n\t\t\t\t\tmarginRight: 5,\r\n\t\t\t\t\tmarginBottom: 10,\r\n\t\t\t\t\tposition: \"bottom\",\r\n\t\t\t\t\tvalueWidth: 50,\r\n\t\t\t\t\tverticalGap: 5,\r\n\t\t\t\t\tcolor: \"#2f2f2f\"\r\n\t\t\t\t},\r\n\r\n\t\t\t\tresponsive: {\r\n\t\t\t\t\tenabled: true,\r\n\t\t\t\t\trules: [\r\n\t\t\t\t\t\t// at 400px wide, we hide legend\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tmaxWidth: 700,\r\n\t\t\t\t\t\t\toverrides: {\r\n\t\t\t\t\t\t\t\tchartScrollbar: {\r\n\t\t\t\t\t\t\t\t\tenabled: false\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t},\r\n\r\n\t\t\t\ttitles: [],\r\n\r\n\t\t\t\tdataProvider: graphData[0],\r\n\t\t\t\texport: {\r\n\t\t\t\t\tenabled: true\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tvar yAxis2 = new window.AmCharts.ValueAxis();\r\n\t\t\tyAxis2.position = \"left\"; // set this to \"right\" if you want it on the right\r\n\t\t\tyAxis2.offset = 30;\r\n\t\t\tchart.addValueAxis(yAxis2);\r\n\r\n\t\t\t// graph #2\r\n\t\t\tvar graph2 = new window.AmCharts.AmGraph();\r\n\t\t\tgraph2.lineColor = \"#65b4e5\";\r\n\t\t\tgraph2.lineThickness = 2;\r\n\t\t\tgraph2.balloonText =\r\n\t\t\t\t\"
[[title]] [[value]]
\";\r\n\t\t\tgraph2.xField = \"bx\";\r\n\t\t\tgraph2.yField = \"by\";\r\n\t\t\tgraph2.dataProvider = graphData[1];\r\n\t\t\tgraph2.valueField = \"value\";\r\n\t\t\tgraph2.yAxis = yAxis2; // we need to assign at least one graph to a value axis or it's not shown\r\n\t\t\tgraph2.title = \"Benchmark\";\r\n\t\t\tgraph2.markerType = \"circle\";\r\n\t\t\tgraph2.legendAlpha = 1;\r\n\r\n\t\t\tchart.addGraph(graph2);\r\n\t\t\t//$(\"a[href='http://www.amcharts.com/javascript-charts/']\").hide();\r\n\t\t}\r\n\r\n\t\t// Resizes the graph on print\r\n\t\t(function () {\r\n\t\t\tvar beforePrint = function () {\r\n\t\t\t\tfor (var i = 0; i < window.AmCharts.charts.length; i++) {\r\n\t\t\t\t\tvar chart = AmCharts.charts[i];\r\n\t\t\t\t\tconsole.log(AmCharts.charts);\r\n\t\t\t\t\tchart.div.style.width = \"400px\";\r\n\t\t\t\t\tchart.div.style.height = \"428px\";\r\n\t\t\t\t\tchart.validateNow();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tvar afterPrint = function () {\r\n\t\t\t\tfor (var i = 0; i < window.AmCharts.charts.length; i++) {\r\n\t\t\t\t\tvar chart = AmCharts.charts[i];\r\n\t\t\t\t\tchart.div.style.width = \"100%\";\r\n\t\t\t\t\tchart.div.style.height = \"439px\";\r\n\t\t\t\t\tchart.validateNow();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tif (window.matchMedia) {\r\n\t\t\t\tvar mediaQueryList = window.matchMedia(\"print\");\r\n\t\t\t\tmediaQueryList.addListener(function (mql) {\r\n\t\t\t\t\tif (mql.matches) {\r\n\t\t\t\t\t\tbeforePrint();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tafterPrint();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\twindow.onbeforeprint = beforePrint;\r\n\t\t\twindow.onafterprint = afterPrint;\r\n\t\t})();\r\n\r\n\t\tvar f = {\r\n\t\t\triskLevelEvents: function () {\r\n\t\t\t\t$doc.on(\"click\", \".risk-button\", function () {\r\n\t\t\t\t\tvar $this = $(this);\r\n\r\n\t\t\t\t\t$(\".risk-button\").removeClass(\"active\");\r\n\t\t\t\t\t$this.addClass(\"active\");\r\n\r\n\t\t\t\t\tif (filterFirstOrder === null) {\r\n\t\t\t\t\t\tfilterFirstOrder = \"risk\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tapplyUIFilters(\"risk\");\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tinvestTermEvents: function () {\r\n\t\t\t\t$doc.on(\"click\", \".invest-term-button\", function () {\r\n\t\t\t\t\tvar $this = $(this);\r\n\r\n\t\t\t\t\t$(\".invest-term-button\").removeClass(\"active\");\r\n\t\t\t\t\t$this.addClass(\"active\");\r\n\r\n\t\t\t\t\tif (filterFirstOrder === null) {\r\n\t\t\t\t\t\tfilterFirstOrder = \"term\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tapplyUIFilters(\"term\");\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tresetEvents: function () {\r\n\t\t\t\t$doc.on(\"click\", \".reset\", function () {\r\n\t\t\t\t\tfilterFirstOrder = null;\r\n\t\t\t\t\tvar $fundGraphBlock = $(\".fund-graph-block\");\r\n\r\n\t\t\t\t\t$(\".invest-term-button, .risk-button\")\r\n\t\t\t\t\t\t.removeClass(\"active\")\r\n\t\t\t\t\t\t.attr(\"disabled\", false);\r\n\r\n\t\t\t\t\t$fundGraphBlock.removeClass(\"show-chart-block\");\r\n\t\t\t\t\t$fundGraphBlock.children(\".show\").removeClass(\"show\");\r\n\r\n\t\t\t\t\tapplyUIFilters();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tfindFunds: function () {\r\n\t\t\t\t$doc.on(\"click\", \".lookup-funds\", function () {\r\n\t\t\t\t\tvar riskLevel = $(\".risk-button.active\").attr(\r\n\t\t\t\t\t\t\"data-risk-name\"\r\n\t\t\t\t\t);\r\n\t\t\t\t\tvar investTerm = $(\".invest-term-button.active\").attr(\r\n\t\t\t\t\t\t\"data-term\"\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\teventTriggers.getInvestmentFund(riskLevel, investTerm);\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tcheckForPreSelectedOptions: function () {\r\n\t\t\t\tvar risk = getParameterByName(\"risk\");\r\n\t\t\t\tvar term = getParameterByName(\"term\");\r\n\r\n\t\t\t\tif (risk !== null && term !== null) {\r\n\t\t\t\t\t$(\".fpbutton[data-risk-name='\" + risk + \"']\").click();\r\n\t\t\t\t\t$(\".fpbutton[data-term='\" + term + \"']\").click();\r\n\r\n\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t$(\".lookup-funds\").click();\r\n\t\t\t\t\t}, 250);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfunction getParameterByName(name, url) {\r\n\t\t\t\t\tif (!url) {\r\n\t\t\t\t\t\turl = window.location.href;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tname = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n\r\n\t\t\t\t\tvar regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\r\n\t\t\t\t\t\tresults = regex.exec(url);\r\n\r\n\t\t\t\t\tif (!results) {\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!results[2]) {\r\n\t\t\t\t\t\treturn \"\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn decodeURIComponent(results[2]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar eventTriggers = {\r\n\t\t\tgetInvestmentFund: function (riskLevel, investTerm) {\r\n\t\t\t\t$doc.trigger(\"getInvestmentFund\", {\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\triskLevel: riskLevel,\r\n\t\t\t\t\t\tinvestTerm: investTerm\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\tcallback: {\r\n\t\t\t\t\t\tisValid: function (data) {\r\n\t\t\t\t\t\t\t// Redirect user to Fund Picker tool page, if using Home Page Fund Picker\r\n\t\t\t\t\t\t\tif ($(\".wrapper\").hasClass(\"homepage\")) {\r\n\t\t\t\t\t\t\t\tredirectToFund();\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t// Normal callback functionality\r\n\t\t\t\t\t\t\tvar $fundGraphBlock = $(\".fund-graph-block\");\r\n\r\n\t\t\t\t\t\t\t$fundGraphBlock.removeClass(\"show-chart-block\");\r\n\r\n\t\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\t\t$fundGraphBlock\r\n\t\t\t\t\t\t\t\t\t.children(\".show\")\r\n\t\t\t\t\t\t\t\t\t.removeClass(\"show\");\r\n\r\n\t\t\t\t\t\t\t\tfor (var i in data) {\r\n\t\t\t\t\t\t\t\t\tif (data[i].hasOwnProperty) {\r\n\t\t\t\t\t\t\t\t\t\tgetFundData(data[i].fundCode);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}, 800);\r\n\r\n\t\t\t\t\t\t\tfunction push(date, value, data) {\r\n\t\t\t\t\t\t\t\tdata.push({\r\n\t\t\t\t\t\t\t\t\tdate: new Date(date),\r\n\t\t\t\t\t\t\t\t\tvalue: value\r\n\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\treturn data;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tfunction getFundData(fundCode) {\r\n\t\t\t\t\t\t\t\tvar chartData = [];\r\n\t\t\t\t\t\t\t\tvar graphData = [];\r\n\r\n\t\t\t\t\t\t\t\t$.ajax({\r\n\t\t\t\t\t\t\t\t\ttype: \"GET\",\r\n\t\t\t\t\t\t\t\t\turl: \"/api/Services/GetGraphData\",\r\n\t\t\t\t\t\t\t\t\tdata: {\r\n\t\t\t\t\t\t\t\t\t\tfundCode: fundCode,\r\n\t\t\t\t\t\t\t\t\t\tperiod: \"doesnt matter\"\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\tsuccess: function (response) {\r\n\t\t\t\t\t\t\t\t\t\tvar $fundDetailContainer = $(\r\n\t\t\t\t\t\t\t\t\t\t\t\".fund-block.\" + fundCode\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t!$fundDetailContainer.hasClass(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"hasChart\"\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\tgenerateFundGraph();\r\n\t\t\t\t\t\t\t\t\t\t\t$fundDetailContainer.addClass(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"hasChart\"\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t\t$fundDetailContainer.addClass(\"show\");\r\n\t\t\t\t\t\t\t\t\t\t$fundGraphBlock.addClass(\r\n\t\t\t\t\t\t\t\t\t\t\t\"show-chart-block\"\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\tfunction generateFundGraph() {\r\n\t\t\t\t\t\t\t\t\t\t\t$.each(\r\n\t\t\t\t\t\t\t\t\t\t\t\tresponse.FundReturnGraphData,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfunction (k, v) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvar dateArr = k.split(\"-\");\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tk =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdateArr[2] +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"-\" +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(dateArr[1].length == 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"0\" + dateArr[1]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: dateArr[1]) +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"-\" +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(dateArr[0].length == 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"0\" + dateArr[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: dateArr[0]);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tgraphData = push(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnew Date(k),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tv,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgraphData\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tchartData.push(graphData);\r\n\t\t\t\t\t\t\t\t\t\t\tgraphData = [];\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t$.each(\r\n\t\t\t\t\t\t\t\t\t\t\t\tresponse.BenchmarkReturnGraphData,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfunction (k, v) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvar dateArr = k.split(\"-\");\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tk =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdateArr[2] +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"-\" +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(dateArr[1].length == 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"0\" + dateArr[1]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: dateArr[1]) +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"-\" +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(dateArr[0].length == 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"0\" + dateArr[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: dateArr[0]);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tgraphData = push(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnew Date(k),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tv,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgraphData\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tchartData.push(graphData);\r\n\t\t\t\t\t\t\t\t\t\t\tgraphData = [];\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tvar chartdiv =\r\n\t\t\t\t\t\t\t\t\t\t\t\t$fundDetailContainer.find(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\".chartdiv\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t)[0];\r\n\t\t\t\t\t\t\t\t\t\t\tplot(chartData, chartdiv);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t/*function applyChartHTML(fundCode)\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tvar html = \"\";\r\n\r\n\t\t\t\t\t\t\t\thtml += \"
\";\r\n\t\t\t\t\t\t\t\thtml += \" \";\r\n\t\t\t\t\t\t\t\thtml += \"
\";\r\n\r\n\t\t\t\t\t\t\t\treturn html;\r\n\t\t\t\t\t\t\t}*/\r\n\r\n\t\t\t\t\t\t\tfunction redirectToFund() {\r\n\t\t\t\t\t\t\t\tvar baseURL = window.fundpickerRedirectBaseURL;\r\n\t\t\t\t\t\t\t\tvar getAppend =\r\n\t\t\t\t\t\t\t\t\t\"?risk=\" +\r\n\t\t\t\t\t\t\t\t\triskLevel +\r\n\t\t\t\t\t\t\t\t\t\"&term=\" +\r\n\t\t\t\t\t\t\t\t\tinvestTerm;\r\n\r\n\t\t\t\t\t\t\t\twindow.location.replace(baseURL + getAppend);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\r\n\t\t\t\t\t\tisInvalid: function (data) {\r\n\t\t\t\t\t\t\twindow.console.warn(data);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tgetFilterDataByRiskLevel: function (riskLevel) {\r\n\t\t\t\t$doc.trigger(\"getFilterDataByRiskLevel\", {\r\n\t\t\t\t\triskLevel: riskLevel,\r\n\t\t\t\t\tcallback: {\r\n\t\t\t\t\t\tonSuccess: function (data) {\r\n\t\t\t\t\t\t\tvar $investTermButton = $(\".invest-term-button\");\r\n\r\n\t\t\t\t\t\t\t$investTermButton.attr(\"disabled\", true);\r\n\t\t\t\t\t\t\tfor (var i in data) {\r\n\t\t\t\t\t\t\t\tif (data[i].hasOwnProperty) {\r\n\t\t\t\t\t\t\t\t\t$(\r\n\t\t\t\t\t\t\t\t\t\t\".invest-term-button[data-term='\" +\r\n\t\t\t\t\t\t\t\t\t\t\tdata[i] +\r\n\t\t\t\t\t\t\t\t\t\t\t\"']\"\r\n\t\t\t\t\t\t\t\t\t).attr(\"disabled\", false);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tgetFilterDataByInvestTerm: function (investTerm) {\r\n\t\t\t\t$doc.trigger(\"getFilterDataByInvestTerm\", {\r\n\t\t\t\t\tinvestTerm: investTerm,\r\n\t\t\t\t\tcallback: {\r\n\t\t\t\t\t\tonSuccess: function (data) {\r\n\t\t\t\t\t\t\tvar $riskButton = $(\".risk-button\");\r\n\r\n\t\t\t\t\t\t\t$riskButton.attr(\"disabled\", true);\r\n\t\t\t\t\t\t\tfor (var i in data) {\r\n\t\t\t\t\t\t\t\tif (data[i].hasOwnProperty) {\r\n\t\t\t\t\t\t\t\t\t$(\r\n\t\t\t\t\t\t\t\t\t\t\".risk-button[data-risk-name='\" +\r\n\t\t\t\t\t\t\t\t\t\t\tdata[i] +\r\n\t\t\t\t\t\t\t\t\t\t\t\"']\"\r\n\t\t\t\t\t\t\t\t\t).attr(\"disabled\", false);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tfor (var i in f) {\r\n\t\t\tif (f[i].hasOwnProperty) {\r\n\t\t\t\tf[i]();\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n})();\r\n","/*\r\n * We will use a self executing/anonomous function to protect the private variables and methods.\r\n * We also add the ; incase a the previous code has not been closed off when we concatenate our source code later for production.\r\n */\r\n;(function() {\r\n\r\n\t\"use strict\";\r\n\t\r\n\t$(document).ready(function() {\r\n\r\n\t\tvar $doc = $(this),\r\n\t\t\tqna = window._QnA;\r\n\t\t\r\n\t\tif (!qna) {\r\n\r\n\t\t\tapplyToolGlobalCode();\r\n\r\n\t\t} else {\r\n\r\n\t\t\tvar w_qnaToolTypeCheck = setInterval(function() {\r\n\r\n\t\t\t\tif (getToolType()) {\r\n\r\n\t\t\t\t\tapplyToolGlobalCode();\r\n\t\t\t\t\tclearInterval(w_qnaToolTypeCheck);\r\n\r\n\t\t\t\t}\r\n\t\t\t}, 200);\r\n\r\n\t\t}\r\n\r\n function getToolType() {\r\n\r\n var toolType = null;\r\n\r\n if(qna) {\r\n\r\n\t\t\t\ttoolType = qna.getCurrentToolType();\r\n\r\n } else {\r\n\r\n\t\t\t\ttoolType = window.toolType;\r\n\r\n }\r\n\r\n return toolType;\r\n }\r\n\r\n\t\tfunction applyToolGlobalCode() {\r\n\r\n\t\t\t$doc.on(\"keypress\", function(e) {\r\n\r\n\t\t\t\tvar keycodes = {\r\n\t\t\t\t\t\tenter : 13\r\n\t\t\t\t\t},\r\n\t\t\t\t\tisQnaActive;\r\n\r\n\t\t\t\tif(qna) {\r\n\r\n\t\t\t\t\tisQnaActive = qna.isActive();\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfunction keyCheckHandler() {\r\n\r\n\t\t\t\t\tif (e.keyCode === keycodes.enter) {\r\n\r\n\t\t\t\t\t\tif (isQnaActive) {\r\n\r\n\t\t\t\t\t\t\tqnaControlHandler();\r\n\r\n\t\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\ttoolControlHandler(getToolType());\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tkeyCheckHandler();\r\n\r\n\t\t\t});\r\n\r\n\t\t\tfunction qnaControlHandler() {\r\n\r\n\t\t\t\t$(\".question.show .next.enabled\").click();\r\n\r\n\t\t\t}\r\n\r\n\t\t\tfunction toolControlHandler(tooltype) {\r\n\r\n\t\t\t\tvar tooltypeList = {\r\n\r\n\t\t\t\t\t\"retirement-calc\" : function() {\r\n\t\t\t\t\t\t// Currently we don't use this but it is here for future usages.\r\n\t\t\t\t\t},\r\n\r\n\t\t\t\t\t\"goal-calc\" : function() {\r\n\t\t\t\t\t\t$(\".calculate\").click();\r\n },\r\n\r\n \"education-calc\": function () {\r\n $(\".calculate\").click();\r\n },\r\n\r\n \"tax-free\" : function() {\r\n $(\".calculate\").click();\r\n },\r\n\r\n\t\t\t\t\t\"fund-picker\" : function() {\r\n\t\t\t\t\t\t$(\".lookup-funds\").click();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\ttooltypeList[tooltype]();\r\n\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\t// END: applyToolGlobalCode();\r\n\r\n\t});\r\n\t// End : Document.ready();\r\n\r\n})();\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))"],"names":["chart","chartData","graphData","header","document","querySelector","push","date","value","data","Date","Headroom","tolerance","down","up","offset","init","$","ready","populateGraphData","period","targetElem","fundId","parent","find","attr","ajax","url","type","contentType","success","response","each","FundReturnGraphData","k","v","dateArr","split","length","BenchmarkReturnGraphData","AmCharts","makeChart","yAxis2","ValueAxis","position","addValueAxis","performance","dataset","fundsToChangeGraphTitles","Array","graphTitle","i","graph2","AmGraph","lineColor","lineThickness","balloonText","xField","yField","dataProvider","valueField","yAxis","title","markerType","legendAlpha","addGraph","hide","plot","bottomBar","siblings","fundReturn","benchmarkReturn","outPerformance","dailyPrice","Statistics","html","FundReturn","BenchmarkReturn","OutPerformance","DailyPrice","click","e","target","closest","graph","this","children","$this","graphPeriod","removeClass","addClass","masterData","fund","name","text","defaultPeriod","substring","indexOf","parents","parentsUntil","next","slideToggle","toggleClass","classList","contains","setTimeout","add","GetGraphData","window","FundPicker","$doc","riskMatrix","riskAlias","riskName","allowedTerms","fundLookupList","fundName","fundCode","criteria","riskByName","on","p","values","riskLevel","investTerm","callback","isValid","isInvalid","validResults","result","investTermArr","hasOwnProperty","extend","lookupFund","sendFacebookToolCompletedEvent","lookupResult","cFund","findFunds","onSuccess","filterResult","investTermLimitOnRiskLevel","getFilterResult","inArray","riskLevelLimitOnInvestTerm","beforePrint","afterPrint","filterFirstOrder","applyUIFilters","trigger","$activeInvestTermButton","$activeRiskButton","filterFunctions","filterByRisk","eventTriggers","getFilterDataByRiskLevel","filterByInvestTerm","getFilterDataByInvestTerm","toggleFindFunds","charts","console","log","div","style","width","height","validateNow","matchMedia","addListener","mql","matches","onbeforeprint","onafterprint","f","riskLevelEvents","investTermEvents","resetEvents","$fundGraphBlock","getInvestmentFund","checkForPreSelectedOptions","risk","getParameterByName","term","location","href","replace","results","RegExp","exec","decodeURIComponent","hasClass","baseURL","fundpickerRedirectBaseURL","getAppend","getFundData","$fundDetailContainer","chartdiv","zoomOutText","categoryField","dataDateFormat","backgroundColor","color","fontFamily","fontSize","theme","categoryAxis","parseDates","dashLength","minorGridEnabled","chartCursor","enabled","cursorAlpha","valueLineAlpha","valueLineEnabled","zoomable","numberFormatter","precision","decimalSeparator","thousandsSeparator","trendLines","graphs","columnWidth","cornerRadiusTop","fixedColumnWidth","gapPeriod","id","negativeFillAlphas","negativeLineAlpha","useLineColorForBulletBorder","guides","valueAxes","axisAlpha","allLabels","balloon","borderThickness","fillAlpha","shadowAlpha","horizontalPadding","verticalPadding","legend","autoMargins","left","bottom","marginLeft","marginRight","marginBottom","valueWidth","verticalGap","responsive","rules","maxWidth","overrides","chartScrollbar","titles","export","generateFundGraph","warn","$investTermButton","$riskButton","qna","_QnA","w_qnaToolTypeCheck","setInterval","getToolType","applyToolGlobalCode","clearInterval","getCurrentToolType","toolType","isQnaActive","isActive","keyCode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","call"],"sourceRoot":""}