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 | 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' %> | ... | ... |