From 6b585057c96577a069187e76a1bf49c5fb2772d1 Mon Sep 17 00:00:00 2001 From: talizacks <55198700+talizacks@users.noreply.github.com> Date: Mon, 24 Jun 2024 15:34:27 -0500 Subject: [PATCH 1/5] added new util file for grad and promotion filter --- bun.lockb | Bin 339201 -> 339009 bytes src/lib/GradPromUtils.ts | 7 +++++++ 2 files changed, 7 insertions(+) create mode 100644 src/lib/GradPromUtils.ts diff --git a/bun.lockb b/bun.lockb index d2b09d5a00849d40a7dd6cc06d717bb97e03db35..e433c00a595f1024f8e7d3af0fd230e33910419d 100755 GIT binary patch delta 1472 zcmYk5OKi+h6vpq&ooRJcwPti$9rb82S{+8KMYUR@^@w&N(|9br)hnbG78WvTLaZbf zm=!A_-FarP@dzS9#KtRPVIdYab`~Ojr~M>O{@=`ZfA`#T?>+ySkx#M5A7bbGf;SsS zGG{V@GnwGsjNjZH{N0lu?e_i4Lf*N6b1sZ5{*8n9nFffka`MH{=L{-m>s$jIj|qdVg<|&n48PT7g}iT?Ns7C{2G|WO0gt< zf~_FB#OC88Fl%|YSOdOPd8@=4VHY@zb!at=$1OnT0=$1~Q4hq{G@+NsVyzaZ@TYW> zbz%!)IkEL(i(prf#Rk<&_X(?3M!n`xmsK`^aJ|%=TD{9wIyFHkdVd8T-2^1+DN-B`(KL7274&4vUNJ z7Fz+kti$XP>wrB)w%J~>PW&^mePSyaUuCVmE;k6YI$h{C#wHIaG1-eDUS$i{dVQ)m z@S*Uw&qqU%7>SjrDp>fs$+rgbiLBp}Kb`g2{O7Fi3fm3h`KAHi+>pRlqwDAewVor} z=MK7uer3n^I6qXlG~gf9lsp<52Z_SgVPEb`0^3_s>9*A3bm7=>f9OW!K)p5Dx$pA| Z-|9n8e55Kl4n`Z#-b#iFx02!h&|i)RbD97E delta 1664 zcmXYxTW^d}6o&WAp0+xQR;Su(9oo@$RFxi;s-9FErw+y;E;Nxi)S=pli(bgI7fuP` z0uu?YB)AiY3~q!VA`x*ziSP&9=noLj>bxuS=6m}+4?c_gz1_jv{i%oDesHbx&IO!vS!gD-4zgI9Aub@s!$rk{sfHe3*x|Kh$3JIh z_ChdAwdD=59OdP}#>Hl(CapxSwsP6}WUUZku`vF-*le-cu!m|lFZG2I$vJFU!*ftG zTP)o?rO(B0PbetAXW$Ym`_6i;A_u__-LW6>C@Ca#*q0 zda+vAA7s%1vj$h7Uwjh#T%F3R!}n!7?w{xqT#28hTj&<6hlOGG4SU2^;q#Q&E4CVT zQEa1F1ME5tR`TqF@pFyn3M|TV!1I1P(}X@Ei_JRRj6bXCwurUBl44uMT48sQ#WtAL zTZ7t_H>kWe*f_F?i>eQVU``&@D|k$!yIAA1yz hRoS<4?m;YFy)5*`ho@p0FkE+Gx+avKuE`n<{RaxlehvTt diff --git a/src/lib/GradPromUtils.ts b/src/lib/GradPromUtils.ts new file mode 100644 index 0000000..3810d76 --- /dev/null +++ b/src/lib/GradPromUtils.ts @@ -0,0 +1,7 @@ +import { DataSet1 } from "./types"; + + +function promotedFilter(data: DataSet1): DataSet1 { + + return +} \ No newline at end of file From 05cdbe908c12e21cd9993b287cf0f3f1475c6b6d Mon Sep 17 00:00:00 2001 From: talizacks <55198700+talizacks@users.noreply.github.com> Date: Tue, 25 Jun 2024 14:15:20 -0500 Subject: [PATCH 2/5] Filter Promoted and Graduated --- src/lib/GradPromUtils.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lib/GradPromUtils.ts b/src/lib/GradPromUtils.ts index 3810d76..55a8489 100644 --- a/src/lib/GradPromUtils.ts +++ b/src/lib/GradPromUtils.ts @@ -1,7 +1,11 @@ import { DataSet1 } from "./types"; -function promotedFilter(data: DataSet1): DataSet1 { - - return +export function filterPromGrad(data: DataSet1[], promOrGrad: "GRADUATED" | "PROMOTED" | "NOT_COMPLETED" | null): DataSet1[] { + if (promOrGrad !== null) { + return data.filter(item => item["CF (Workspace Progress Status)"] === promOrGrad); + } else { + // Return the original data if promOrGrad is null + return data; + } } \ No newline at end of file From 4b7129f2dabe870829791051fd534d1f749c6e07 Mon Sep 17 00:00:00 2001 From: talizacks <55198700+talizacks@users.noreply.github.com> Date: Tue, 25 Jun 2024 14:52:34 -0500 Subject: [PATCH 3/5] added Filter Promoted and Graduated objects to context file --- src/App.tsx | 10 +++++++++- src/Context.tsx | 6 ++++++ src/lib/GradPromUtils.ts | 4 ++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 4831e4a..8a5a94a 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -7,10 +7,11 @@ import DropZone from './components/DropZone'; import { Button } from './components/ui/button'; import { Context } from './Context'; import { processDataShopData } from './lib/dataProcessingUtils'; +import {filterPromGrad} from "@/lib/GradPromUtils"; function App() { - const { resetData, setGraphData, setLoading, data, setData, graphData, loading } = useContext(Context) + const { resetData, setGraphData, setLoading, setFilteredData, filteredData, data, setData, graphData, loading } = useContext(Context) const [showDropZone, setShowDropZone] = useState(true) const handleData = (data: GlobalDataType[]) => { @@ -22,6 +23,13 @@ function App() { setLoading(loading) } + const filterData = (filteredData: GlobalDataType[]) => { + const data: GlobalDataType[] = filterPromGrad(filteredData, "GRADUATED") + setFilteredData(data) + console.log(data) + } + + useEffect(() => { if (data) { const graphData: GraphData = processDataShopData(data) diff --git a/src/Context.tsx b/src/Context.tsx index 3e03b0f..2f8bc28 100644 --- a/src/Context.tsx +++ b/src/Context.tsx @@ -3,6 +3,8 @@ import { GlobalDataType, GraphData } from './lib/types'; interface ContextInterface { data: GlobalDataType[] | null; graphData: GraphData | null; + filteredData: GlobalDataType[] | null + setFilteredData: (filteredData: GlobalDataType[] | null) => void; loading: boolean; setLoading: (loading: boolean) => void; setData: (data: GlobalDataType[] | null) => void; @@ -13,6 +15,7 @@ interface ContextInterface { export const Context = createContext({} as ContextInterface); const initialState = { data: null, + filteredData: null, graphData: null, loading: false } @@ -22,6 +25,7 @@ interface ProviderProps { } export const Provider = ({ children }: ProviderProps) => { const [data, setData] = useState(initialState.data) + const [filteredData, setFilteredData] = useState(initialState.filteredData) const [graphData, setGraphData] = useState(initialState.graphData) const [loading, setLoading] = useState(initialState.loading) @@ -36,8 +40,10 @@ export const Provider = ({ children }: ProviderProps) => { item["CF (Workspace Progress Status)"] === promOrGrad); } else { From ac18cb67d2ab0be7959bc51f07b3d16a951e7039 Mon Sep 17 00:00:00 2001 From: talizacks <55198700+talizacks@users.noreply.github.com> Date: Wed, 26 Jun 2024 10:41:30 -0500 Subject: [PATCH 4/5] added Filter Promoted button to App.tsx --- src/App.tsx | 18 ++++++++++++++++-- src/lib/GradPromUtils.ts | 2 ++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 8a5a94a..ec7acea 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -24,7 +24,7 @@ function App() { } const filterData = (filteredData: GlobalDataType[]) => { - const data: GlobalDataType[] = filterPromGrad(filteredData, "GRADUATED") + const data: GlobalDataType[] = filterPromGrad(filteredData, "PROMOTED") setFilteredData(data) console.log(data) } @@ -36,6 +36,10 @@ function App() { setGraphData(graphData) } + // if (filteredData) { + // const graphData: GraphData = processDataShopData(filteredData) + // setGraphData(graphData) + // } }, [data]) return ( @@ -83,7 +87,17 @@ function App() { ) } - +
+ +
diff --git a/src/lib/GradPromUtils.ts b/src/lib/GradPromUtils.ts index 8b849c2..f947a3d 100644 --- a/src/lib/GradPromUtils.ts +++ b/src/lib/GradPromUtils.ts @@ -2,6 +2,8 @@ import {GlobalDataType} from "./types"; export function filterPromGrad(data: GlobalDataType[], promOrGrad: "GRADUATED" | "PROMOTED" | "NOT_COMPLETED" | null): GlobalDataType[] { + if (data == null) { + } if (promOrGrad !== null) { return data.filter(item => item["CF (Workspace Progress Status)"] === promOrGrad); } else { From 2f2178eea322a272ebcb9396f8221a1b01ffe7fa Mon Sep 17 00:00:00 2001 From: talizacks <55198700+talizacks@users.noreply.github.com> Date: Thu, 27 Jun 2024 10:44:28 -0500 Subject: [PATCH 5/5] added Filter Promoted button to App.tsx --- .gitignore | 1 + package.json | 3 ++- src/App.tsx | 30 ++++++++++++++++++------------ src/lib/GradPromUtils.ts | 1 + 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 8b28018..c25b28a 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,4 @@ public/sample_data .env src/lib/local_sample_data .vercel +bun.lockb \ No newline at end of file diff --git a/package.json b/package.json index ea5b795..04207cd 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "private": true, "version": "0.0.0", "type": "module", -"scripts": { + "scripts": { "dev": "vite", "build": "tsc && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", @@ -30,6 +30,7 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "d3": "^7.9.0", + "danfojs-node": "^1.1.2", "express": "^4.19.2", "html2canvas": "^1.4.1", "joi": "^17.13.1", diff --git a/src/App.tsx b/src/App.tsx index ec7acea..26fa595 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -29,18 +29,23 @@ function App() { console.log(data) } + // const handleFilteredData = (filteredData: GlobalDataType[]) => { + // setData(filteredData) + // setShowDropZone(false) + // const graphData: GraphData = processDataShopData(filteredData) + // setGraphData(graphData) + // } useEffect(() => { if (data) { const graphData: GraphData = processDataShopData(data) setGraphData(graphData) - } // if (filteredData) { // const graphData: GraphData = processDataShopData(filteredData) // setGraphData(graphData) // } - }, [data]) + }, [data]) //,filteredData return ( <> @@ -87,16 +92,17 @@ function App() { ) } -
- +
+
+ +
diff --git a/src/lib/GradPromUtils.ts b/src/lib/GradPromUtils.ts index f947a3d..2132835 100644 --- a/src/lib/GradPromUtils.ts +++ b/src/lib/GradPromUtils.ts @@ -2,6 +2,7 @@ import {GlobalDataType} from "./types"; export function filterPromGrad(data: GlobalDataType[], promOrGrad: "GRADUATED" | "PROMOTED" | "NOT_COMPLETED" | null): GlobalDataType[] { + // If no data has been imported into DropZone, do nothing if (data == null) { } if (promOrGrad !== null) {