@@ -2,19 +2,36 @@ var currPlan = false;
2
2
var plan = false ;
3
3
var selectedMajor = "Comp. Sci." ;
4
4
var selectedCatalogYear = 2017 ;
5
+ var catalogLoaded = false ;
5
6
6
- $ ( function ( ) {
7
+ $ ( getPlans ) ;
8
+
9
+ // changes plan, triggered on selection of new plan in dropdown
10
+ $ ( document ) . on ( 'change' , '#planSelect' , function ( ) {
11
+ var selected = $ ( this ) . find ( "option:selected" ) . text ( ) ;
12
+ console . log ( selected ) ;
13
+ selected = selected . split ( ", " ) ;
14
+ console . log ( selected ) ;
15
+ selectedMajor = selected [ 0 ] ;
16
+ selectedCatalogYear = parseInt ( selected [ 1 ] ) ;
17
+
18
+ // send request to load new plan
19
+ getPlans ( ) ;
20
+
21
+ } ) ;
22
+
23
+ function getPlans ( ) {
7
24
$ . get ( "plans.json" , function ( plans ) {
8
- console . log ( plans ) ;
25
+ // console.log(plans);
9
26
plan = false ;
10
- $ ( ".dropdown-content " ) . empty ( ) ;
27
+ $ ( ".dropdown" ) . html ( "<option selected disabled>Change Plan</option>" ) ;
11
28
for ( let i in plans ) {
12
29
if ( plans [ i ] . major === selectedMajor && plans [ i ] . catalog . year === selectedCatalogYear ) {
13
30
plan = plans [ i ] ;
14
31
}
15
32
else {
16
33
// Put other plan options in dropdown menu on nav bar
17
- $ ( ".dropdown-content " ) . append ( "<a onclick='changePlan(this.text)' >" + plans [ i ] . major + ", " + plans [ i ] . catalog . year + "</a >" ) ;
34
+ $ ( ".dropdown" ) . append ( "<option >" + plans [ i ] . major + ", " + plans [ i ] . catalog . year + "</option >" ) ;
18
35
}
19
36
}
20
37
if ( plan === false ) {
@@ -31,20 +48,27 @@ $(function(){
31
48
$ ( "#hrsCurrent" ) . html ( "Current Hours: " + currPlan . hrsCurrent ) ;
32
49
$ ( "#hrsPlanned" ) . html ( "Total Hours Planned: " + currPlan . hrsPlanned ) ;
33
50
34
- $ ( "#catalogTable" ) . DataTable ( {
35
- "dom" : '<"top"if>t' ,
36
- "data" : plan . catalog . courses ,
37
- "columns" : [
38
- { "data" : "designator" } ,
39
- { "data" : "name" } ,
40
- { "data" : "description" } ,
41
- { "data" : "credits" }
42
- ] ,
43
- "scrollY" : "95px" ,
44
- "paging" : false ,
45
- "scrollCollapse" : false
51
+ let courses = [ ] ;
52
+ for ( let c in plan . catalog . courses ) {
53
+ courses . push ( plan . catalog . courses [ c ] ) ;
54
+ }
55
+ if ( ! catalogLoaded ) {
56
+ $ ( "#catalogTable" ) . DataTable ( {
57
+ "dom" : '<"top"if>t' ,
58
+ "data" : courses ,
59
+ "columns" : [
60
+ { "data" : "designator" } ,
61
+ { "data" : "name" } ,
62
+ { "data" : "description" } ,
63
+ { "data" : "credits" }
64
+ ] ,
65
+ "scrollY" : "95px" ,
66
+ "paging" : false ,
67
+ "scrollCollapse" : false
46
68
} ) ;
47
69
$ ( '.dataTables_scrollHeadInner' ) . css ( 'padding' , '0' ) ;
70
+ catalogLoaded = true ;
71
+ }
48
72
49
73
50
74
var requirements = plan . requirements ;
@@ -59,7 +83,7 @@ $(function(){
59
83
$ ( '#accordion' ) . append ( '<h3><a href="#">' + requirements [ i ] . name + '</a></h3><div>' + itemHtml + '</div>' ) . accordion ( 'refresh' ) ;
60
84
}
61
85
} ) ;
62
- } ) ;
86
+ }
63
87
64
88
class Course {
65
89
constructor ( desig , year , term ) {
@@ -232,16 +256,3 @@ class Year {
232
256
}
233
257
}
234
258
}
235
-
236
- // changes plan, triggered on selection of new plan in dropdown
237
- function changePlan ( selected ) {
238
- console . log ( selected ) ;
239
- selected = selected . split ( ", " ) ;
240
- console . log ( selected ) ;
241
- selectedMajor = selected [ 0 ] ;
242
- selectedCatalogYear = parseInt ( selected [ 1 ] ) ;
243
-
244
- // send request to load new plan
245
- planRequest = sendRequest ( "GET" , 'http://judah.cedarville.edu/~jacobs/TermProject/php/getCombined.php' , planCallback ) ;
246
-
247
- }
0 commit comments