File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11<template >
22 <v-row justify =" center" align =" center" >
33 <v-col cols =" 12" sm =" 12" md =" 10" lg =" 8" >
4- <v-card class =" py-4 d-flex flex-center" >
5- <v-select />
6- <v-select />
7- <v-select />
8- <v-select />
9- <v-select />
4+ <v-card >
5+ <v-card-title > Filters </v-card-title >
6+ <v-card-actions >
7+ <v-container fluid >
8+ <v-row align =" center" >
9+ <v-col class =" d-flex" cols =" 12" sm =" 4" >
10+ <v-select
11+ v-model =" selectedDepartment"
12+ :items =" Object.keys(departments)"
13+ label =" Department"
14+ ></v-select >
15+ </v-col >
16+
17+ <v-col class =" d-flex" cols =" 12" sm =" 4" >
18+ <v-select
19+ v-model =" selectedMajor"
20+ :items =" departments[selectedDepartment]"
21+ item-text =" name"
22+ item-value =" abbrv"
23+ label =" Major"
24+ return-object
25+ :disabled =" !selectedDepartment"
26+ @input =" $emit('major:change', $event)"
27+ ></v-select >
28+ </v-col >
29+ <v-col class =" d-flex" cols =" 12" sm =" 4" >
30+ <v-select
31+ :items =" semsters"
32+ label =" Semsters"
33+ :disabled =" !selectedMajor"
34+ @input =" $emit('semsters:change', $event)"
35+ chips
36+ multiple
37+ ></v-select >
38+ </v-col >
39+ </v-row >
40+ </v-container >
41+ </v-card-actions >
1042 </v-card >
1143 </v-col >
1244 </v-row >
1345</template >
14-
15- <script lang="ts"></script >
46+ <script lang="ts">
47+ export default {
48+ props: {
49+ departments: { type: Object },
50+ },
51+ emits: [' major:change' , ' semsters:change' ],
52+ data() {
53+ return {
54+ selectedDepartment: null ,
55+ selectedMajor: null ,
56+ }
57+ },
58+ computed: {
59+ semsters() {
60+ if (this .selectedMajor ) {
61+ let sems = this .selectedMajor .sems
62+ return sems
63+ } else {
64+ return []
65+ }
66+ },
67+ },
68+ methods: {},
69+ }
70+ </script >
Original file line number Diff line number Diff line change 11<template >
22 <div >
3- <ClassesCalendar />
4- <ClassesSelectedStats />
5- <ClassesFilters />
6- <ClassesList />
3+ <!-- < ClassesCalendar /> -- >
4+ <!-- < ClassesSelectedStats /> -- >
5+ <ClassesFilters :departments = " departments " />
6+ <ClassesList :classes = " classes " />
77 </div >
88</template >
99
1010<script >
11- export default {}
11+ export default {
12+ data () {
13+ return {
14+ departments: {
15+ Engineering: [
16+ {
17+ name: ' Electrical Engineering' ,
18+ abbrv: ' EE' ,
19+ sems: [... Array (9 ).keys ()],
20+ },
21+ {
22+ name: ' Mechanical Engineering' ,
23+ abbrv: ' ME' ,
24+ sems: [... Array (9 ).keys ()],
25+ },
26+ {
27+ name: ' Chemical Engineering' ,
28+ abbrv: ' ChE' ,
29+ sems: [... Array (9 ).keys ()],
30+ },
31+ {
32+ name: ' Civil Engineering' ,
33+ abbrv: ' CE' ,
34+ sems: [... Array (9 ).keys ()],
35+ },
36+ ],
37+ ' Computer Science' : [
38+ { name: ' Networking' , abbrv: ' Net' , sems: [... Array (9 ).keys ()] },
39+ ],
40+ },
41+ classes: [
42+ {
43+ code: ' 00000' ,
44+ name: ' Course Name' ,
45+ crn: ' 01123' ,
46+ section: ' 03' ,
47+ days: ' MWT' ,
48+ time: ' 09:30-12:00' ,
49+ instructor: ' Ins Name' ,
50+ semster_index: 1 ,
51+ },
52+ {
53+ code: ' 00010' ,
54+ name: ' Course Name' ,
55+ crn: ' 01121' ,
56+ section: ' 03' ,
57+ days: ' MWT' ,
58+ time: ' 09:30-12:00' ,
59+ instructor: ' Ins Name' ,
60+ semster_index: 1 ,
61+ },
62+ {
63+ code: ' 00001' ,
64+ name: ' Course 2' ,
65+ crn: ' 01122' ,
66+ section: ' 01' ,
67+ days: ' MWT' ,
68+ time: ' 09:30-12:00' ,
69+ instructor: ' Ins Name2' ,
70+ semster_index: 2 ,
71+ },
72+ ],
73+ }
74+ },
75+ }
1276 </script >
You can’t perform that action at this time.
0 commit comments