From 77f93f8e80ba9279916212c5bb8ca30d6fc6cee9 Mon Sep 17 00:00:00 2001 From: MuslemRahimi Date: Mon, 11 Nov 2024 19:23:15 +0100 Subject: [PATCH] update flow page --- src/lib/images/senator/Byron_Donalds.png | Bin 0 -> 11274 bytes src/lib/utils.ts | 1 + src/routes/politicians/flow-data/+page.svelte | 358 ++++++++---------- 3 files changed, 151 insertions(+), 208 deletions(-) create mode 100644 src/lib/images/senator/Byron_Donalds.png diff --git a/src/lib/images/senator/Byron_Donalds.png b/src/lib/images/senator/Byron_Donalds.png new file mode 100644 index 0000000000000000000000000000000000000000..d20ee2176dd9ebf85eb5a8f1a256391ff77ce8c1 GIT binary patch literal 11274 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 scrollThreshold; - if (isBottom && displayList?.length !== slicedRawData?.length) { + if (isBottom && displayList?.length !== rawData?.length) { const nextIndex = displayList?.length; - const filteredNewResults = slicedRawData?.slice(nextIndex, nextIndex + 9); + const filteredNewResults = rawData?.slice(nextIndex, nextIndex + 9); displayList = [...displayList, ...filteredNewResults]; } } onMount(async () => { - rawData?.forEach((item) => { - let representative = item?.representative || ""; - - representative = representative - ?.replace("Jr", "") - .replace(/Dr./g, "") - .replace(/Dr_/g, ""); - - const fullName = representative - ?.replace(/(\s(?:Dr\s)?\w(?:\.|(?=\s)))?\s/g, "_") - .trim(); - item.representative = fullName?.replace(/_/g, " "); - }); - - rawData = rawData?.map((item) => { - const party = getPartyForPoliticians(item?.representative); - return { - ...item, - party: party, - }; - }); - - slicedRawData = rawData?.slice(0, displayRows) ?? []; - displayList = slicedRawData?.slice(0, 20) ?? []; - isLoaded = true; - window.addEventListener("scroll", handleScroll); //window.addEventListener('keydown', handleKeyDown); @@ -135,7 +99,7 @@
- {#if isLoaded} -
-
-
-
-
-
+
+
+
+
+
+ -
- + + + + + + + + + + + + {#each displayList as item, index} - - - - - - - - - {#each displayList as item, index} - - - - + + + - + - - - {/each} - -
+ Person + + Company + + Date + + Amount + Type
- Person - - Company - - Date - - Amount - Type
- - - -
- +
+ - - {item?.assetDescription.length > - charNumber - ? formatString( - item?.assetDescription.slice( - 0, - charNumber, - ), - ) + "..." - : formatString(item?.assetDescription) - ?.replace("- Common Stock", "") - ?.replace( - "Common Stock", - "", - )} + -
- {new Date( - item?.disclosureDate, - )?.toLocaleString("en-US", { - month: "short", - day: "numeric", - year: "numeric", - daySuffix: "2-digit", - })} - +
+ -
- {item?.amount?.replace( - "$1,000,001 - $5,000,000", - "$1Mio - $5Mio", - )} - - {#if item?.type === "Bought"} - Bought - {:else if item?.type === "Sold"} - Sold - {/if} -
-
- + {item?.assetDescription.length > + charNumber + ? formatString( + item?.assetDescription.slice( + 0, + charNumber, + ), + ) + "..." + : formatString(item?.assetDescription) + ?.replace("- Common Stock", "") + ?.replace("Common Stock", "")} +
+ - + + {new Date( + item?.disclosureDate, + )?.toLocaleString("en-US", { + month: "short", + day: "numeric", + year: "numeric", + daySuffix: "2-digit", + })} + + + + {item?.amount?.replace( + "$1,000,001 - $5,000,000", + "$1Mio - $5Mio", + )} + + + {#if item?.type === "Bought"} + Bought + {:else if item?.type === "Sold"} + Sold + {/if} + + + {/each} + +
-
-
-
-
- {:else} -
-
- + + + +
+
- {/if} +