Skip to content

Commit 5945799

Browse files
authored
feat(search): add grading basis filter to module list (#3666)
* Add grading basis to scraper ModuleInformation * Add grading basis filter to ModuleFinderSidebar * Add grading basis to ModuleInformation in frontend for consistency * Add grading basis to module info collation * Reorder filters
1 parent 7494d84 commit 5945799

File tree

4 files changed

+15
-0
lines changed

4 files changed

+15
-0
lines changed

scrapers/nus-v2/src/tasks/CollateModules.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ const getModuleInfo = ({
153153
corequisite,
154154
semesterData,
155155
attributes,
156+
gradingBasisDescription,
156157
}: ModuleWithoutTree): ModuleInformation => ({
157158
moduleCode,
158159
title,
@@ -165,6 +166,7 @@ const getModuleInfo = ({
165166
preclusion,
166167
corequisite,
167168
attributes,
169+
gradingBasisDescription,
168170
semesterData: semesterData.map(({ semester, examDate, examDuration, covidZones }) => ({
169171
semester,
170172
examDate,

scrapers/nus-v2/src/types/modules.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ export type ModuleInformation = Readonly<{
166166
faculty: Faculty;
167167
workload?: Workload;
168168
attributes?: NUSModuleAttributes;
169+
gradingBasisDescription?: string;
169170

170171
// Requsites
171172
prerequisite?: string;

website/src/types/modules.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ export type ModuleInformation = Readonly<{
170170
workload?: Workload;
171171
aliases?: ModuleCode[];
172172
attributes?: NUSModuleAttributes;
173+
gradingBasisDescription?: string;
173174

174175
// Requsites
175176
prerequisite?: string;

website/src/views/modules/ModuleFinderSidebar.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,17 @@ const ModuleFinderSidebar: React.FC = () => {
191191
translations={{ placeholder: 'Add departments filter...' }}
192192
/>
193193

194+
<RefinementListFilter
195+
id="grading"
196+
title="Grading Basis"
197+
field="gradingBasisDescription.keyword"
198+
operator="OR"
199+
orderKey="_term"
200+
orderDirection="asc"
201+
containerComponent={FilterContainer}
202+
itemComponent={CheckboxItem}
203+
/>
204+
194205
<RefinementListFilter
195206
id="attrs"
196207
title="Others"

0 commit comments

Comments
 (0)