Sha256: 401d93d742c257e36a61c48c6a3e1558c16a35f63d9f2d45782f41a2291ff311

Contents?: true

Size: 1.99 KB

Versions: 20

Compression:

Stored size: 1.99 KB

Contents

require 'ui_bibz/ui/extensions/core/forms/surround_extension'
module UiBibz::Ui::Core::Forms::Numbers

  # Create a NumberField
  #
  # This element is an extend of UiBibz::Ui::Core::Component.
  #
  # ==== Attributes
  #
  # * +content+ - Content of element
  # * +options+ - Options of element
  # * +html_options+ - Html Options of element
  #
  # ==== Options
  #
  # You can add HTML attributes using the +html_options+.
  # You can pass arguments in options attribute:
  # * +prepend+ - String, Html
  # * +append+ - String, Html
  # * +max+ - [Float, Integer]
  # * +min+ - [Float, Integer]
  # * +step+ - [Float, Integer]
  # * +in+ - Array
  # * +within+ - Array
  #
  # ==== Signatures
  #
  #   UiBibz::Ui::Core::Forms::Numbers::NumberField.new(content, options = {}, html_options = {}).render
  #
  #   UiBibz::Ui::Core::Forms::Numbers::NumberField.new(options = {}, html_options = {}) do
  #     content
  #   end.render
  #
  # ==== Examples
  #
  #   UiBibz::Ui::Core::Forms::Numbers::NumberField.new('search', prepend: 'Prepend content', append: 'Append content', class: 'test')
  #
  #   UiBibz::Ui::Core::Forms::Numbers::NumberField.new(prepend: glyph('pencil'), append: glyph('camera-retro')) do
  #     #content
  #   end
  #
  # ==== Helper
  #
  #   ui_number_field(options = {}, html_options = {}) do
  #    # content
  #   end
  #
  class NumberField < UiBibz::Ui::Core::Forms::Texts::TextField

    # See UiBibz::Ui::Core::Component.initialize
    def initialize content = nil, options = nil, html_options = nil, &block
      super
    end

    # Render html tag
    def pre_render
      surround_field number_field_input_tag
    end

    private

    # Simple_form or not
    def number_field_input_tag
      number_field_tag content, options[:value] || html_options[:value], html_options
    end

    def component_html_options
      {
        min: options[:min],
        max: options[:max],
        step: options[:step],
        in: options[:in],
        within: options[:within]
      }
    end

  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
ui_bibz-2.4.0 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.15 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.14 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.13 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.12 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.11 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.10 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.9 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.8 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.7 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.6 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.5 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.4 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.3 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.2 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.1 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.3.0 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.2.2 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.2.1 lib/ui_bibz/ui/core/forms/numbers/number_field.rb
ui_bibz-2.2.0 lib/ui_bibz/ui/core/forms/numbers/number_field.rb