Skip to content

Commit 7534ac9

Browse files
author
andxu282
committed
documentation
1 parent 3e46192 commit 7534ac9

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

src/components/ScheduleGenerate/RequirementCourses.vue

-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ import { emGreen } from '@/assets/constants/scss-variables';
7070
import DropDownArrow from '@/components/DropDownArrow.vue';
7171
import AllRequirementsDropdown from '@/components/ScheduleGenerate/AllRequirementsDropdown.vue';
7272
import Course from '@/components/Course/Course.vue';
73-
7473
import { ReqCourses } from '@/components/ScheduleGenerate/ScheduleGenerateSideBar.vue';
7574
7675
export default defineComponent({

src/components/ScheduleGenerate/ScheduleGenerateSideBar.vue

+15-5
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,13 @@
4747
<button
4848
class="add-requirement-button"
4949
@click="addRequirement"
50-
:disabled="Object.keys(requirements).length === numberOfRequirements"
50+
:disabled="requirements.length === numberOfRequirements"
5151
>
5252
+ Requirement
5353
</button>
5454
</div>
5555
</div>
56-
<!-- The Figma wrote the below as 'No Requirements added' but I believe that was a capitalization mistake. -->
57-
<p v-if="Object.keys(requirements).length === 0" class="no-requirements-added">
58-
No requirements added.
59-
</p>
56+
<p v-if="requirements.length === 0" class="no-requirements-added">No requirements added.</p>
6057
<div v-for="(req, index) in requirements" :key="req.reqId">
6158
<requirement-courses
6259
:available-requirements="availableRequirements"
@@ -88,6 +85,8 @@ export type ReqCourses = {
8885
8986
export default defineComponent({
9087
data(): {
88+
// requirements is the list of requirement groups on the sidebar
89+
// it includes the requirement id, name, and the courses associated with it
9190
requirements: ReqCourses[];
9291
isConfirmationOpen: boolean;
9392
confirmationText: string;
@@ -113,6 +112,9 @@ export default defineComponent({
113112
groupedRequirementFulfillmentReports(): readonly GroupedRequirementFulfillmentReport[] {
114113
return store.state.groupedRequirementFulfillmentReport;
115114
},
115+
// this function is turning the groupedRequirementFulfillmentReports and taking the reqs out of each group
116+
// and concatenating them into one giant record with reqId's as keys and reqName's as values
117+
// it represents the available requirements that haven't been assigned yet
116118
availableRequirements(): Record<string, string> {
117119
const courseRecord: Record<string, string> = this.groupedRequirementFulfillmentReports.reduce(
118120
(accumulator: Record<string, string>, groupedReq: GroupedRequirementFulfillmentReport) =>
@@ -124,6 +126,7 @@ export default defineComponent({
124126
);
125127
return courseRecord;
126128
},
129+
// total number of requirements, used to calculate when to gray out the +Requirement button
127130
numberOfRequirements(): number {
128131
let length = 0;
129132
this.groupedRequirementFulfillmentReports.forEach(
@@ -147,6 +150,7 @@ export default defineComponent({
147150
closeConfirmationModal() {
148151
this.isConfirmationOpen = false;
149152
},
153+
// add course to a requirement
150154
addCourse(course: CornellCourseRosterCourse, index: number) {
151155
this.requirements[index].courses.push(
152156
cornellCourseRosterCourseToFirebaseSemesterCourseWithCustomIDAndColor(
@@ -156,25 +160,31 @@ export default defineComponent({
156160
)
157161
);
158162
},
163+
// delete a course from a requirement
159164
deleteCourse(code: string, index: number) {
160165
this.requirements[index].courses = this.requirements[index].courses.filter(
161166
course => course.code !== code
162167
);
163168
},
169+
// add a new requirement group
164170
addRequirement() {
165171
this.requirements = [...this.requirements, { reqId: '', reqName: '', courses: [] }];
166172
},
173+
// get rid of an available requirement
167174
deleteAvailableRequirement(reqId: string) {
168175
delete this.availableRequirements[reqId];
169176
},
177+
// select a requirement on the dropdown
170178
selectRequirement(reqId: string, index: number) {
171179
const reqName = this.availableRequirements[reqId];
172180
this.requirements[index] = { reqId, reqName, courses: [] };
173181
},
182+
// add back an available requirement
174183
addAvailableRequirement(requirement: ReqCourses) {
175184
if (requirement.reqId !== '')
176185
this.availableRequirements[requirement.reqId] = requirement.reqName;
177186
},
187+
// delete a requirement group and add back to the available requirements
178188
deleteRequirement(index: number) {
179189
const requirement = this.requirements[index];
180190
// add back to the availableRequirements record

0 commit comments

Comments
 (0)