Move question form view to component
This commit is contained in:
40
app/components/admin/poll/questions/form_component.html.erb
Normal file
40
app/components/admin/poll/questions/form_component.html.erb
Normal file
@@ -0,0 +1,40 @@
|
||||
<%= render "shared/globalize_locales", resource: question %>
|
||||
|
||||
<%= translatable_form_for(question, url: url) do |f| %>
|
||||
|
||||
<%= render "shared/errors", resource: question %>
|
||||
|
||||
<%= f.hidden_field :proposal_id %>
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12">
|
||||
<% if poll.present? %>
|
||||
<%= f.hidden_field :poll_id, value: poll.id %>
|
||||
<% elsif question.poll.present? %>
|
||||
<%= f.hidden_field :poll_id, value: question.poll.id %>
|
||||
<% else %>
|
||||
<div class="small-12 medium-6 large-4 column">
|
||||
<% select_options = Poll.all.map { |p| [p.name, p.id] } %>
|
||||
<%= f.select :poll_id,
|
||||
options_for_select(select_options),
|
||||
prompt: t("admin.questions.index.select_poll") %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<%= f.translatable_fields do |translations_form| %>
|
||||
<div class="column">
|
||||
<%= translations_form.text_field :title %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12 medium-4 large-2 margin-top column">
|
||||
<%= f.submit(class: "button success expanded", value: t("shared.save")) %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
11
app/components/admin/poll/questions/form_component.rb
Normal file
11
app/components/admin/poll/questions/form_component.rb
Normal file
@@ -0,0 +1,11 @@
|
||||
class Admin::Poll::Questions::FormComponent < ApplicationComponent
|
||||
include TranslatableFormHelper
|
||||
include GlobalizeHelper
|
||||
attr_reader :poll, :question, :url
|
||||
|
||||
def initialize(poll, question, url:)
|
||||
@poll = poll
|
||||
@question = question
|
||||
@url = url
|
||||
end
|
||||
end
|
||||
@@ -1,40 +1 @@
|
||||
<%= render "shared/globalize_locales", resource: @question %>
|
||||
|
||||
<%= translatable_form_for(@question, url: form_url) do |f| %>
|
||||
|
||||
<%= render "shared/errors", resource: @question %>
|
||||
|
||||
<%= f.hidden_field :proposal_id %>
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12">
|
||||
<% if @poll.present? %>
|
||||
<%= f.hidden_field :poll_id, value: @poll.id %>
|
||||
<% elsif @question.poll.present? %>
|
||||
<%= f.hidden_field :poll_id, value: @question.poll.id %>
|
||||
<% else %>
|
||||
<div class="small-12 medium-6 large-4 column">
|
||||
<% select_options = Poll.all.map { |p| [p.name, p.id] } %>
|
||||
<%= f.select :poll_id,
|
||||
options_for_select(select_options),
|
||||
prompt: t("admin.questions.index.select_poll") %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<%= f.translatable_fields do |translations_form| %>
|
||||
<div class="column">
|
||||
<%= translations_form.text_field :title %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="small-12 medium-4 large-2 margin-top column">
|
||||
<%= f.submit(class: "button success expanded", value: t("shared.save")) %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
<%= render Admin::Poll::Questions::FormComponent.new(@poll, @question, url: form_url) %>
|
||||
|
||||
Reference in New Issue
Block a user