Sha256: ffc56cc7ec326cd131037cd47dc15f12141e1f923a7f52ce228abf16369d9b2b

Contents?: true

Size: 1.77 KB

Versions: 32

Compression:

Stored size: 1.77 KB

Contents

# frozen_string_literal: true

module SimpleForm
  module Components
    # Helper para activar los iconos en los componentes bootstrap
    module Icons
      def icon(_wrapper_options = nil)
        return icon_tag unless options[:icon].nil?
      end

      def icon_tag
        template.content_tag(:i, '', class: options[:icon])
      end
    end

    # Helper para activar los tooltips en los componentes bootstrap
    module Tooltips
      def tooltip(_wrapper_options = nil)
        return if tooltip_text.nil?
        input_html_options[:rel] ||= 'tooltip'
        input_html_options['data-toggle'] ||= 'tooltip'
        input_html_options['data-placement'] ||= tooltip_position
        input_html_options['data-trigger'] ||= 'focus'
        input_html_options['data-original-title'] ||= tooltip_text
        nil
      end

      def tooltip_text
        tooltip = options[:tooltip]
        tooltip if tooltip.is_a?(String)
        tooltip[1] if tooltip.is_a?(Array)
      end

      def tooltip_position
        tooltip = options[:tooltip]
        tooltip.is_a?(Array) ? tooltip[0] : 'right'
      end
    end

    # Helper para activar los typeahead en los componentes bootstrap
    module Typeahead
      def typeahead(_wrapper_options = nil)
        return if typeahead_source.empty?
        input_html_options['data-provide'] ||= 'typeahead'
        input_html_options['data-items'] ||= 5
        input_html_options['data-source'] ||= typeahead_source.inspect.to_s
        nil
      end

      def typeahead_source
        Array(options[:typeahead])
      end
    end
  end
end

SimpleForm::Inputs::Base.send(:include, SimpleForm::Components::Icons)

SimpleForm::Inputs::Base.send(:include, SimpleForm::Components::Tooltips)

SimpleForm::Inputs::Base.send(:include, SimpleForm::Components::Typeahead)

Version data entries

32 entries across 31 versions & 1 rubygems

Version Path
keppler-2.1.22 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.21 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.20 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.19 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.18 testing-with-2.1.18/config/initializers/simple_form_components.rb
keppler-2.1.18 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.17 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.16 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.15 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.14 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.13 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.12 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.11 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.10 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.9 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.8 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.7 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.6 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.5 installer/core/config/initializers/simple_form_components.rb
keppler-2.1.4 installer/core/config/initializers/simple_form_components.rb