diff --git a/src/routes/stock-screener/[strategyId]/+page.svelte b/src/routes/stock-screener/[strategyId]/+page.svelte index 7443a79d..80366ef8 100644 --- a/src/routes/stock-screener/[strategyId]/+page.svelte +++ b/src/routes/stock-screener/[strategyId]/+page.svelte @@ -817,7 +817,58 @@ function filterStockScreenerData() { }); } +let order = 'highToLow'; +let sortBy = 'change'; // Default sorting by change percentage +function changeOrder(state:string) { + if (state === 'highToLow') + { + order = 'lowToHigh'; + } + else { + order = 'highToLow'; + } + } + +const sortByHighestChange = (tickerList) => { + return tickerList?.sort(function(a, b) { + if(order === 'highToLow') + { + return b?.changesPercentage - a?.changesPercentage; + } + else { + return a?.changesPercentage - b?.changesPercentage; + } + + }); +} + +const sortByMarketCap = (tickerList) => { + return tickerList?.sort(function(a, b) { + if(order === 'highToLow') + { + return b?.marketCap - a?.marketCap; + } + else { + return a?.marketCap - b?.marketCap; + } + }); +} + +$: { + if(order) + { + if(sortBy === 'change') + { + displayResults = sortByHighestChange(filteredData)?.slice(0,50); + } + else if(sortBy === 'marketCap') + { + displayResults = sortByMarketCap(filteredData)?.slice(0,50); + } + + } +} @@ -2189,21 +2240,27 @@ $: charNumber = $screenWidth < 640 ? 20 : 40; {#if displayResults?.length !== 0 && ruleOfList?.length !== 0} -
| Symbol | -Market Cap | -Change | +{ sortBy = 'marketCap'; changeOrder(order); }} class="whitespace-nowrap cursor-pointer text-white font-semibold text-sm text-center"> + Market Cap + + | +{ sortBy = 'change'; changeOrder(order); }} class="whitespace-nowrap cursor-pointer text-white font-semibold text-sm text-center"> + % Change + + | Price |
|---|---|---|---|---|---|
| + |
{item?.symbol}
{item?.name?.length > charNumber ? item?.name?.slice(0,charNumber) + "..." : item?.name}
@@ -2223,7 +2280,7 @@ $: charNumber = $screenWidth < 640 ? 20 : 40;
{/if}
|
- + | {#if item?.changesPercentage >=0} +{item?.changesPercentage >= 1000 ? abbreviateNumber(item?.changesPercentage) : item?.changesPercentage?.toFixed(2)}% {:else} |