%
# headmin/filters/base
#
# ==== Required parameters
# * +form+ - Form object
# * +name+ - Name of the filter parameter
#
# ==== Optional parameters
# * +label+ - Display label
#
# ==== Examples
# Basic version
#
# <%= render 'headmin/filters/base', name: :title do |value| %#>
# <%= render 'headmin/forms/text', value: value %#>
# <% end %#>
#
base = Headmin::Filter::BaseView.new(local_assigns)
%>
<%= content_for :filters_menu do %>
<%= render 'headmin/filters/filter/menu_item', base.menu_item_options %>
<% end %>
<%= content_for :filters_templates do %>
<%= render 'headmin/filters/filter/button', name: name, label: label, filter: nil, value: nil, id: "template_id" do %>
<%= render 'headmin/filters/filter/row' do %>
<%= render 'headmin/filters/filter/operator', base.filter_operator_options.merge({selected: nil}) %>
<%= yield(nil) %>
<%= render 'headmin/filters/filter/null_select', value: nil %>
<% end %>
<%= hidden_field_tag("#{name}", "", data: {filter_target: "hidden"}) %>
<%= render 'headmin/filters/filter/conditional' %>
<%= render 'headmin/filters/filter/row' do %>
<%= render 'headmin/filters/filter/operator', base.filter_operator_options.merge({selected: nil}) %>
<%= yield(nil) %>
<%= render 'headmin/filters/filter/null_select', value: nil %>
<% end %>
<% end %>
<% end %>
<%= content_for :filters_buttons do %>
<% if filter_param_exists?(name) %>
<%= render 'headmin/filters/filter/button', base.filter_button_options.merge({id: "#{name}_#{SecureRandom.hex}"}) do %>
<% filter.values.each_with_index do |value, index| %>
<% if index > 0 %>
<%= render 'headmin/filters/filter/conditional', selected: filter.conditionals[index - 1] %>
<% end %>
<%= render 'headmin/filters/filter/row' do %>
<%= render 'headmin/filters/filter/operator', base.filter_operator_options.merge({selected: filter.operators[index]}) %>
<%= yield(value) %>
<%= render 'headmin/filters/filter/null_select', value: value %>
<% end %>
<% end %>
<%= hidden_field_tag("#{name}", params[name], data: {filter_target: "hidden"}) %>
<%= render 'headmin/filters/filter/conditional' %>
<%= render 'headmin/filters/filter/row' do %>
<%= render 'headmin/filters/filter/operator', base.filter_operator_options.merge({selected: nil}) %>
<%= yield(nil) %>
<%= render 'headmin/filters/filter/null_select', value: nil %>
<% end %>
<% end %>
<% end %>
<% end %>