<% condition = @criterion.condition date_refinement_condition = condition.has_date_refinement? && condition.get_date_refinement_condition count_refinement_condition = condition.has_count_refinement? && condition.get_count_refinement_condition last_clause_select = if count_refinement_condition :count elsif date_refinement_condition :date else :criterion end %> <%= form.hidden_field :stable_id, form: form_id %> <%= form.hidden_field :client_id, form: form_id %> <%= form.hidden_field :condition_id, form: form_id %> <%= form.hidden_field :conjunction, form: form_id %> <%= form.hidden_field :position, form: form_id %> <%= form.fields :input_attributes, model: @criterion.input do |input_fields| %> <%# Input Value %> <% unless ['st', 'nst'].include? @criterion.input.clause %> <%= render @criterion.input_partial, criterion: @criterion, form: form, input_fields: input_fields, form_id: form_id %> <% if last_clause_select == :criterion %> <div class="refine--separator"></div> <% end %> <% end %> <%# Clause Select %> <div class="refine--criterion-clause-container"> <%= input_fields.label :clause, t('.rule') %> <%= input_fields.collection_select :clause, @criterion.condition.approved_clauses, :id, :display, {}, class: "refine--select refine--clause-select", data: {action: "change->refine--criterion-form#refresh"}, form: form_id %> <% if last_clause_select == :criterion %> <%= form.button t('global.buttons.apply'), class: "refine--apply-button", type: "submit", form: form_id %> <% end %> </div> <%# Date Refinement %> <% if @criterion.condition.has_date_refinement? %> <div class="refine--separator"></div> <label style="color: black;"><%= date_refinement_condition.display %></label> <%= input_fields.fields :date_refinement_attributes, model: @criterion.input.date_refinement do |date_fields| %> <div class="refine--refinement-input-container"> <% unless ['st', 'nst'].include? @criterion.input.date_refinement.clause %> <%= render "refine/inline/inputs/date_condition", criterion: @criterion, form: form, input_fields: date_fields, form_id: form_id %> <% end %> </div> <div class="refine--criterion-clause-container"> <%= date_fields.label :clause, t('.rule') %> <%= date_fields.collection_select :clause, date_refinement_condition.approved_clauses, :id, :display, {}, class: "refine--select refine--clause-select", data: {action: "change->refine--criterion-form#refresh"}, form: form_id %> <% if last_clause_select == :date %> <%= form.button t('global.buttons.apply'), class: "refine--apply-button", type: "submit", form: form_id %> <% end %> </div> <% end %> <% end %> <%# Count Refinement %> <% if count_refinement_condition %> <label style="color: black;"><%= @criterion.condition.get_count_refinement_condition.display %></label> <%= input_fields.fields :count_refinement_attributes, model: @criterion.input.count_refinement do |count_fields| %> <div class="refine--criterion-clause-container"> <%= count_fields.collection_select :clause, count_refinement_condition.approved_clauses, :id, :display, {}, class: "refine--clause-select", data: {action: "change->refine--criterion-form#refresh"} %> </div> <% unless ['st', 'nst'].include? @criterion.input.count_refinement.clause %> <%= render "refine/inline/inputs/numeric_condition", criterion: @criterion, form: form, input_fields: count_fields, form_id: form_id %> <% end %> <div class="refine--criterion-clause-container"> <%= count.label :clause, t('.rule') %> <%= count.collection_select :clause, @criterion.condition.approved_clauses, :id, :display, {}, class: "refine--select refine--clause-select", data: {action: "change->refine--criterion-form#refresh"}, form: form_id %> <% if last_clause_select == :count %> <%= form.button t('global.buttons.apply'), class: "refine--apply-button", type: "submit", form: form_id %> <% end %> </div> <% end %> <% end %> <% end %> <% @error_messages&.each do |msg| %> <p class="refine-criterion-error"> <%= msg %> </p> <% end %>