diff --git a/src/routes/stock-screener/+page.svelte b/src/routes/stock-screener/+page.svelte index a3874261..6cdd1cf3 100644 --- a/src/routes/stock-screener/+page.svelte +++ b/src/routes/stock-screener/+page.svelte @@ -1492,7 +1492,7 @@ }; const loadWorker = async () => { - if (displayTableTab === "performance") { + if (displayTableTab === "performance" || hoverStatus) { syncWorker.postMessage({ stockScreenerData, ruleOfList: [...ruleOfList, ...otherTabRules], @@ -1506,7 +1506,7 @@ }; const updateStockScreenerData = async () => { - if (displayTableTab === "performance") { + if (displayTableTab === "performance" || hoverStatus) { downloadWorker.postMessage({ ruleOfList: [...ruleOfList, ...otherTabRules], }); @@ -2087,10 +2087,12 @@ const handleKeyDown = (event) => { } let tabRuleList = []; + let hoverStatus = false; async function changeTab(state) { displayTableTab = state; if (displayTableTab === "performance") { + hoverStatus = false; otherTabRules = [ { name: "marketCap", value: "any" }, { name: "change1W", value: "any" }, @@ -2105,6 +2107,24 @@ const handleKeyDown = (event) => { await updateStockScreenerData(); } } + + async function handleMouseOver() { + if (displayTableTab !== "performance") { + hoverStatus = true; + otherTabRules = [ + { name: "marketCap", value: "any" }, + { name: "change1W", value: "any" }, + { name: "change1M", value: "any" }, + { name: "change3M", value: "any" }, + { name: "change1Y", value: "any" }, + ]; + tabRuleList = otherTabRules + ?.map((rule) => allRows.find((row) => row.rule === rule.name)) + ?.filter(Boolean); + + await updateStockScreenerData(); + } + } @@ -2846,6 +2866,7 @@ const handleKeyDown = (event) => {