Commit 8d0bfa0ce23ffc60c879841d5e71ba95b49d493d

Authored by Luciano Prestes
Committed by Gabriela Navarro
1 parent 845ef636
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

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