module Formnestic::FormtasticExtensions

Public Instance Methods

extend_boolean_input() click to toggle source
# File lib/formnestic/formtastic_extensions.rb, line 87
def extend_boolean_input
  Formtastic::Inputs::BooleanInput.class_eval do
    def label_text_with_embedded_checkbox
      if builder.options[:display_type] == 'table'
        check_box_html << '' << template.content_tag(:span)
      else
        formtastic_label_text_with_embedded_checkbox
      end
    end
  end
end
extend_form_builder() click to toggle source
# File lib/formnestic/formtastic_extensions.rb, line 4
def extend_form_builder
  Formtastic::FormBuilder.send(
    :alias_method,
    :formtastic_semantic_fields_for,
    :semantic_fields_for
  )
  Formtastic::FormBuilder.send(:include, Formnestic::FormBuilder)
  Formtastic::FormBuilder.class_eval do
    def semantic_fields_for(record_or_name_or_array, *args, &block)
      options = args.dup.extract_options!
      if options[:display_type] == 'table'
        formnestic_table_semantic_fields_for(
          record_or_name_or_array,
          *args,
          &block
        )
      elsif options[:row_removable].present? ||
            options[:row_addable].present?
        formnestic_list_semantic_fields_for(
          record_or_name_or_array,
          *args,
          &block
        )
      else
        formtastic_semantic_fields_for(
          record_or_name_or_array,
          *args,
          &block
        )
      end
    end
  end
end
extend_form_inputs() click to toggle source
# File lib/formnestic/formtastic_extensions.rb, line 38
def extend_form_inputs
  Formtastic::Inputs::Base.send(
    :alias_method,
    :formtastic_input_wrapping,
    :input_wrapping
  )
  Formtastic::Inputs::Base.send(
    :alias_method,
    :formtastic_render_label?,
    :render_label?
  )
  Formtastic::Inputs::Base.send(
    :include, Formnestic::Inputs::Base::Wrapping
  )
  Formtastic::Inputs::Base.send(
    :include, Formnestic::Inputs::Base::Labelling
  )
  Formtastic::Inputs::BooleanInput.send(
    :alias_method,
    :formtastic_label_text_with_embedded_checkbox,
    :label_text_with_embedded_checkbox
  )
end
fragment_label_html(fragment) click to toggle source
# File lib/formnestic/formtastic_extensions.rb, line 76
def fragment_label_html(fragment)
  if builder.options[:display_type] == 'table'
    ''.html_safe
  else
    formtastic_fragment_label_html(fragment)
  end
end
label_text_with_embedded_checkbox() click to toggle source
# File lib/formnestic/formtastic_extensions.rb, line 89
def label_text_with_embedded_checkbox
  if builder.options[:display_type] == 'table'
    check_box_html << '' << template.content_tag(:span)
  else
    formtastic_label_text_with_embedded_checkbox
  end
end
semantic_fields_for(record_or_name_or_array, *args, &block) click to toggle source
# File lib/formnestic/formtastic_extensions.rb, line 12
def semantic_fields_for(record_or_name_or_array, *args, &block)
  options = args.dup.extract_options!
  if options[:display_type] == 'table'
    formnestic_table_semantic_fields_for(
      record_or_name_or_array,
      *args,
      &block
    )
  elsif options[:row_removable].present? ||
        options[:row_addable].present?
    formnestic_list_semantic_fields_for(
      record_or_name_or_array,
      *args,
      &block
    )
  else
    formtastic_semantic_fields_for(
      record_or_name_or_array,
      *args,
      &block
    )
  end
end