diff --git a/Gemfile b/Gemfile index 3222367c..9d6fd3a6 100644 --- a/Gemfile +++ b/Gemfile @@ -39,7 +39,6 @@ gem 'haml' gem 'bootstrap' -gem 'jquery-ui-rails' gem 'friendly_id', '~> 5.1.0' gem 'newrelic_rpm' diff --git a/Gemfile.lock b/Gemfile.lock index b2c64880..8f25f087 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -100,8 +100,6 @@ GEM rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jquery-ui-rails (6.0.1) - railties (>= 3.2.16) jwt (1.5.6) launchy (2.5.0) addressable (~> 2.7) @@ -263,7 +261,6 @@ DEPENDENCIES haml jbuilder (~> 2.5) jquery-rails - jquery-ui-rails launchy listen (~> 3.0.5) nested_scaffold diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index b4350dcd..dfc21a66 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -10,8 +10,6 @@ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details // about supported directives. // -//= require jquery -//= require jquery_ujs //= require bootstrap //= require turbolinks //= require_tree . diff --git a/app/assets/javascripts/dashboard.js b/app/assets/javascripts/dashboard.js index 40b3a8cc..82f4985a 100644 --- a/app/assets/javascripts/dashboard.js +++ b/app/assets/javascripts/dashboard.js @@ -1,34 +1,9 @@ document.addEventListener("DOMContentLoaded", function() { - const selectSchoolElement = document.querySelector('#select-school'); - - selectSchoolElement.addEventListener('change', (event) => { - change_school(event); + document.querySelector('#select-school').addEventListener('change', (event) => { + window.location = event.target.value; }); - const selectDistrictElement = document.querySelector('#select-district'); - - selectDistrictElement.addEventListener('change', (event) => { - change_district(event); + document.querySelector('#select-district').addEventListener('change', (event) => { + window.location = event.target.value; }); }); - -function change_school(event) { - const school_slug = event.target.value; - - const district_regex = /districts\/(.+)\/schools/; - const district_slug = window.location.pathname.match(district_regex)[1]; - - const year_range_regex = /year=(.+)/; - const year_range = window.location.search.match(year_range_regex)[1]; - - window.location = `/districts/${district_slug}/schools/${school_slug}/dashboard?year=${year_range}`; -}; - -function change_district(event) { - const district_slug = event.target.value; - - const year_range_regex = /year=(.+)/; - const year_range = window.location.search.match(year_range_regex)[1]; - - window.location = `/districts/${district_slug}/schools/first/dashboard?year=${year_range}`; -}; diff --git a/app/helpers/header_helper.rb b/app/helpers/header_helper.rb new file mode 100644 index 00000000..6b21f48b --- /dev/null +++ b/app/helpers/header_helper.rb @@ -0,0 +1,25 @@ +module HeaderHelper + + def link_to_dashboard(district:, school:, academic_year:) + dashboard_link(district_slug: district.slug, school_slug: school.slug, academic_year_range: academic_year.range) + end + + def link_to_browse(district:, school:, academic_year:) + "/districts/#{district.slug}/schools/#{school.slug}/browse/teachers-and-leadership?year=#{academic_year.range}" + end + + def district_url_for(district:, academic_year:) + dashboard_link(district_slug: district.slug, school_slug: district.schools.alphabetic.first.slug, academic_year_range: academic_year.range) + end + + def school_url_for(school:, academic_year:) + dashboard_link(district_slug: school.district.slug, school_slug: school.slug, academic_year_range: academic_year.range) + end + + private + + def dashboard_link(district_slug:, school_slug:, academic_year_range:) + "/districts/#{district_slug}/schools/#{school_slug}/dashboard?year=#{academic_year_range}" + end + +end diff --git a/app/views/layouts/sqm/_header.html.erb b/app/views/layouts/sqm/_header.html.erb index e44c4d06..a638c166 100644 --- a/app/views/layouts/sqm/_header.html.erb +++ b/app/views/layouts/sqm/_header.html.erb @@ -4,17 +4,17 @@

<%= link_to image_tag('logo.png', class: 'height-56'), root_path %>

- Dashboard + Dashboard

- Browse + Browse

<% @schools.each do |school| %> - <% end %> diff --git a/spec/features/school_dashboard_feature_spec.rb b/spec/features/school_dashboard_feature_spec.rb index bba45b89..1257fc46 100644 --- a/spec/features/school_dashboard_feature_spec.rb +++ b/spec/features/school_dashboard_feature_spec.rb @@ -106,11 +106,6 @@ feature 'School dashboard', type: feature do end - # visit photos_path - # assert_selector 'h1', text: 'Photos' - # assert_equal 1, all('.photo-deletable').count - # click_on 'Delete' - # page.driver.browser.switch_to.alert.accept scenario 'user sees schools in the same district' do page.driver.browser.basic_authorize(username, password) visit "/districts/#{district.slug}/schools/#{school.slug}/dashboard?year=#{ay_2020_21.range}" @@ -119,6 +114,7 @@ feature 'School dashboard', type: feature do expect(page.all('.school-options').count).to eq expected_num_of_schools expect(page.all('.school-options[selected]').count).to eq 1 expect(page.all('.school-options[selected]')[0].text).to eq 'Winchester High School' + expect(page.all('.school-options[selected]')[0].value).to eq "/districts/#{district.slug}/schools/#{school.slug}/dashboard?year=#{ay_2020_21.range}" school_options = page.all('.school-options') school_options.each_with_index do |school , index| @@ -135,6 +131,7 @@ feature 'School dashboard', type: feature do expect(page.all('.district-options').count).to eq expected_num_of_districts expect(page.all('.district-options[selected]').count).to eq 1 expect(page.all('.district-options[selected]')[0].text).to eq 'Winchester' + expect(page.all('.district-options[selected]')[0].value).to eq "/districts/#{district.slug}/schools/#{district.schools.alphabetic.first.slug}/dashboard?year=#{ay_2020_21.range}" district_options = page.all('.district-options') district_options.each_with_index do |district , index|