From 9b1a2ed840345fec0e208490e4240799cc63cd06 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Thu, 22 Aug 2024 18:05:15 +0200 Subject: [PATCH] bugfixing component --- src/lib/components/AnalystEstimate.svelte | 30 +++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/lib/components/AnalystEstimate.svelte b/src/lib/components/AnalystEstimate.svelte index 794be7ae..43221519 100644 --- a/src/lib/components/AnalystEstimate.svelte +++ b/src/lib/components/AnalystEstimate.svelte @@ -87,27 +87,29 @@ function getPlotOptions() { let valueList = []; let estimatedValueList = []; + let filteredData = analystEstimateList?.filter(item => item.date >= 2015) ?? []; + // Iterate over the data and extract required information if( displayData === 'Revenue') { - analystEstimateList?.slice(-10)?.forEach(item => { + filteredData?.slice(-20)?.forEach(item => { dates.push(item?.date); valueList.push(item?.revenue); // Handle null values by using 0 or any placeholder value estimatedValueList.push(item?.estimatedRevenueAvg); }); } else if ( displayData === 'Net Income') { - analystEstimateList?.slice(-10)?.forEach(item => { + filteredData?.slice(-20)?.forEach(item => { dates.push(item?.date); valueList.push(item?.netIncome); // Handle null values by using 0 or any placeholder value estimatedValueList.push(item?.estimatedNetIncomeAvg); }); } else if ( displayData === 'EBITDA') { - analystEstimateList?.slice(-10)?.forEach(item => { + filteredData?.slice(-20)?.forEach(item => { dates.push(item?.date); valueList.push(item?.ebitda); // Handle null values by using 0 or any placeholder value estimatedValueList.push(item?.estimatedEbitdaAvg); }); } else if ( displayData === 'EPS') { - analystEstimateList?.slice(-10)?.forEach(item => { + filteredData?.slice(-20)?.forEach(item => { dates.push(item?.date); valueList.push(item?.eps); // Handle null values by using 0 or any placeholder value estimatedValueList.push(item?.estimatedEpsAvg); @@ -190,12 +192,14 @@ function prepareData() { tableDataActual = []; tableDataForecast = []; - xData = analystEstimateList?.slice(-10)?.map(({ date }) => Number(String(date)?.slice(-2))); + let filteredData = analystEstimateList?.filter(item => item.date >= 2015) ?? []; + + xData = filteredData?.map(({ date }) => Number(String(date)?.slice(-2))); if(displayData === 'Revenue') { - analystEstimateList?.slice(-10)?.forEach(item => { + filteredData?.forEach(item => { tableDataActual?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.revenue)}); tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.estimatedRevenueAvg)}); @@ -206,7 +210,7 @@ function prepareData() { else if(displayData === 'Net Income') { - analystEstimateList?.slice(-10)?.forEach(item => { + filteredData?.forEach(item => { tableDataActual?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.netIncome )}); tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.estimatedNetIncomeAvg )}); @@ -215,7 +219,7 @@ function prepareData() { } else if(displayData === 'EPS') { - analystEstimateList?.slice(-10)?.forEach(item => { + filteredData?.forEach(item => { tableDataActual?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': item?.eps ?? null}); tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': item?.estimatedEpsAvg}); @@ -225,7 +229,7 @@ function prepareData() { else if(displayData === 'EBITDA') { - analystEstimateList?.slice(-10)?.forEach(item => { + filteredData?.forEach(item => { tableDataActual?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.ebitda)}); tableDataForecast?.push({ 'FY': Number(String(item?.date)?.slice(-2)), 'val': (item?.estimatedEbitdaAvg)}); @@ -345,7 +349,7 @@ $: { Year - {#each ($screenWidth >= 640 ? xData?.slice(-8) : xData) as item} + {#each xData as item} {'FY'+item} {/each} @@ -357,7 +361,7 @@ $: { Forecast - {#each ($screenWidth >= 640 ? tableDataForecast?.slice(-8) : tableDataForecast) as item} + {#each tableDataForecast as item} {(item?.val === '0.00' || item?.val === null) ? '-' : abbreviateNumber(item?.val)} @@ -369,7 +373,7 @@ $: { Actual - {#each ($screenWidth >= 640 ? tableDataActual?.slice(-8) : tableDataActual) as item} + {#each tableDataActual as item} {(item?.val === '0.00' || item?.val === null) ? '-' : abbreviateNumber(item?.val)} @@ -381,7 +385,7 @@ $: { % Change - {#each ($screenWidth >= 640 ? tableDataActual?.slice(-8) : tableDataActual) as item, index} + {#each tableDataActual as item, index} {#if index+1-tableDataActual?.length === 0} -