{"version":3,"file":"dist/465.js","mappings":"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","sources":["webpack://vaneckweb/../Static/us/js/src/funds/fund-listing-charts.js","webpack://vaneckweb/../Static/us/js/src/lazy-bundles/load-highcharts-bundle.js"],"sourcesContent":["const { default: getHighchartsBundle } = require(\"../lazy-bundles/load-highcharts-bundle\");\r\n\r\n/**\r\n * Stores all of the charts to be rendered on the Fund Listing page\r\n */\r\nwindow.feCharts = {\r\n    loadedCharts: [],\r\n    currentChart: {\r\n        chartTitle: \"\",\r\n        dataSet: [],\r\n        seriesName: \"\",\r\n        color: \"\",\r\n        xAxisTitle: \"\",\r\n        yAxisTitle: \"\",\r\n        tooltipSuffix: \"\"\r\n    },\r\n\r\n\r\n    /**\r\n * Renders the basic chart skeleton, but not the chart.\r\n *\r\n * @param {any} chartType\r\n * @param {any} row\r\n */\r\n    rnChartArea: function (chartType, row, tickerGroup, displayTicker) {\r\n        //Pass a display ticker when the Fund Ticker being displayed is different from the actual Fund Ticker being passed to the Chart Data API.\r\n        displayTicker = displayTicker || row.ExpandableContent.Ticker;\r\n\r\n        switch (chartType) {\r\n            case \"premium-discount\":\r\n                var tabIDprefix = \"the-prem-tab-\";\r\n                var chartTitle = displayTicker + \" Premium or Discount (bps): <span id='current-quarter'></span>\";\r\n\r\n                var downloadLink = \"\";\r\n\r\n                var tabs = '<ul class=\"tabs__items nav nav-tabs chart-tabs\" role=\"tablist\" id=\"tabs-for-' + row.ExpandableContent.Ticker + '\" data-ticker=\"' + row.ExpandableContent.Ticker + '\" data-chart-type=\"' + chartType + '\">';\r\n\r\n                row.ExpandableContent.Quarters.forEach(function (e, i) {\r\n                    tabs += '<li class=\"nav-item nav-' + row.ExpandableContent.Ticker + '\"> <a class=\"nav-link premium-discount-quarter\" id=\"' + e.Value + '-tab\" data-quarter=\"' + e.Value + '\" role=\"tab\" aria-controls=\"Last11Year\" aria-selected=\"\">' + e.Name + '</a></li>';\r\n                });\r\n\r\n                tabs += '</ul >';\r\n\r\n                var datePicker = ''; //no date picker for premium discount\r\n                break;\r\n            case \"price\":\r\n            case \"growth-10k\":\r\n                var tabIDprefix = \"the-tab-\";\r\n                var title = \"Nav Chart\";\r\n                if (typeof tickerGroup === \"string\") {\r\n                    title = tickerGroup.toLowerCase() === \"index\" ? \"Price Chart\" : title;\r\n                }\r\n\r\n                var chartTitle = displayTicker + \" - \" + title;\r\n\r\n                var downloadLink = \"<div class='expandable-download-link'><a class='font-weight-normal' href='\" + row.ExpandableContent.DownloadUrl + \"'>Download NAV History</a></div>\";\r\n\r\n                var inceptionDate = new Date(row.ExpandableContent.InceptionDate);\r\n\r\n                var periods = feCharts.getPricePeriods(inceptionDate, row);\r\n\r\n                var tabs = '<ul class=\"tabs__items nav nav-tabs chart-tabs\" role=\"tablist\" id=\"tabs-for-' + row.ExpandableContent.Ticker + '\" data-ticker=\"' + row.ExpandableContent.Ticker + '\" data-chart-type=\"' + chartType + '\">';\r\n\r\n                var activePeriodId = periods[periods.length - 1]?.id ?? \"sinceInception\";\r\n\r\n                periods.forEach(function (e, i) {\r\n                    var isActive = e.id === activePeriodId ? \"active\" : \"\"\r\n                    tabs += '<li class=\"nav-item nav-' + row.ExpandableContent.Ticker + '\"> <a class=\"nav-link price-period ' + isActive + '\" id=\"' + row.ExpandableContent.Ticker + '-' + e.id + '-tab\" data-start-date=\"' + e.startDate + '\" role=\"tab\" aria-selected=\"false\">' + e.name + '</a></li>';\r\n                });\r\n\r\n                tabs += '</ul >';\r\n\r\n                //var datePicker = '<div class=\"d-flex container justify-content-end\">Fund Inception Date: ' + row.ExpandableContent.InceptionDate  + '</div>';\r\n                var changeDateText = window.ve10kChartOverrides?.ChangeDateText ?? \"CHANGE DATE RANGE\";\r\n                var dateFormatString = window.ve10kChartOverrides?.IsEuFund ? \"(DD/MM/YYYY) - (DD/MM/YYYY)\" : \"(MM/DD/YYYY) - (MM/DD/YYYY)\"\r\n\r\n                var datePicker = '<div class=\"row d-flex justify-content-center\"><div class=\"datepicker\" id=\"daterange-' + row.ExpandableContent.Ticker + '-prices\" ><span class=\"datepicker-date active-date active\">' + dateFormatString +'</span><button class=\"datepicker-btn btn btn-link\" data-inception-date=\"' + row.ExpandableContent.InceptionDate + '\" id=\"date-' + row.ExpandableContent.Ticker + '-prices\" data-ticker=\"' + row.ExpandableContent.Ticker + '\" data-chart-type=\"' + chartType + '\" type=\"button\">' + changeDateText +'</button></div></div>';\r\n\r\n                break;\r\n            default:\r\n                console.error(\"Unknown chart type:\" + chartType);\r\n                return \"\";\r\n        }\r\n\r\n        var chartHeader = '<h4 class=\"mb-0\" id=\"chart-title-' + row.ExpandableContent.Ticker + '\">' + chartTitle + '</h4>' + downloadLink + '<div class=\"fund-explorer-table__graph row\"> <div class=\"fund-explorer-table__graph-tab col-12\"> <div class=\"tabs\">';\r\n\r\n        if (chartType == \"growth-10k\") {\r\n            //we don't use a title nor do we use a download link for the growth of 10k chart area. Currently used only on fund pages.\r\n            chartHeader = '<div class=\"fund-explorer-table__graph row\"> <div class=\"fund-explorer-table__graph-tab col-12\"> <div class=\"tabs\">';\r\n        }\r\n\r\n        //var tabs is declated above.\r\n\r\n        /* We are only rendering one tab and using JS to re-render the chart on the same tab, hence disabling the BS Tabs functionality. */\r\n        var tabContent = '<div class=\"tabs__content tab-content\"> <div class=\"tab-pane fade active show\" id=\"' + tabIDprefix + row.ExpandableContent.Ticker + '\" role=\"tabpanel\"  aria-labelledby=\"nav-list-' + row.ExpandableContent.Ticker + '\"> Loading... </div> </div >';\r\n\r\n        var headerClose = '</div></div>';\r\n\r\n        return chartHeader + tabs + tabContent + headerClose + datePicker;\r\n    },\r\n\r\n\r\n    loadData: function(renderContainer, ticker, chartType, quarter, startDate, endDate, blockID, isEuTicker, tooltipPrefix, chartValueText, noDataText, specialNoDataText) {\r\n        /**\r\n         * Guard clauses\r\n         */\r\n\r\n        if (typeof ticker != \"string\") return console.error(\"Can't load chart without ticker.\");\r\n        if (typeof chartType != \"string\") return console.error(\"Can't load chart without chart type.\");\r\n        if (typeof renderContainer != \"string\") return console.error(\"Can't load chart without a rendering container.\");\r\n        var url = \"/Main/FundListingUs/GetChartData\";\r\n        var mkDates = \"\";\r\n        var mkQuarter = \"\";\r\n        var g10koptions = null;\r\n\r\n        switch (chartType) {\r\n        case \"premium-discount\":\r\n            if (typeof quarter != \"string\") return console.error(\"Can't load chart without chart type.\");\r\n            mkQuarter = '\"Quarter\":\"' + quarter + '\",';\r\n            break;\r\n        case \"price\":\r\n        case \"PriceWithDecimal\":\r\n            if (typeof startDate == \"undefined\" || typeof endDate == \"undefined\")\r\n                return console.error(\"Can't load chart without a starting and ending date.\");\r\n            mkDates = '\"StartTime\":\"' + startDate + '\",\"EndTime\":\"' + endDate + '\",';\r\n            break;\r\n        case \"growth-10k\":\r\n                if (typeof startDate == \"undefined\" || typeof endDate == \"undefined\") return console.error(\"Can't load chart without a starting and ending date.\");\r\n                if (typeof ve10kcharts == \"undefined\" || !blockID) return console.error(\"Can't load chart without 10k chart options object loaded or blockID.\");\r\n                g10koptions = ve10kcharts.find(x => x.blockId == blockID);\r\n                if(!g10koptions) return console.error(\"Couldn't find 10k chart options object.\");\r\n            break;\r\n        default:\r\n            return console.error(\"Unknown chart type: \" + chartType);\r\n        }\r\n\r\n        /*\r\n         * For the Growth of 10k chart, where the API is slightly older.\r\n         * */\r\n        if (chartType == \"growth-10k\") {\r\n            g10koptions.ajaxOptions.data.startDate = startDate;\r\n            g10koptions.ajaxOptions.data.endDate = endDate;\r\n\r\n            return $.ajax(g10koptions.ajaxOptions).done(async function (data, response) {\r\n                feCharts.loadedCharts.push(await feCharts.processData({\r\n                        ChartType: \"growth-10k\",\r\n                        Ticker: data[0]?.name,\r\n                        ChartData: data[0]?.data,\r\n                        XAxisTitle: window[\"linechartoptions\" + blockID]?.xAxis?.title?.text,\r\n                        XAxisLabelsFormatter: isEuTicker ? window[\"linechartoptions\" + blockID]?.xAxis?.labels?.formatter : null,\r\n                        YAxisTitle: \"\",\r\n                        YAxisLabelsFormatter: window[\"linechartoptions\" + blockID]?.yAxis?.labels?.formatter,\r\n                        TooltipPrefix: tooltipPrefix,\r\n                        TooltipFormatterMethod: null,\r\n                        TooltipFormatter: isEuTicker ? \"euTooltip\" : \"\",\r\n                        responseData: data,\r\n                        NoDataText: noDataText,\r\n                        SpecialNoDataText: specialNoDataText\r\n                    }, renderContainer));\r\n            });\r\n\r\n        }\r\n\r\n    /**\r\n     * All other charts continue here\r\n     * */\r\n\r\n    var mkTicker = '\"Ticker\":\"' + ticker + '\",';\r\n        var mkChartType = '\"ChartType\":\"' + chartType + '\"';\r\n\r\n        /**Payload needs to be in the string format required by Prabhu... */\r\n        var payload = {\r\n            'filterJson':\r\n                \"{\" + mkTicker + mkDates + mkQuarter + mkChartType + \"}\"\r\n        }\r\n\r\n        //console.log(payload);\r\n\r\n        $.post(url, payload).done(async function(data, response) {\r\n            //console.log(data);\r\n            if (typeof data.Result != \"object\" || !data.Result?.length) return console.error(\"The response was not expected.\");\r\n            feCharts.loadedCharts.push(await feCharts.processData(data.Result[0], renderContainer));\r\n            feutils.spinner.hide();\r\n        }).fail(feCharts.ajaxFail);\r\n\r\n    },\r\n\r\n    ajaxFail: function(e) {\r\n        console.error(\"The response returned an error!\");\r\n        feutils.spinner.hide();\r\n        console.log(e);\r\n    },\r\n\r\n    processData: async function(data, renderSlr) {\r\n        if (typeof data != \"object\") return console.error(\"Chart details expected!\");\r\n        if (typeof data.ChartData === \"undefined\" || data.ChartData.length === 0) {\r\n            /* There is no data */\r\n            var noDataMessage = data.SpecialNoDataText\r\n                ? '<div class=\"w-100 text-center text-primary my-6\">' + (data.SpecialNoDataText ?? 'There is no data for the selected date range.') + '</div>'\r\n                : '<div class=\"w-100 text-center text-primary my-6\">' + (data.NoDataText ?? 'There is no data for the selected date range.') + '</div>';\r\n            $(renderSlr).html(noDataMessage);\r\n            return [];\r\n        }\r\n\r\n        var dataSet = [];\r\n        data.ChartData.forEach(function(e, i) {\r\n            var s = e.split(\",\");\r\n            var date = Date.UTC(s[0], s[1], s[2], 4); /* UTC + 4 hours = ET */\r\n            var val = Number(s[3]);\r\n            val = isNaN(val) ? 0 : val;\r\n            dataSet.push([date, val]);\r\n        });\r\n        var ChartData = {};\r\n\r\n        //check if the dataset is less than 3 months\r\n        var startDate = new Date(dataSet[0][0]);\r\n        var endDate = new Date(dataSet[dataSet.length - 1][0]);\r\n        var dateSpan = endDate - startDate;\r\n        dateSpan = dateSpan < 1 ? dateSpan * -1 : dateSpan;\r\n        var smallPeriod = (dateSpan < 1000 * 60 * 60 * 24 * 130); //Approx 130 days\r\n\r\n        switch (data.ChartType) {\r\n            case \"premium-discount\":\r\n                ChartData = {\r\n                    chartTitle: false, //data.Name + \" Premium or Discount (bps)\",\r\n                    dataSet: dataSet,\r\n                    seriesName: data.Ticker,\r\n                    color: data.Color || \"#17468f\",\r\n                    xAxisTitle: data.XAxisTitle,\r\n                    yAxisTitle: data.YAxisTitle,\r\n                    tooltipSuffix: \"%\",\r\n                    tooltipPrefix: \"\",\r\n                    xAxisLabelFormat: smallPeriod ? \"{value: %b %e %Y}\" : \"{value: %b-%Y}\",\r\n                    tooltipFormatter: \"price\"\r\n                }\r\n                break;\r\n            case \"growth-10k\":\r\n                ChartData = {\r\n                    chartTitle: false, //data.Name + \" Premium or Discount (bps)\",\r\n                    dataSet: dataSet,\r\n                    seriesName: data.Ticker,\r\n                    color: data.Color || \"#17468f\",\r\n                    xAxisTitle: data.XAxisTitle,\r\n                    xAxisLabelsFormatter: data.XAxisLabelsFormatter,\r\n                    yAxisTitle: data.YAxisTitle,\r\n                    yAxisLabelsFormatter: data.YAxisLabelsFormatter,\r\n                    tooltipSuffix: \"\",\r\n                    tooltipPrefix: data.TooltipPrefix ?? window.ve10kChartOverrides?.CurrencySymbol ?? \"$\",\r\n                    xAxisLabelFormat: smallPeriod ? \"{value: %b %e %Y}\" : \"{value: %b-%Y}\",\r\n                    tooltipFormatter: data.TooltipFormatter ? data.TooltipFormatter : \"price\",\r\n                    tooltipFormatterMethod: data.TooltipFormatterMethod,\r\n                    responseData: data.responseData,\r\n                    floatingLegend: true,\r\n                    chartHeight: 450,\r\n                }\r\n                break;\r\n            case \"price\":\r\n            case \"PriceWithDecimal\":\r\n                ChartData = {\r\n                    chartTitle: false, //data.Name + \" Premium or Discount (bps)\",\r\n                    dataSet: dataSet,\r\n                    seriesName: data.Ticker,\r\n                    color: data.Color || \"#17468f\",\r\n                    xAxisTitle: data.XAxisTitle,\r\n                    yAxisTitle: data.YAxisTitle,\r\n                    tooltipSuffix: \"\",\r\n                    tooltipPrefix: \"$\",\r\n                    xAxisLabelFormat: smallPeriod ? \"{value: %b %e %Y}\" : \"{value: %b-%Y}\",\r\n                    tooltipFormatter: \"nav\"\r\n                }\r\n                break;\r\n            default:\r\n                return console.error(\"Unidentified chart type: \" + data.ChartType);\r\n        }\r\n\r\n        feCharts.currentChart = ChartData;\r\n        return await feCharts.rnChart($(renderSlr)[0]);\r\n\r\n    },\r\n\r\n    activateTabListeners: function() {\r\n        $('ul.chart-tabs').each(function(i, e) {\r\n            var chartType = $(e).data('chart-type');\r\n            var ticker = $(e).data('ticker');\r\n\r\n            switch (chartType) {\r\n            case \"growth-10k\":\r\n                    //price chart is triggered by listening for a datepicker change. see growth-10k.js\r\n                    break;\r\n            case \"premium-discount\":\r\n                var tabslr = \"#tabs-for-\" + ticker + \" .premium-discount-quarter\";\r\n                    $(tabslr).click(function () {\r\n                        feutils.spinner.show();\r\n                        $(this).parent().parent().find('a.nav-link').removeClass('active');\r\n                        $(this).addClass('active');\r\n                    var quarter = $(this).data(\"quarter\");\r\n                    var container = \"#the-prem-tab-\" + ticker;\r\n                    feCharts.loadData(container, ticker, chartType, quarter, false, false);\r\n                    $('#chart-title-' + ticker + ' > #current-quarter').text(quarter);\r\n                });\r\n                break;\r\n                case \"price\":\r\n                    //price chart is triggered by listening for a datepicker change. see scripts.js\r\n                break;\r\n            default:\r\n                return;\r\n            }\r\n        });\r\n\r\n        $('.expandable-content-pane').on('shown.bs.collapse',\r\n            function() {\r\n                var activePriceElem = $(this).find('a.nav-link.price-period.active');\r\n                $(this).find('a.nav-link.premium-discount-quarter').first().click();\r\n                $(this).find('.datepicker-btn').trigger('apply.daterangepicker');\r\n                //the first time make the \"since inception\" active again, regardless of daterangepicker removing it...\r\n                if (activePriceElem.length === 1) {\r\n                    window.setTimeout(function() {\r\n                        activePriceElem.addClass(\"active\");\r\n                    }, 20)\r\n                }\r\n            }).on('hidden.bs.collapse', function() {\r\n            //delete the chart\r\n            $(this).find('.tab-pane.active').first().empty();\r\n        });\r\n    },\r\n\r\n    //precision rounding\r\n    mathRound: function(num) {\r\n        var m = Number((Math.abs(num) * 100).toPrecision(15));\r\n        return Math.round(m) / 100 * Math.sign(num);\r\n    },\r\n\r\n\r\n    rnChart: async function (containerElm) {\r\n        //Enable standard markers for line charts, instead of the default symbols.\r\n        Highcharts.seriesTypes.line.prototype.drawLegendSymbol = Highcharts.seriesTypes.column.prototype.drawLegendSymbol;\r\n\r\n        var currentChart = feCharts.currentChart;\r\n        var seriesSet = [];\r\n        //first and default series\r\n        seriesSet.push({\r\n            name: currentChart.seriesName,\r\n            data: currentChart.dataSet,\r\n            color: currentChart.color\r\n        })\r\n\r\n        //growth of 10k has an additional series. Here we use a custom parsing algorithem to parse and add the data.\r\n        if (feCharts.currentChart.responseData && feCharts.currentChart.responseData.length) {\r\n            seriesSet = [];\r\n            feCharts.currentChart.responseData.forEach((value, key) => {\r\n                series = { data: [] };\r\n                $.each(value, function (key, val) {\r\n                    switch (key) {\r\n                        case \"name\":\r\n                            series.name = val;\r\n                            break;\r\n                        case \"color\":\r\n                            series.color = val;\r\n                            break;\r\n                        case \"showInLegend\":\r\n                            series.showInLegend = val;\r\n                            break;\r\n                        case \"marker\":\r\n                            series.marker = {};\r\n                            series.marker.enabled = val.enabled;\r\n                            series.marker.symbol = val.symbol;\r\n                            break;\r\n                        default:\r\n                            $.each(val, function (key, val) {\r\n                                var d = val.split(\",\");\r\n                                var x = Date.UTC(d[0], d[1], d[2]);\r\n                                if (d[3] === 'null') {\r\n                                    series.data.push([x, null]);\r\n                                }\r\n                                else {\r\n                                    series.data.push([x, parseFloat(d[3])]);\r\n                                }\r\n                            });\r\n                            break;\r\n                    }\r\n                });\r\n\r\n                var getDivisor = function (total) {\r\n                    return Math.min(Math.round(total / 400), 4) || 1;\r\n                }\r\n\r\n                //Manually sample out the data to target about 300-500 data points.\r\n                //However the divisor is capped at 4 as we do not want to sample less than 1/4\r\n                var lastitem = series.data[series.data.length - 1];\r\n                var divisor = getDivisor(series.data.length);\r\n                series.data = series.data.filter(function (e, i) { return (i % divisor) === 0 })\r\n                series.data.push({\r\n                    x: lastitem[0],\r\n                    y: lastitem[1],\r\n                    labelrank: 1000\r\n                });\r\n\r\n                seriesSet.push(series);\r\n            });\r\n            const customLineChartColours = feutils.veColors //window.ve10kChartOverrides?.IsEuFund ? feutils.veColors : [\"#17468F\", \"#108A12\"]\r\n            seriesSet.forEach((e, i) => {\r\n                seriesSet[i].color = customLineChartColours[i];\r\n            });\r\n        }\r\n        //console.log(\"Test item\", JSON.parse(ve10kChartOverrides.FullMonths))\r\n        await getHighchartsBundle()\r\n\r\n        if (window.ve10kChartOverrides?.IsEuFund) {\r\n            Highcharts.setOptions({\r\n                lang: {\r\n                    decimalPoint: window.ve10kChartOverrides?.NumberDecimalSeparator,\r\n                    thousandsSep: window.ve10kChartOverrides?.NumberGroupSeparator,\r\n                    months: JSON.parse(window.ve10kChartOverrides?.FullMonths),\r\n                    shortMonths: JSON.parse(window.ve10kChartOverrides?.ShortMonths),\r\n                    weekdays: JSON.parse(window.ve10kChartOverrides?.WeekDays),\r\n                    shortWeekdays: JSON.parse(window.ve10kChartOverrides?.ShortWeekdays),\r\n                }\r\n            });\r\n        }\r\n        return new Highcharts.Chart({\r\n            chart: {\r\n                renderTo: containerElm,\r\n                type: 'line',\r\n                height: currentChart.chartHeight ?? 350,\r\n                backgroundColor: \"rgba(0, 0, 0, 0)\"\r\n            },\r\n            colors: [currentChart.color],\r\n            title: {\r\n                text: currentChart.chartTitle ? currentChart.chartTitle : undefined\r\n            },\r\n            xAxis: {\r\n                lineColor: '#323232',\r\n                labels: feCharts.getXAxisLabels(currentChart),\r\n                title: {\r\n                    text: currentChart.xAxisTitle,\r\n                    style: {\r\n                        color: '#323232'\r\n                    }\r\n                }\r\n            },\r\n            yAxis: {\r\n                title: {\r\n                    text: currentChart.yAxisTitle,\r\n                    style: {\r\n                        color: '#323232'\r\n                    }\r\n                },\r\n                accessibility: {\r\n                    description: 'trends in premiums and discounts for ' +\r\n                        $('.hidden_data_feilds').find('.hdnNameClass').val() +\r\n                        '. A negative number indicates that the funds shares sold at a discount to NAV; a positive number indicates the shares sold at a premium'\r\n                },\r\n                lineColor: '#323232',\r\n                lineWidth: 1,\r\n                labels: feCharts.getYAxisLabels(currentChart),\r\n                maxPadding:0.2\r\n            },\r\n            tooltip: {\r\n                formatter: currentChart.tooltipFormatterMethod ? currentChart.tooltipFormatterMethod : function () {\r\n                    var y = currentChart.tooltipPrefix + feCharts.mathRound(this.y).toFixed(2) + currentChart.tooltipSuffix;\r\n                    switch (currentChart.tooltipFormatter) {\r\n                        case \"nav\":\r\n                            return '<strong>' +\r\n                                this.series.name +\r\n                                '</strong><br/>' +\r\n                                Highcharts.dateFormat('%a, %b %e %Y', this.x) +\r\n                                ' : ' + y;\r\n                        case \"euTooltip\":\r\n                            y = currentChart.tooltipPrefix + Highcharts.numberFormat(this.y, 0, ',') + currentChart.tooltipSuffix;\r\n                            return '<strong>' +\r\n                                this.series.name +\r\n                                '</strong><br/>' +\r\n                                Highcharts.dateFormat('%a, %e %b %Y', this.x) +\r\n                                ' : ' + y;\r\n                        case \"price\":\r\n                        default:\r\n                            return '' +\r\n                                this.series.name +\r\n                                ' : ' +\r\n                                Highcharts.dateFormat('%b %e %Y', this.x) +\r\n                                '<br />' +\r\n                                y;\r\n                    }\r\n\r\n                }\r\n            },\r\n            plotOptions: {\r\n                bar: {\r\n                    dataLabels: {\r\n                        enabled: false\r\n                    }\r\n                },\r\n                series: {\r\n                    marker: false\r\n                }\r\n            },\r\n            legend: {\r\n                layout: 'vertical',\r\n                align: 'right',\r\n                verticalAlign: 'top',\r\n                x: -5,\r\n                y: 20,\r\n                floating: currentChart.floatingLegend ?? false,\r\n                borderWidth: 1,\r\n                backgroundColor: '#FFFFFF',\r\n                shadow: true\r\n            },\r\n            credits: {\r\n                enabled: false\r\n            },\r\n            exporting: false,\r\n            series: seriesSet,\r\n            responsive: {\r\n                rules: [{\r\n                    condition: {\r\n                        maxWidth: 500\r\n                    },\r\n                    chartOptions: {\r\n                        legend: {\r\n                            y: 0,\r\n                            width: '78%',\r\n                        }\r\n                    }\r\n                }]\r\n            }\r\n\r\n        });\r\n    },\r\n\r\n    getXAxisLabels: function (currentChart){\r\n       var xAxisLabelsOptions = {\r\n            type: 'datetime',\r\n            enabled: true,\r\n            style: {\r\n            fontSize: '11px',\r\n                color: '#323232'\r\n            },\r\n            gridLineWidth: 0\r\n        };\r\n\r\n        //if (currentChart.xAxisLabelsFormatter) {\r\n        //    xAxisLabelsOptions.formatter = currentChart.xAxisLabelsFormatter;\r\n        //} else {\r\n        //    xAxisLabelsOptions.format = currentChart.xAxisLabelFormat;\r\n        //}\r\n       xAxisLabelsOptions.format = currentChart.xAxisLabelFormat;\r\n       return xAxisLabelsOptions;\r\n    },\r\n\r\n    getYAxisLabels: function (currentChart){\r\n        var yAxisLabelsOptions = {\r\n            overflow: 'justify',\r\n            style: {\r\n                color: '#323232'\r\n            }\r\n        };\r\n\r\n        if(currentChart.yAxisLabelsFormatter){\r\n            yAxisLabelsOptions.formatter = currentChart.yAxisLabelsFormatter;\r\n        }else{\r\n            yAxisLabelsOptions.format = currentChart.tooltipPrefix + '{value}';\r\n        }\r\n\r\n        return yAxisLabelsOptions;\r\n    },\r\n\r\n    getPricePeriods: function (inceptionDate, chartSettings) {\r\n        var today = new Date();\r\n        if (typeof inceptionDate != \"object\" || +inceptionDate > +today){ console.error(\"Need a valid inception date\"); return [];}\r\n        //var diff = today - inceptionDate;\r\n        var periods = [];\r\n        //var SinceInceptionText = ve10kChartOverrides?.SinceInceptionText ?? \"Since Inception\";\r\n\r\n        var threeMonths = new Date(new Date().setMonth(new Date().getMonth() - 3));\r\n        var sixMonths = new Date(new Date().setMonth(new Date().getMonth() - 6));\r\n        var oneYear = new Date(new Date().setFullYear(new Date().getFullYear() - 1));\r\n        var threeYear = new Date(new Date().setFullYear(new Date().getFullYear() - 3));\r\n        var fiveYear = new Date(new Date().setFullYear(new Date().getFullYear() - 5));\r\n        var tenYear = new Date(new Date().setFullYear(new Date().getFullYear() - 10));\r\n\r\n        switch(true) {\r\n            case (+inceptionDate < +tenYear):\r\n                if(!chartSettings.isSpa || chartSettings.isTenYearsLinkVisible) {\r\n                    periods.push({\r\n                        id: \"tenYear\",\r\n                        name: window.ve10kChartOverrides?.TenYearText ?? \"10 Years\",\r\n                        startDate: tenYear\r\n                    });\r\n                }\r\n            case (+inceptionDate < +fiveYear):\r\n                if(!chartSettings.isSpa || chartSettings.isFiveYearsLinkVisible) {\r\n                    periods.push({\r\n                        id: \"fiveYear\",\r\n                        name: window.ve10kChartOverrides?.FiveYearText ?? \"5 Years\",\r\n                        startDate: fiveYear\r\n                    });\r\n                }\r\n            case (+inceptionDate < +threeYear):\r\n                if(!chartSettings.isSpa || chartSettings.isThreeYearsLinkVisible) {\r\n                    periods.push({\r\n                        id: \"threeYear\",\r\n                        name: window.ve10kChartOverrides?.ThreeYearText ?? \"3 Years\",\r\n                        startDate: threeYear\r\n                    });\r\n                }\r\n            case (+inceptionDate < +oneYear):\r\n                if(!chartSettings.isSpa || chartSettings.isOneYearLinkVisible) {\r\n                    periods.push({\r\n                        id: \"oneYear\",\r\n                        name: window.ve10kChartOverrides?.OneYearText ?? \"1 Year\",\r\n                        startDate: oneYear\r\n                    });\r\n                }\r\n            case (+inceptionDate < +sixMonths):\r\n                if(!chartSettings.isSpa || chartSettings.isSixMonthLinkVisible) {\r\n                    periods.push({\r\n                        id: \"sixMonths\",\r\n                        name: window.ve10kChartOverrides?.SixMonthText ?? \"6 Months\",\r\n                        startDate: sixMonths\r\n                    });\r\n                }\r\n            case (+inceptionDate < +threeMonths):\r\n                if(!chartSettings.isSpa || chartSettings.isThreeMonthLinkVisible) {\r\n                    periods.push({\r\n                        id: \"threeMonths\",\r\n                        name: window.ve10kChartOverrides?.ThreeMonthText ?? \"3 Months\",\r\n                        startDate: threeMonths\r\n                    });\r\n                }\r\n        }\r\n\r\n        periods.reverse();\r\n\r\n        if(!chartSettings.isSpa || chartSettings.isInceptionLinkVisible) {\r\n            periods.push({\r\n                id: \"sinceInception\",\r\n                name: window.ve10kChartOverrides?.IsEuFund && window.ve10kChartOverrides?.SinceInceptionText ? window.ve10kChartOverrides?.SinceInceptionText : \"Since Inception \" + inceptionDate.toLocaleDateString(\"en-US\", {\r\n                    month: \"2-digit\",\r\n                    day: \"2-digit\",\r\n                    year: \"numeric\"\r\n                }),\r\n                startDate: inceptionDate\r\n            });\r\n        }\r\n\r\n        return periods;\r\n\r\n    }\r\n\r\n\r\n}","const getHighchartsBundle = async () => {\r\n  //Dynamically inject highcharts\r\n  if (typeof window.Highcharts != \"object\") {\r\n    console.log(\"Highcharts not loaded, loading now.\");\r\n    window.Highcharts = await import(\"highcharts\");\r\n  }\r\n};\r\n\r\nexport default getHighchartsBundle;\r\n"],"names":["default","getHighchartsBundle","require","window","feCharts","loadedCharts","currentChart","chartTitle","dataSet","seriesName","color","xAxisTitle","yAxisTitle","tooltipSuffix","rnChartArea","chartType","row","tickerGroup","displayTicker","ExpandableContent","Ticker","tabIDprefix","downloadLink","tabs","Quarters","forEach","e","i","Value","Name","datePicker","title","toLowerCase","DownloadUrl","inceptionDate","Date","InceptionDate","periods","getPricePeriods","activePeriodId","length","id","isActive","startDate","name","changeDateText","ve10kChartOverrides","ChangeDateText","dateFormatString","IsEuFund","console","error","chartHeader","tabContent","loadData","renderContainer","ticker","quarter","endDate","blockID","isEuTicker","tooltipPrefix","chartValueText","noDataText","specialNoDataText","mkDates","mkQuarter","g10koptions","ve10kcharts","find","x","blockId","ajaxOptions","data","$","ajax","done","async","response","push","processData","ChartType","ChartData","XAxisTitle","xAxis","text","XAxisLabelsFormatter","labels","formatter","YAxisTitle","YAxisLabelsFormatter","yAxis","TooltipPrefix","TooltipFormatterMethod","TooltipFormatter","responseData","NoDataText","SpecialNoDataText","payload","post","Result","feutils","spinner","hide","fail","ajaxFail","log","renderSlr","noDataMessage","html","s","split","date","UTC","val","Number","isNaN","dateSpan","smallPeriod","Color","xAxisLabelFormat","tooltipFormatter","xAxisLabelsFormatter","yAxisLabelsFormatter","CurrencySymbol","tooltipFormatterMethod","floatingLegend","chartHeight","rnChart","activateTabListeners","each","click","show","this","parent","removeClass","addClass","container","on","activePriceElem","first","trigger","setTimeout","empty","mathRound","num","m","Math","abs","toPrecision","round","sign","containerElm","Highcharts","seriesTypes","line","prototype","drawLegendSymbol","column","seriesSet","value","key","series","showInLegend","marker","enabled","symbol","d","parseFloat","total","lastitem","divisor","min","filter","y","labelrank","customLineChartColours","veColors","setOptions","lang","decimalPoint","NumberDecimalSeparator","thousandsSep","NumberGroupSeparator","months","JSON","parse","FullMonths","shortMonths","ShortMonths","weekdays","WeekDays","shortWeekdays","ShortWeekdays","Chart","chart","renderTo","type","height","backgroundColor","colors","undefined","lineColor","getXAxisLabels","style","accessibility","description","lineWidth","getYAxisLabels","maxPadding","tooltip","toFixed","dateFormat","numberFormat","plotOptions","bar","dataLabels","legend","layout","align","verticalAlign","floating","borderWidth","shadow","credits","exporting","responsive","rules","condition","maxWidth","chartOptions","width","xAxisLabelsOptions","fontSize","gridLineWidth","format","yAxisLabelsOptions","overflow","chartSettings","today","threeMonths","setMonth","getMonth","sixMonths","oneYear","setFullYear","getFullYear","threeYear","fiveYear","tenYear","isSpa","isTenYearsLinkVisible","TenYearText","isFiveYearsLinkVisible","FiveYearText","isThreeYearsLinkVisible","ThreeYearText","isOneYearLinkVisible","OneYearText","isSixMonthLinkVisible","SixMonthText","isThreeMonthLinkVisible","ThreeMonthText","reverse","isInceptionLinkVisible","SinceInceptionText","toLocaleDateString","month","day","year"],"sourceRoot":""}