From f8915cfa1f70d837fe89f0af61fb36ed9bcf52f8 Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Sun, 5 Jun 2022 21:06:09 -0500 Subject: WiP --- src/components/AssignLabs/AssignLabs.svelte | 232 ++++++++++++++++++++++++++++ src/components/AssignLabs/Lab.svelte | 8 + src/components/AssignLabs/PT.svelte | 9 ++ 3 files changed, 249 insertions(+) create mode 100644 src/components/AssignLabs/AssignLabs.svelte create mode 100644 src/components/AssignLabs/Lab.svelte create mode 100644 src/components/AssignLabs/PT.svelte (limited to 'src/components/AssignLabs') diff --git a/src/components/AssignLabs/AssignLabs.svelte b/src/components/AssignLabs/AssignLabs.svelte new file mode 100644 index 0000000..9331b81 --- /dev/null +++ b/src/components/AssignLabs/AssignLabs.svelte @@ -0,0 +1,232 @@ + + + + +
+ + +
+ +
+ Peer Teacher +
+
+ +
+ + diff --git a/src/components/AssignLabs/Lab.svelte b/src/components/AssignLabs/Lab.svelte new file mode 100644 index 0000000..94e1d69 --- /dev/null +++ b/src/components/AssignLabs/Lab.svelte @@ -0,0 +1,8 @@ + + +
+ {datum.course} +
\ No newline at end of file diff --git a/src/components/AssignLabs/PT.svelte b/src/components/AssignLabs/PT.svelte new file mode 100644 index 0000000..0976fe4 --- /dev/null +++ b/src/components/AssignLabs/PT.svelte @@ -0,0 +1,9 @@ + + +
+ {datum.firstname} +
-- cgit v1.2.3 From b5cd6414c2f23e51420f97f326324ce0c614041b Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Thu, 9 Jun 2022 16:05:03 -0500 Subject: PT ready, however theres a bug with modals. Info button brings up modal of first PT, ignoring completely the pt that it is currently on. May come from each created modal sharing the same PT to be honest (after unrolling the for loop). --- src/components/AssignLabs/PT.svelte | 49 ++++++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 4 deletions(-) (limited to 'src/components/AssignLabs') diff --git a/src/components/AssignLabs/PT.svelte b/src/components/AssignLabs/PT.svelte index 0976fe4..7db84f9 100644 --- a/src/components/AssignLabs/PT.svelte +++ b/src/components/AssignLabs/PT.svelte @@ -1,9 +1,50 @@ -
- {datum.firstname} + +
+ +
+ + {pt.name} + + + + + + + +
+ + +
Hours: {pt.lab_hours}
-- cgit v1.2.3 From 2b4098759b4b7b5ce446b89bd888b4f442e8149c Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Thu, 9 Jun 2022 16:07:15 -0500 Subject: Defined all 3 columns and temporarily automated store by populating them with a db from localstorage in order to test more efficiently. --- src/components/AssignLabs/AssignLabs.svelte | 50 +++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) (limited to 'src/components/AssignLabs') diff --git a/src/components/AssignLabs/AssignLabs.svelte b/src/components/AssignLabs/AssignLabs.svelte index 9331b81..3964d02 100644 --- a/src/components/AssignLabs/AssignLabs.svelte +++ b/src/components/AssignLabs/AssignLabs.svelte @@ -11,6 +11,12 @@ import { labStore, ptStore } from "../../stores"; import Lab from "./Lab.svelte"; import PT from "./PT.svelte"; + import { onMount } from "svelte"; + import { + parseDatabase, + parseDatabaseLocal, + parseLabSchedule, + } from "../../util/parser"; let selectedPeerTeacher: PeerTeacher | undefined; @@ -100,6 +106,14 @@ component: Lab, }, ]; + + // Load db from local storage so I don't have to keep uploading + onMount(() => { + const db = localStorage.getItem("db"); + if (db) { + parseDatabaseLocal(JSON.parse(db)); + } + }); +
+
Peer Teacher
+
+ {#each peerTeachers as pt} +
{ + selectedPeerTeacher = pt; + }} + > + +
+ {/each} +
+
+
+
Labs
+
+ {#each labs as lab} + + + + {/each} +
+
+
- Peer Teacher + {selectedPeerTeacher?.name ?? "PT's Labs"} +
+
+ {#each assignedLabs as lab} + + + + {/each}
-
-- cgit v1.2.3 From d1d67eaec257ae5cba6caea55552c6e09ee8062c Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Sun, 26 Jun 2022 16:08:29 -0500 Subject: Generate a unique ID for each modal element to fix all modals opening up first PT --- src/components/AssignLabs/PT.svelte | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'src/components/AssignLabs') diff --git a/src/components/AssignLabs/PT.svelte b/src/components/AssignLabs/PT.svelte index 297ee21..3ad50d1 100644 --- a/src/components/AssignLabs/PT.svelte +++ b/src/components/AssignLabs/PT.svelte @@ -2,11 +2,15 @@ import type PeerTeacher from "../../models/PeerTeacher"; import Icon from "../helpers/Icon.svelte"; export let pt: PeerTeacher; + + let modalID = () => { + return `my-modal-${pt.id}`; + }
@@ -15,19 +19,19 @@ -
-
- {#each unassignedLabs as lab} -
-

{lab.course}

-

{lab.section}

-
- {/each} +
+

Unassigned Labs

+
+ {#each unassignedLabs as lab} +
+

{lab.course}

+

{lab.section}

+
+ {/each} +
-- cgit v1.2.3 From 86c8db5547a3b56fcfd8eb83bd0d6e684985ecdd Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Sat, 16 Jul 2022 01:21:36 -0400 Subject: Animate unassigned labs, mostly cleanup unused code --- src/components/AssignLabs/AssignLabs.svelte | 34 ++++------------------------- 1 file changed, 4 insertions(+), 30 deletions(-) (limited to 'src/components/AssignLabs') diff --git a/src/components/AssignLabs/AssignLabs.svelte b/src/components/AssignLabs/AssignLabs.svelte index 3489b36..3a326ad 100644 --- a/src/components/AssignLabs/AssignLabs.svelte +++ b/src/components/AssignLabs/AssignLabs.svelte @@ -4,11 +4,7 @@ import Lab from "./LabBox.svelte"; import PT from "./PTBox.svelte"; import { onMount } from "svelte"; - import { - parseDatabase, - parseDatabaseLocal, - parseLabSchedule, - } from "../../util/parser"; + import { parseDatabaseLocal } from "../../util/parser"; let selectedPeerTeacher: PeerTeacher | undefined; @@ -47,32 +43,9 @@ labs = labs; } - function deletePT(id: number) { - if (selectedPeerTeacher?.id === id) { - selectedPeerTeacher = undefined; - } - - $ptStore.get(id)?.labs.forEach((lab_id) => { - const lab = $labStore?.get(lab_id); - if (lab !== undefined) lab.assigned = false; - }); - - ptStore.update((map) => { - map.delete(id); - return map; - }); - - // Self assignemnt to update `assignedLabs` and `compatibleLabs` - selectedPeerTeacher = selectedPeerTeacher; - } - function assignLab(id: number) { - // Mark lab as assigned const lab = $labStore.get(id); - if (lab === undefined) { - console.error("Error lab does not exist"); - return; - } + if (lab === undefined) return; lab.assigned = true; selectedPeerTeacher?.labs.add(id); updateReactiveDeclarations(); @@ -151,6 +124,7 @@ iconName="minus-circle" iconClick={() => { unassignLab(lab.id); + }} /> {/each} @@ -166,7 +140,7 @@ > {#each unassignedLabs as lab}

{lab.course}

{lab.section}

-- cgit v1.2.3