Commit 8d0bfa0ce23ffc60c879841d5e71ba95b49d493d
Committed by
Gabriela Navarro
1 parent
845ef636
Exists in
master
and in
5 other branches
Remove filter button of software search
Signed-off-by: Fabio Teixeira <fabio1079@gmail.com> Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
Showing
4 changed files
with
26 additions
and
13 deletions
Show diff stats
features/software_catalog.feature
| @@ -34,23 +34,24 @@ Feature: Search software | @@ -34,23 +34,24 @@ Feature: Search software | ||
| 34 | Then I should see "Software One" | 34 | Then I should see "Software One" |
| 35 | Then I should see "Software Two" | 35 | Then I should see "Software Two" |
| 36 | 36 | ||
| 37 | + @selenium | ||
| 37 | Scenario: Show software "One" when searching for "Software One" | 38 | Scenario: Show software "One" when searching for "Software One" |
| 38 | Given I go to /search/software_infos | 39 | Given I go to /search/software_infos |
| 39 | And I fill in "search-input" with "Software One" | 40 | And I fill in "search-input" with "Software One" |
| 40 | - And I press "Filter" | 41 | + And I keyup on selector "#search-input" |
| 41 | Then I should see "Software One" | 42 | Then I should see "Software One" |
| 42 | Then I should not see "Software Two" | 43 | Then I should not see "Software Two" |
| 43 | 44 | ||
| 45 | + @selenium | ||
| 44 | Scenario: Show software ordered by name when "Name A-Z" is selected | 46 | Scenario: Show software ordered by name when "Name A-Z" is selected |
| 45 | Given I go to /search/software_infos | 47 | Given I go to /search/software_infos |
| 46 | And I select "Name A-Z" from "sort" | 48 | And I select "Name A-Z" from "sort" |
| 47 | - And I press "Filter" | ||
| 48 | Then I should see "Software One" before "Software Two" | 49 | Then I should see "Software One" before "Software Two" |
| 49 | 50 | ||
| 51 | + @selenium | ||
| 50 | Scenario: Show software in reverse order by name when "Name Z-A" is selected | 52 | Scenario: Show software in reverse order by name when "Name Z-A" is selected |
| 51 | Given I go to /search/software_infos | 53 | Given I go to /search/software_infos |
| 52 | And I select "Name Z-A" from "sort" | 54 | And I select "Name Z-A" from "sort" |
| 53 | - And I press "Filter" | ||
| 54 | Then I should see "Software Two" before "Software One" | 55 | Then I should see "Software Two" before "Software One" |
| 55 | 56 | ||
| 56 | Scenario: Show softwares with selected category in filter | 57 | Scenario: Show softwares with selected category in filter |
features/step_definitions/mpog_steps.rb
| @@ -235,3 +235,8 @@ end | @@ -235,3 +235,8 @@ end | ||
| 235 | Given /^I should see "([^"]*)" before "([^"]*)"$/ do |before, after| | 235 | Given /^I should see "([^"]*)" before "([^"]*)"$/ do |before, after| |
| 236 | assert page.body.index("#{before}") < page.body.index("#{after}") | 236 | assert page.body.index("#{before}") < page.body.index("#{after}") |
| 237 | end | 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,7 +43,7 @@ | ||
| 43 | $(this).prop('checked', false); | 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,16 +52,16 @@ | ||
| 52 | $("#filter-categories-select-catalog").show(); | 52 | $("#filter-categories-select-catalog").show(); |
| 53 | $("#filter-option-catalog-software").hide(); | 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 | var search_params = get_search_params(); | 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 | $.ajax({ | 66 | $.ajax({ |
| 67 | url: AJAX_URL.software_infos, | 67 | url: AJAX_URL.software_infos, |
| @@ -117,12 +117,20 @@ | @@ -117,12 +117,20 @@ | ||
| 117 | $("#filter-categories-select-catalog").show(); | 117 | $("#filter-categories-select-catalog").show(); |
| 118 | $("#filter-option-catalog-software").hide(); | 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 | show_head_message(); | 121 | show_head_message(); |
| 122 | } | 122 | } |
| 123 | 123 | ||
| 124 | function update_page_by_ajax_on_select_change() { | 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 | function set_events() { | 136 | function set_events() { |
| @@ -134,6 +142,7 @@ | @@ -134,6 +142,7 @@ | ||
| 134 | $(".project-software").click(selectProjectSoftwareCheckbox); | 142 | $(".project-software").click(selectProjectSoftwareCheckbox); |
| 135 | $("#software_display").change(update_page_by_ajax_on_select_change); | 143 | $("#software_display").change(update_page_by_ajax_on_select_change); |
| 136 | $("#sort").change(update_page_by_ajax_on_select_change); | 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,8 +11,6 @@ | ||
| 11 | <span class="formfield"> | 11 | <span class="formfield"> |
| 12 | <%= text_field_tag 'query', @query, :id => 'search-input', :size => 50, :placeholder=>_("Type words about the software_info you're looking for") %> | 12 | <%= text_field_tag 'query', @query, :id => 'search-input', :size => 50, :placeholder=>_("Type words about the software_info you're looking for") %> |
| 13 | </span> | 13 | </span> |
| 14 | - | ||
| 15 | - <%= submit_button(:search, _('Filter')) %> | ||
| 16 | </div> | 14 | </div> |
| 17 | <%= render :partial => 'search_form_extra_fields' %> | 15 | <%= render :partial => 'search_form_extra_fields' %> |
| 18 | <%= render :partial => 'catalog_filter' %> | 16 | <%= render :partial => 'catalog_filter' %> |