Sha256: c2aacfe5778aa933d5a33ed683c6f57465ae577d83d5df228885d038c9550ff0

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

module ExtForm
  module Components
    module InputAddons
      extend ActiveSupport::Concern

      def input_addon
        template.content_tag(addon_options[:tag]||'span', nil, input_addon_html_options) do
          output = []
          output << input_addon_image if addon_options[:icon] || addon_options[:datetimepicker]
          output << input_addon_text

          output.reverse! if addon_options[:text_first]
          output.compact.join.html_safe
        end
      end

      private

      def input_addon_image
        template.content_tag(:i, nil, class: "icon-#{addon_options[:icon]}") if addon_options[:icon]
        template.content_tag(:i, nil, data: {:'time-icon' => 'icon-time',
                                             :'date-icon' => 'icon-calendar'}) if addon_options[:datetimepicker]
      end

      def input_addon_text
        addon_options[:text] || ''
      end

      def input_addon_html_options
        html_options_for(:input_addon, (addon_options[:tag] == 'button' ? 'btn' : 'add-on'))
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ext_form-0.1.5 lib/ext_form/components/input_addons.rb
ext_form-0.1.4 lib/ext_form/components/input_addons.rb