Sha256: 0d019791e165b237ad4eac8055a4050853e272430f12683bfdaf3514bfce89fb

Contents?: true

Size: 872 Bytes

Versions: 4

Compression:

Stored size: 872 Bytes

Contents

module Trestle
  class Form
    module Fields
      class FileField < Field
        def field
          if custom?
            content_tag(:div, class: "custom-file") do
              concat builder.raw_file_field(name, options.merge(class: "custom-file-input"))
              concat builder.label(name, choose_file_text, class: "custom-file-label", data: { browse: browse_text })
            end
          else
            builder.raw_file_field(name, options)
          end
        end

        def custom?
          options[:custom] != false
        end

        def choose_file_text
          I18n.t("trestle.file.choose_file", default: "Choose file")
        end

        def browse_text
          I18n.t("trestle.file.browse", default: "Browse")
        end
      end
    end
  end
end

Trestle::Form::Builder.register(:file_field, Trestle::Form::Fields::FileField)

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
trestle-0.9.3 lib/trestle/form/fields/file_field.rb
trestle-0.9.2 lib/trestle/form/fields/file_field.rb
trestle-0.9.1 lib/trestle/form/fields/file_field.rb
trestle-0.9.0 lib/trestle/form/fields/file_field.rb