diff --git a/app/assets/javascripts/application/search.js b/app/assets/javascripts/application/search.js index 3d73935193d69fc340de3f59b052573ad70e3be3..3675b94bfbcfead4f32d92bfb852dae9494391d5 100644 --- a/app/assets/javascripts/application/search.js +++ b/app/assets/javascripts/application/search.js @@ -1,7 +1,22 @@ var search = function() { - function getUrlVars() { + var state = history.state; + + $(document).ready(function () { + fetch(); + + $('.search-link').click(function (event) { + var href = $(this).attr("href"); + state.url = href; + history.pushState(state, href, href); + event.preventDefault(); + + fetch(); + }); + }); + + function getParameters() { var vars = {}, hash; - var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); + var hashes = state.url.slice(state.url.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); // single value @@ -22,7 +37,7 @@ var search = function() { } function fetch() { - var params = getUrlVars(); + var params = getParameters(); $.ajax({ url:"/search/fetch", @@ -38,52 +53,15 @@ var search = function() { $("#search-fetch").append(data); }); } - - return { - fetch: function() { fetch(); } - }; }; -$(document).ready(function () { -// $(".select-tag-container").addClass("menu-lef"); - $(".select-tag-container").select2(); - - var runDropdown = function (element) { - if ($(element).next().is(':hidden')) { - $('> .caret', element).addClass('caret-up'); - $(element).next().slideDown(); - } - else { - $('> .caret', element).removeClass('caret-up'); - $(element).next().slideUp(); - } - }; - - runDropdown($('.nestedAccordion .dropdown')); - - $('.nestedAccordion .dropdown').click(function () { - runDropdown(this); - }); - - search().fetch(); -}); - - -/* - -var runDropdown = function (element) { - if ($(element).next().is(':hidden')) { - $('> .caret', element).addClass('caret-up'); - $(element).next().slideDown(); - } - else { - $('> .caret', element).removeClass('caret-up'); - $(element).next().slideUp(); - } +var runDropdown = function(element) { + if ($(element).next().is(':hidden')) { + $('> .caret', element).addClass('caret-up'); + $(element).next().slideDown(); + } + else { + $('> .caret', element).removeClass('caret-up'); + $(element).next().slideUp(); + } }; - -runDropdown($('.nestedAccordion .dropdown')); - -$('.nestedAccordion .dropdown').click(function () { - runDropdown(this); -});*/ diff --git a/app/views/search/index.html.erb b/app/views/search/index.html.erb index 0e7b5d2a82e44c5d9e749ad33dd4a56366a58fa9..a145ad19a665f7837c6c64d10c67033a55b4848c 100644 --- a/app/views/search/index.html.erb +++ b/app/views/search/index.html.erb @@ -264,3 +264,17 @@ <div id="search-fetch" class="container-fluid"></div> </div> </div> + +<script type="text/javascript"> + $(document).ready(function () { + runDropdown($('.nestedAccordion .dropdown')); + + $(".select-tag-container").select2(); + + search(); + + $('.nestedAccordion .dropdown').click(function () { + runDropdown(this); + }); + }); +</script>