While using the grades widget, there was no way to edit or delete any of the items. This only allowed for very limited functionality.
Solution
I removed the Floating Action Button in favor of dispersed "More" action buttons (the three dots icon). This way, whenever you click on a button, it's clear what item it's affecting. You can now add, edit, and delete all of the semesters, courses, assignment types, and assignments. Additionally, I also added a pseudo cascade delete system on the server side. This way, if a user deletes a semester from the database, it deletes all associated courses, assignment types of those courses, and assignments of those assignment types.
Testing
I tested this by creating new items of all types and then editing and deleting them. I then refreshed the page to show that the database was updated properly. The items were also updated in real time on the frontend without page refresh.
Problem
While using the grades widget, there was no way to edit or delete any of the items. This only allowed for very limited functionality.
Solution
I removed the Floating Action Button in favor of dispersed "More" action buttons (the three dots icon). This way, whenever you click on a button, it's clear what item it's affecting. You can now add, edit, and delete all of the semesters, courses, assignment types, and assignments. Additionally, I also added a pseudo cascade delete system on the server side. This way, if a user deletes a semester from the database, it deletes all associated courses, assignment types of those courses, and assignments of those assignment types.
Testing
I tested this by creating new items of all types and then editing and deleting them. I then refreshed the page to show that the database was updated properly. The items were also updated in real time on the frontend without page refresh.
Closes #44