Commit 8d0bfa0ce23ffc60c879841d5e71ba95b49d493d

Authored by Luciano Prestes
Committed by Gabriela Navarro
1 parent 845ef636

Remove filter button of software search

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
features/software_catalog.feature
... ... @@ -34,23 +34,24 @@ Feature: Search software
34 34 Then I should see "Software One"
35 35 Then I should see "Software Two"
36 36  
  37 + @selenium
37 38 Scenario: Show software "One" when searching for "Software One"
38 39 Given I go to /search/software_infos
39 40 And I fill in "search-input" with "Software One"
40   - And I press "Filter"
  41 + And I keyup on selector "#search-input"
41 42 Then I should see "Software One"
42 43 Then I should not see "Software Two"
43 44  
  45 + @selenium
44 46 Scenario: Show software ordered by name when "Name A-Z" is selected
45 47 Given I go to /search/software_infos
46 48 And I select "Name A-Z" from "sort"
47   - And I press "Filter"
48 49 Then I should see "Software One" before "Software Two"
49 50  
  51 + @selenium
50 52 Scenario: Show software in reverse order by name when "Name Z-A" is selected
51 53 Given I go to /search/software_infos
52 54 And I select "Name Z-A" from "sort"
53   - And I press "Filter"
54 55 Then I should see "Software Two" before "Software One"
55 56  
56 57 Scenario: Show softwares with selected category in filter
... ...
features/step_definitions/mpog_steps.rb
... ... @@ -235,3 +235,8 @@ end
235 235 Given /^I should see "([^"]*)" before "([^"]*)"$/ do |before, after|
236 236 assert page.body.index("#{before}") < page.body.index("#{after}")
237 237 end
  238 +
  239 +Given /^I keyup on selector "([^"]*)"$/ do |selector|
  240 + selector_founded = evaluate_script("jQuery('#{selector}').trigger('keyup').length != 0")
  241 + selector_founded.should be_true
  242 +end
... ...
public/software-catalog.js
... ... @@ -43,7 +43,7 @@
43 43 $(this).prop('checked', false);
44 44 });
45 45  
46   - dispatch_search_ajax(update_search_page_on_ajax);
  46 + dispatch_search_ajax(update_search_page_on_ajax, true);
47 47 }
48 48  
49 49  
... ... @@ -52,16 +52,16 @@
52 52 $("#filter-categories-select-catalog").show();
53 53 $("#filter-option-catalog-software").hide();
54 54  
55   - dispatch_search_ajax(update_search_page_on_ajax);
  55 + dispatch_search_ajax(update_search_page_on_ajax, true);
56 56 }
57 57  
58 58  
59   - function dispatch_search_ajax(callback) {
  59 + function dispatch_search_ajax(callback, enable_load) {
60 60 var search_params = get_search_params();
61 61  
62   - console.log(search_params);
63   -
64   - open_loading("Loading");
  62 + if(enable_load) {
  63 + open_loading("Loading");
  64 + }
65 65  
66 66 $.ajax({
67 67 url: AJAX_URL.software_infos,
... ... @@ -117,12 +117,20 @@
117 117 $("#filter-categories-select-catalog").show();
118 118 $("#filter-option-catalog-software").hide();
119 119  
120   - dispatch_search_ajax(update_search_page_on_ajax);
  120 + dispatch_search_ajax(update_search_page_on_ajax, true);
121 121 show_head_message();
122 122 }
123 123  
124 124 function update_page_by_ajax_on_select_change() {
125   - dispatch_search_ajax(update_search_page_on_ajax);
  125 + dispatch_search_ajax(update_search_page_on_ajax, true);
  126 + }
  127 +
  128 + function update_page_by_text_filter() {
  129 + var text = this.value;
  130 +
  131 + if (text.length >= 3) {
  132 + dispatch_search_ajax(update_search_page_on_ajax, false);
  133 + }
126 134 }
127 135  
128 136 function set_events() {
... ... @@ -134,6 +142,7 @@
134 142 $(".project-software").click(selectProjectSoftwareCheckbox);
135 143 $("#software_display").change(update_page_by_ajax_on_select_change);
136 144 $("#sort").change(update_page_by_ajax_on_select_change);
  145 + $("#search-input").keyup(update_page_by_text_filter);
137 146 }
138 147  
139 148  
... ...
views/search/_mpog_search_form.html.erb
... ... @@ -11,8 +11,6 @@
11 11 <span class="formfield">
12 12 <%= text_field_tag 'query', @query, :id => 'search-input', :size => 50, :placeholder=>_("Type words about the software_info you're looking for") %>
13 13 </span>
14   -
15   - <%= submit_button(:search, _('Filter')) %>
16 14 </div>
17 15 <%= render :partial => 'search_form_extra_fields' %>
18 16 <%= render :partial => 'catalog_filter' %>
... ...