lib/trestle/form/fields/file_field.rb in trestle-0.8.13 vs lib/trestle/form/fields/file_field.rb in trestle-0.9.0

- old
+ new

@@ -1,10 +1,29 @@ module Trestle class Form module Fields class FileField < Field def field - builder.raw_file_field(name, options) + 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