class Formbuilder::Views::Form
Public Instance Methods
actions()
click to toggle source
# File lib/formbuilder/views/form.rb, line 33 def actions opts = {} unless first_page? opts[:go_back_text] = "Back to page #{previous_page}" opts[:go_back_html] = { href: url_for(params.merge(page: previous_page)) } end if last_page? opts[:continue_text] = 'Preview and Submit' else opts[:continue_text] = 'Next page' end div(class: 'form-actions') { if opts[:go_back_text] a.button opts[:go_back_text], opts[:go_back_html] end button.button.primary opts[:continue_text] } end
content()
click to toggle source
# File lib/formbuilder/views/form.rb, line 11 def content page_list if @form.multi_page? form_tag @action, method: @method, class: 'formbuilder-form', multipart: true do input type: 'hidden', name: 'page', value: @current_page render_fields actions end end
page_list()
click to toggle source
# File lib/formbuilder/views/form.rb, line 21 def page_list ul.unstyled.inline.formbuilder_form_pages_list { (1..@form.num_pages).each do |x| if x == @current_page li { span x } else li.active { a x, href: url_for(params.merge(page: x)) } end end } end
Private Instance Methods
first_page?()
click to toggle source
# File lib/formbuilder/views/form.rb, line 63 def first_page? @current_page == 1 end
last_page?()
click to toggle source
# File lib/formbuilder/views/form.rb, line 75 def last_page? @current_page == @form.num_pages end
next_page()
click to toggle source
# File lib/formbuilder/views/form.rb, line 71 def next_page @current_page + 1 end
previous_page()
click to toggle source
# File lib/formbuilder/views/form.rb, line 67 def previous_page @current_page - 1 end
render_fields()
click to toggle source
# File lib/formbuilder/views/form.rb, line 57 def render_fields @form.response_fields_for_page(@current_page).each do |response_field| widget Formbuilder::Views::FormField.new(response_field: response_field, entry: @entry) end end