Add labels to the search form in the management area
The text for the unfeasible checkbox wasn't correctly defined as a label, while the fields to search investments and select the heading weren't intuitive since their purpose wasn't obvious.
This commit is contained in:
@@ -47,6 +47,7 @@
|
||||
@import "documents/**/*";
|
||||
@import "layout/**/*";
|
||||
@import "machine_learning/**/*";
|
||||
@import "management/**/*";
|
||||
@import "moderation/**/*";
|
||||
@import "polls/**/*";
|
||||
@import "proposals/**/*";
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
.management-investments-search {
|
||||
.checkbox-label {
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
<%= form_tag(url, method: :get) do |f| %>
|
||||
<%= form_tag(url, options) do |f| %>
|
||||
<div class="row">
|
||||
<div class="small-12 medium-6 column">
|
||||
<%= label_tag :search, search_label_text %>
|
||||
<%= text_field_tag :search, "" %>
|
||||
</div>
|
||||
<div class="small-12 medium-6 column">
|
||||
<%= label_tag :heading_id, attribute_name(:heading_id) %>
|
||||
<%= select_tag :heading_id,
|
||||
options_for_select(budget_heading_select_options(budget),
|
||||
params[:heading_id]),
|
||||
@@ -12,8 +14,10 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<%= label_tag :unfeasible, class: "checkbox-label" do %>
|
||||
<%= check_box_tag :unfeasible, "1", params[:unfeasible].present? %>
|
||||
<%= t("admin.budget_investments.search_unfeasible") %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,4 +6,21 @@ class Management::Budgets::Investments::SearchComponent < ApplicationComponent
|
||||
@budget = budget
|
||||
@url = url
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def options
|
||||
{
|
||||
method: :get,
|
||||
class: "management-investments-search"
|
||||
}
|
||||
end
|
||||
|
||||
def search_label_text
|
||||
t("management.budget_investments.search.label")
|
||||
end
|
||||
|
||||
def attribute_name(attribute)
|
||||
Budget::Investment.human_attribute_name(attribute)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -95,6 +95,8 @@ en:
|
||||
unfeasible: Unfeasible investment
|
||||
print:
|
||||
print_button: Print
|
||||
search:
|
||||
label: "Search investments"
|
||||
search_results:
|
||||
one: " containing the term '%{search_term}'"
|
||||
other: " containing the term '%{search_term}'"
|
||||
|
||||
@@ -95,6 +95,8 @@ es:
|
||||
unfeasible: Proyectos no factibles
|
||||
print:
|
||||
print_button: Imprimir
|
||||
search:
|
||||
label: "Buscar proyectos"
|
||||
search_results:
|
||||
one: " que contiene '%{search_term}'"
|
||||
other: " que contienen '%{search_term}'"
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
require "rails_helper"
|
||||
|
||||
describe Management::Budgets::Investments::SearchComponent do
|
||||
include Rails.application.routes.url_helpers
|
||||
|
||||
let(:budget) { create(:budget) }
|
||||
let(:url) { management_budget_investments_path(budget) }
|
||||
let(:component) { Management::Budgets::Investments::SearchComponent.new(budget, url: url) }
|
||||
|
||||
it "renders a label for each field" do
|
||||
render_inline component
|
||||
|
||||
expect(page).to have_field "Search investments"
|
||||
expect(page).to have_select "Heading"
|
||||
expect(page).to have_field "Search unfeasible", type: :checkbox
|
||||
end
|
||||
end
|
||||
@@ -143,7 +143,7 @@ describe "Budget Investments" do
|
||||
click_link "Support budget investments"
|
||||
end
|
||||
|
||||
fill_in "search", with: "what you got"
|
||||
fill_in "Search investments", with: "what you got"
|
||||
click_button "Search"
|
||||
|
||||
within("#budget-investments") do
|
||||
@@ -170,7 +170,7 @@ describe "Budget Investments" do
|
||||
click_link "Support budget investments"
|
||||
end
|
||||
|
||||
fill_in "search", with: "Area 52"
|
||||
fill_in "Search investments", with: "Area 52"
|
||||
click_button "Search"
|
||||
|
||||
within("#budget-investments") do
|
||||
@@ -523,8 +523,8 @@ describe "Budget Investments" do
|
||||
expect(page).to have_content(low_investment.title)
|
||||
end
|
||||
|
||||
select "District Nine", from: "heading_id"
|
||||
click_button("Search")
|
||||
select "District Nine", from: "Heading"
|
||||
click_button "Search"
|
||||
|
||||
within "#budget-investments" do
|
||||
expect(page).not_to have_content(unvoted_investment.title)
|
||||
|
||||
Reference in New Issue
Block a user