@@ -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 ;
@@ -63,7 +87,7 @@ $(function(){
63
87
$ ( '#accordion' ) . append ( '<h3><a href="#">' + requirements [ i ] . name + '</a></h3><div>' + itemHtml + '</div>' ) . accordion ( 'refresh' ) ;
64
88
}
65
89
} ) ;
66
- } ) ;
90
+ }
67
91
68
92
class Course {
69
93
constructor ( desig , year , term ) {
@@ -236,16 +260,3 @@ class Year {
236
260
}
237
261
}
238
262
}
239
-
240
- // changes plan, triggered on selection of new plan in dropdown
241
- function changePlan ( selected ) {
242
- console . log ( selected ) ;
243
- selected = selected . split ( ", " ) ;
244
- console . log ( selected ) ;
245
- selectedMajor = selected [ 0 ] ;
246
- selectedCatalogYear = parseInt ( selected [ 1 ] ) ;
247
-
248
- // send request to load new plan
249
- planRequest = sendRequest ( "GET" , 'http://judah.cedarville.edu/~jacobs/TermProject/php/getCombined.php' , planCallback ) ;
250
-
251
- }
0 commit comments