Skip to content

Commit 030c951

Browse files
committed
Merge branch 'djacobs-finish-project-6' into develop
2 parents 1c073fb + 80ec43c commit 030c951

File tree

4 files changed

+48
-41
lines changed

4 files changed

+48
-41
lines changed

app/javascript/packs/myjs.js

Lines changed: 41 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,36 @@ var currPlan = false;
22
var plan = false;
33
var selectedMajor = "Comp. Sci.";
44
var selectedCatalogYear = 2017;
5+
var catalogLoaded = false;
56

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(){
724
$.get("plans.json", function(plans){
8-
console.log(plans);
25+
//console.log(plans);
926
plan = false;
10-
$(".dropdown-content").empty();
27+
$(".dropdown").html("<option selected disabled>Change Plan</option>");
1128
for (let i in plans){
1229
if (plans[i].major === selectedMajor && plans[i].catalog.year === selectedCatalogYear){
1330
plan = plans[i];
1431
}
1532
else{
1633
// 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>");
1835
}
1936
}
2037
if (plan === false){
@@ -31,20 +48,27 @@ $(function(){
3148
$("#hrsCurrent").html("Current Hours: " + currPlan.hrsCurrent);
3249
$("#hrsPlanned").html("Total Hours Planned: " + currPlan.hrsPlanned);
3350

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
4668
});
4769
$('.dataTables_scrollHeadInner').css('padding', '0');
70+
catalogLoaded = true;
71+
}
4872

4973

5074
var requirements = plan.requirements;
@@ -63,7 +87,7 @@ $(function(){
6387
$('#accordion').append('<h3><a href="#">' + requirements[i].name + '</a></h3><div>' + itemHtml + '</div>').accordion('refresh');
6488
}
6589
});
66-
});
90+
}
6791

6892
class Course {
6993
constructor(desig, year, term){
@@ -236,16 +260,3 @@ class Year {
236260
}
237261
}
238262
}
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-
}

app/views/plans/_plan.json.jbuilder

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ json.curr_year plan.curr_year
99
json.curr_term plan.curr_term
1010
json.courses do
1111
plan.plan_courses.each{ |planCourse| json.set! planCourse.course.designator do
12+
json.designator planCourse.course.designator
1213
json.year planCourse.year
1314
json.term planCourse.term
1415
end
@@ -19,6 +20,8 @@ json.catalog do
1920
json.year plan.catalog.year
2021
json.courses do
2122
plan.catalog.catalog_courses.each{ |catalogCourse| json.set! catalogCourse.course.designator do
23+
json.id catalogCourse.course.id
24+
json.designator catalogCourse.course.designator
2225
json.name catalogCourse.course.name
2326
json.description catalogCourse.course.description
2427
json.credits catalogCourse.course.credits

app/views/plans/index.html.erb

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,9 @@
1212

1313
</div>
1414
<div>
15-
<div class="dropdown">
16-
<button class="dropbtn">
17-
<a><i class="fa fa-caret-down"></i>Change Plan</a>
18-
</button>
19-
<div class="dropdown-content">
20-
<a href="#">Link 1</a>
21-
<a href="#">Link 2</a>
22-
<a href="#">Link 3</a>
23-
</div>
24-
</div>
15+
<select id = "planSelect" class="dropdown">
16+
<option selected disabled>Change Plan</option>
17+
</select>
2518
<% if user_signed_in?%>
2619
<form name="logout" action="logout.php" method="post">
2720
<button type="submit" value="Submit">

db/seeds.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@
187187
course15.credits = 3
188188
course15.save!
189189
course16 = Course.new
190-
course16.designator = "CS-4810"
190+
course16.designator = "CS-4820"
191191
course16.name = "Software Engr II"
192192
course16.description = "Love Senior Design!!"
193193
course16.credits = 3

0 commit comments

Comments
 (0)