diff --git a/app/assets/javascripts/application/search.js b/app/assets/javascripts/application/search.js index 82778a8b23c8c13ca2c69714a8402c432e40a096..2f36d0e3ae1ef06b524524f1bc30635829c8bc34 100644 --- a/app/assets/javascripts/application/search.js +++ b/app/assets/javascripts/application/search.js @@ -3,43 +3,26 @@ var watch = {}; var search = function() { //// SEARCH FETCH // get results from params - var searchFetch = function(append) { - // append result - see more - if ((append === undefined) || (append === false)) { - append = false; - - // reset pagination - params.reset('page'); - } + var searchFetch = function() { // change url with new parameters if (!fetch_init) { fetch_init = true; } - else if (!append) { searchState(params); } + else { searchState(params); } $.ajax({ url:"/search/fetch", type: 'get', data: params.get_fetch(), beforeSend: function() { - if (append) { - $('.search-more').remove(); - } - else { $('.result-bar').hide(); $("#search-fetch").empty(); - } $('#search-fetch').append('<div class="search-loading" style="text-align:center;"><br><div class="pong-loader">Carregando...</div></div>'); } }) .done(function (data) { - if (append) { - $('.search-more, .search-loading').remove(); - } - else { $("#search-fetch").empty(); $('.result-info-count').html($(data).filter('input:hidden[name="learning-objects-count"]').val()); $('.result-bar').show(); - } $("#search-fetch").append(data); @@ -68,7 +51,6 @@ var search = function() { // watch inputs to change params watchSearchInput(); - watchMoreButton(); watchFilterPanel(); watchOrder(); watchFilters(); @@ -178,13 +160,11 @@ var search = function() { }); } - function watchMoreButton() { - $(document).on('click', '.search-more', function (event) { - event.preventDefault(); - params.add('page', params.get('page') + 1); - searchFetch(true); - }); - } + $(document).on('click', '.pagination a', function(e) { + e.preventDefault(); + params.add('page',$(this).html()); + searchFetch(true); + }); function watchFilterPanel() { $(document).on('beforeItemRemove', '.filter-panel', function(event) { diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index def79d77fea07a842051ac311d4723dc0d806ce4..771952d3ae2a5b7fa338796aeaf07587b41305bd 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -12,10 +12,10 @@ class SearchController < ApplicationController def fetch objectsFound = [] - params[:subject]= params[:subject].split(', ') - params[:type] = params[:type].split(', ') - params[:school_level] = params[:school_level].split(', ') - params[:year] = params[:year].split('-').take(2) + params[:subject]= params[:subject].split(', ') unless params[:subject].nil? + params[:type] = params[:type].split(', ') unless params[:type].nil? + params[:school_level] = params[:school_level].split(', ') unless params[:school_level].nil? + params[:year] = params[:year].split('-').take(2) unless params[:year].nil? page=1 if (params[:page]) page = params[:page].to_i diff --git a/app/views/search/_fetch.html.erb b/app/views/search/_fetch.html.erb index 9d817238a8d0d0a521c41e33078f4f05cf3dc2b6..b0f414da55524e3811335079fde2d6d381c3f310 100644 --- a/app/views/search/_fetch.html.erb +++ b/app/views/search/_fetch.html.erb @@ -1,3 +1,5 @@ <input type="hidden" name="learning-objects-count" value="<%= @result.total_count %>"/> -<%= render @objects, orientation: "horizontal" %> -<%= link_to "ver mais", "javascript:void(0);", class: "btn btn-primary search-more" unless @last_page %> +<div class="row"> + <%= render @objects, orientation: "horizontal" %> + <%= paginate @result %> +</div>