Sha256: c2cf11a9e5bb5a6144535dd3ef33dec388fffa53c196cf2daa569faa1ed2431b

Contents?: true

Size: 1.08 KB

Versions: 11

Compression:

Stored size: 1.08 KB

Contents

module Locomotive
  class LocaleInput < Formtastic::Inputs::TextInput

    include Formtastic::Inputs::Base::Choices

    def to_html
      input_wrapping do
        label_html <<
        self.available_locales_to_html
      end
    end

    def available_locales_to_html
      template.content_tag(:div,
        Locomotive.config.locales.map do |locale|
          template.content_tag(:div, locale_to_html(locale).html_safe, :class => 'entry')
        end.join.html_safe, :class => 'list')
    end

    def locale_to_html(locale)
      text = I18n.t("locomotive.locales.#{locale}")

      builder.radio_button(:locale, locale, :id => choice_input_dom_id(locale)) +
      template.content_tag(:label,
        template.image_tag("locomotive/icons/flags/#{locale}.png", :alt => text) +
        text, :for => choice_input_dom_id(locale))
    end

    def choice_input_dom_id(choice)
      [
        builder.custom_namespace,
        sanitized_object_name,
        association_primary_key || method,
        choice_html_safe_value(choice)
      ].compact.reject { |i| i.blank? }.join("_")
    end

  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
locomotive_cms-2.0.0.rc12 app/inputs/locomotive/locale_input.rb
locomotive_cms-2.0.0.rc11 app/inputs/locomotive/locale_input.rb
locomotive_cms-2.0.0.rc10 app/inputs/locomotive/locale_input.rb
locomotive_cms-2.0.0.rc9 app/inputs/locomotive/locale_input.rb
locomotive_cms-2.0.0.rc8 app/inputs/locomotive/locale_input.rb
locomotive_cms-2.0.0.rc7 app/inputs/locomotive/locale_input.rb
locomotive_cms-2.0.0.rc6 app/inputs/locomotive/locale_input.rb
locomotive_cms-2.0.0.rc5 app/inputs/locomotive/locale_input.rb
locomotive_cms-2.0.0.rc4 app/inputs/locomotive/locale_input.rb
locomotive_cms-2.0.0.rc2 app/inputs/locomotive/locale_input.rb
locomotive_cms-2.0.0.rc1 app/inputs/locomotive/locale_input.rb