Resolve "Criar componente genérico para os filtros"
Descrição
Alterações para a criação do componente generico de filtros
Alterações Realizadas
Para gerar um menu de filtros o desenvolvedor deve fornecer os campos que ele deseja adicionar a partir da locals da partial.
Criando os filtros de propostas com o componente generico
<div class="proposals-filters">
<%= render partial: "decidim/components/filter", locals: {
show_filters: false,
search_field: {
placeholder: t("decidim.proposals.proposals.filters.placeholder",
name: translated_attribute(current_component.singular_name).present? ?
translated_attribute(current_component.singular_name).downcase :
"proposta"
),
status: true
},
radio_collection: [
{
attribute: :activity,
collection: activity_filter_values,
legend: t("decidim.proposals.proposals.filters.activity"),
status: current_user
}
],
check_boxes: [
{
attribute: :with_any_state,
collection: filter_proposals_state_values,
legend: t("decidim.proposals.proposals.filters.state"),
aria_controls: "proposals",
status: (
component_settings.proposal_answering_enabled &&
current_settings.proposal_answering_enabled
)
},
{
attribute: :with_any_category,
collection: filter_categories_values,
legend: t("decidim.proposals.proposals.filters.category"),
aria_controls: "proposals",
status: (current_component.categories.any?)
}
],
hidden_tag: {
status: true,
order: order
},
hidden_field: {
status: true,
value: "state_withdraw"
}
}
%>
</div>
Os campos de radio_collection e checkboxes são listas para permitir que o usuário adicione n filtros conforme a necessidade e as variáveis de cada componente, o status define se os filtros serão renderizados. O campo de show_filters é o que define o estado inicial dos filtros, o padrão é false pois o mesmo deve aparecer ao apertar o botão de mostrar filtros.
Critérios de Aceitação
-
O componente deve gerar os elementos básicos de um filtro -
O componente deve possuir a estilização padronizada -
O componente deve gerar os filtros a partir da entrada fornecida
Edited by Vitor Borges dos Santos