Module: CanvasFieldHelper

Defined in:
app/helpers/canvas_field_helper.rb

Instance Method Summary collapse

Instance Method Details

#canvas_data_field(active = false, options = {}) ⇒ Object



16
17
18
19
20
21
22
# File 'app/helpers/canvas_field_helper.rb', line 16

def canvas_data_field(active = false, options = {})
  klass = active ? 'active' : ''
  data = { additional_data: options[:additional_data].to_json,
           initial_data: options[:initial_data].to_json,
           content: options[:content] || '' }
  (:span, '', class: "#{klass} canvas_data_field", data: data)
end

#canvas_field(options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'app/helpers/canvas_field_helper.rb', line 4

def canvas_field(options = {})
  url = '/'
  url += options[:namespace].to_s + '/' if options[:namespace]
  url += options[:controller] || 'canvas_fields'

  background_url = options[:background_url].blank? ? '' : "url(#{options[:background_url]})"
  background = "background: #fff #{background_url} no-repeat center top"
  failure_message = 'Your browser does not support the canvas element.'

   :canvas, failure_message, id: :canvas_field, data: collect_data(url, options), style: background
end

#canvas_legend_field(options = {}) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'app/helpers/canvas_field_helper.rb', line 24

def canvas_legend_field(options = {})
  locals = { no_icon: (options[:no_icon] || false), no_header: (options[:no_header] || false) }
  %w[left middle right].each do |side|
    locals["#{side}_text".to_sym] = options["#{side}_text"] || ''
    locals["#{side}_initial".to_sym] = options["#{side}_initial"] || ''
    locals["#{side}_color".to_sym] = options["#{side}_color"] || '#ff0000'
    locals["#{side}_active".to_sym] = options["#{side}_active"] || false
  end
  render partial: 'ajax_canvas_field/canvas_legend', locals: locals
end

#ro_canvas_field(options = {}) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'app/helpers/canvas_field_helper.rb', line 35

def ro_canvas_field(options = {})
  data = collect_ro_data(options)
  background_url = options[:background_url].blank? ? '' : "url(#{options[:background_url]})"
  background = "background: #fff #{background_url} no-repeat center top"
  if options[:half_size]
    data[:width] = data[:width] / 2
    data[:height] = data[:height] / 2
    background += "; background_size: #{data[:width]}px #{data[:height]}px"
  end
  failure_message = 'Your browser does not support the canvas element.'

   :canvas, failure_message, data: data, style: background, class: 'canvas_field'
end