Sha256: c1a834602e54e0a62ababfc9dac1eb221d5072370714a0c73a49f5a723fa725a

Contents?: true

Size: 1.2 KB

Versions: 9

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

class DatePickerInput < SimpleForm::Inputs::StringInput
  # Note that where we use `wrapper: :clockpicker` or `wrapper: horizontal_clockpicker`,
  # #input is not called and we call #prefix_column and #input_column directly.
  def input(_wrapper_options)
    template.content_tag(:div, class: "row collapse #{class_name}-wrapper") do
      template.concat prefix_column
      template.concat input_column
    end
  end

  def prefix_column(_wrapper_options = {})
    template.content_tag(:div, class: "small-2 columns") do
      template.concat icon_calendar
    end
  end

  def input_column(_wrapper_options = {})
    html_options = input_html_options
    html_options[:class] ||= []
    html_options[:class] << class_name
    template.content_tag(:div, class: "small-10 columns") do
      datestamp = @builder.object.public_send(attribute_name)
      value = datestamp.present? ? I18n.l(datestamp) : ""
      template.concat @builder.text_field(attribute_name, html_options.merge(value: value))
    end
  end

  def icon_calendar
    "<span class='prefix'><i class='fa fa-calendar'></i></span>".html_safe
  end

  def input_type
    :string
  end

  def class_name
    "datepicker"
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
renalware-core-2.0.26 app/inputs/date_picker_input.rb
renalware-core-2.0.25 app/inputs/date_picker_input.rb
renalware-core-2.0.24 app/inputs/date_picker_input.rb
renalware-core-2.0.23 app/inputs/date_picker_input.rb
renalware-core-2.0.22 app/inputs/date_picker_input.rb
renalware-core-2.0.21 app/inputs/date_picker_input.rb
renalware-core-2.0.20 app/inputs/date_picker_input.rb
renalware-core-2.0.18 app/inputs/date_picker_input.rb
renalware-core-2.0.17 app/inputs/date_picker_input.rb