class Forma::ImageField

Image upload field.

Public Class Methods

new(h = {}) click to toggle source
Calls superclass method Forma::SimpleField::new
# File lib/forma/field.rb, line 383
def initialize(h = {})
  h = h.symbolize_keys
  @popover = h[:popover]
  @height = h[:height] || 200
  @width = h[:width] || 200
  super(h)
end

Public Instance Methods

edit_element(val) click to toggle source
# File lib/forma/field.rb, line 406
def edit_element(val)
  el('input', attrs: { name: parameter_name, type: 'file' })
end
view_element(val) click to toggle source
# File lib/forma/field.rb, line 391
def view_element(val)
  popover_data = {}
  image_url = val.respond_to?(:url) ? val.url : val.to_s
  if @popover
    popover_data['data-original-title'] = eval_with_model(@popover[:title])
    url = eval_with_model(@popover[:url])
    popover_data['data-content'] = %Q{<div style="height: #{@height}px; width: #{@width}px;"><img src="#{url}"></img></div>}
    popover_data['data-html'] = 'true'
    popover_data['data-placement'] = @popover[:placement]
    el('img', attrs: { src: image_url, class: 'ff-popover' }.merge(popover_data))
  else
    el('img', attrs: { src: image_url })
  end
end