Sha256: 71affa47db9f57b7a0e4b618a0ef6722903a87fdd426cec233653aea1fa43e87

Contents?: true

Size: 1.33 KB

Versions: 13

Compression:

Stored size: 1.33 KB

Contents

module Locomotive
  class FileInput

    include Formtastic::Inputs::Base

    def to_html
      input_wrapping do
        label_html
      end
    end

    def input_wrapping(&block)
      template.content_tag(:li,
        [template.capture(&block), file_wrapper_html, error_html, hint_html].join("\n").html_safe,
        wrapper_html_options
      )
    end

    def file_wrapper_html
      template.content_tag(:script,
        %(
          {{#if url}}
          #{with_file_html}
          {{else}}
          #{without_file_html}
          {{/if}}).html_safe,
        :type => 'text/html', :id => "#{method}_file_input")
    end

    def with_file_html
      cancel_message = I18n.t('locomotive.shared.form.cancel')

      html =  template.link_to '{{filename}}', '{{url}}', :target => '_blank'
      html += builder.file_field(method, input_html_options.merge(:style => 'display: none'))
      html += template.link_to I18n.t('locomotive.shared.form.change_file'), '#', :class => 'change', :'data-alt-label' => cancel_message
      html += template.link_to I18n.t('locomotive.shared.form.delete_file'), '#', :class => 'delete', :'data-alt-label' => cancel_message
      html += builder.hidden_field "remove_#{method}", :class => 'remove-flag'
    end

    def without_file_html
      builder.file_field(method, input_html_options).html_safe
    end

  end
end

Version data entries

13 entries across 13 versions & 2 rubygems

Version Path
tribeca_cms-0.1.1 app/inputs/locomotive/file_input.rb
tribeca_cms-2.0.0.rc12 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc12 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc11 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc10 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc9 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc8 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc7 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc6 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc5 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc4 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc2 app/inputs/locomotive/file_input.rb
locomotive_cms-2.0.0.rc1 app/inputs/locomotive/file_input.rb