Module: LatoBlog::FieldsHelper

Defined in:
app/helpers/lato_blog/fields_helper.rb

Instance Method Summary collapse

Instance Method Details

#field_general_get_default_classObject

Single field helpers functions: **************************************************************************



97
98
99
# File 'app/helpers/lato_blog/fields_helper.rb', line 97

def field_general_get_default_class
  'xs-12 sm-12 md-12 lg-12'
end

#field_relay_generate_components(post_field) ⇒ Object



101
102
103
104
105
106
107
108
109
110
111
# File 'app/helpers/lato_blog/fields_helper.rb', line 101

def field_relay_generate_components(post_field)
  components = []
  post_field.post_fields.visibles.order('position ASC').each do |child_post_field|
    components.push({
      id: "position#{child_post_field.id}",
      position: child_post_field.position,
      render: render_post_field(child_post_field, "fields[#{post_field.id}]")
    })
  end
  components
end

#render_post_field(post_field, key_parent = 'fields') ⇒ Object

This function render a single post field.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'app/helpers/lato_blog/fields_helper.rb', line 12

def render_post_field(post_field, key_parent = 'fields')
  # define key
  key = "#{key_parent}[#{post_field.id}]"
  # render correct field
  case post_field.typology
  when 'text'
    render_post_field_text(post_field, key)
  when 'datetime'
    render_post_field_datetime(post_field, key)
  when 'editor'
    render_post_field_editor(post_field, key)
  when 'geolocalization'
    render_post_field_geolocalization(post_field, key)
  when 'image'
    render_post_field_image(post_field, key)
  when 'gallery'
    render_post_field_gallery(post_field, key)
  when 'youtube'
    render_post_field_youtube(post_field, key)
  when 'composed'
    render_post_field_composed(post_field, key)
  when 'relay'
    render_post_field_relay(post_field, key)
  end
end

#render_post_field_composed(post_field, key) ⇒ Object

Composed.



85
86
87
# File 'app/helpers/lato_blog/fields_helper.rb', line 85

def render_post_field_composed(post_field, key)
  render 'lato_blog/back/post_fields/fields/composed', post_field: post_field, key: key
end

#render_post_field_datetime(post_field, key) ⇒ Object

Datetime.



47
48
49
# File 'app/helpers/lato_blog/fields_helper.rb', line 47

def render_post_field_datetime(post_field, key)
  render 'lato_blog/back/post_fields/fields/datetime', post_field: post_field, key: key
end

#render_post_field_editor(post_field, key) ⇒ Object

Editor.



52
53
54
# File 'app/helpers/lato_blog/fields_helper.rb', line 52

def render_post_field_editor(post_field, key)
  render 'lato_blog/back/post_fields/fields/editor', post_field: post_field, key: key
end

#render_post_field_gallery(post_field, key) ⇒ Object

Gallery.



75
76
77
# File 'app/helpers/lato_blog/fields_helper.rb', line 75

def render_post_field_gallery(post_field, key)
  render 'lato_blog/back/post_fields/fields/gallery', post_field: post_field, key: key
end

#render_post_field_geolocalization(post_field, key) ⇒ Object

Geolocalization.



57
58
59
60
61
62
63
64
65
66
67
# File 'app/helpers/lato_blog/fields_helper.rb', line 57

def render_post_field_geolocalization(post_field, key)
  value_object = post_field.value ? eval(post_field.value) : nil
  render(
    'lato_blog/back/post_fields/fields/geolocalization',
    post_field: post_field,
    key: key,
    lat: value_object ? value_object[:lat] : nil,
    lng: value_object ? value_object[:lng] : nil,
    address: value_object ? value_object[:address] : nil
  )
end

#render_post_field_image(post_field, key) ⇒ Object

Image.



70
71
72
# File 'app/helpers/lato_blog/fields_helper.rb', line 70

def render_post_field_image(post_field, key)
  render 'lato_blog/back/post_fields/fields/image', post_field: post_field, key: key
end

#render_post_field_relay(post_field, key) ⇒ Object

Relay.



90
91
92
# File 'app/helpers/lato_blog/fields_helper.rb', line 90

def render_post_field_relay(post_field, key)
  render 'lato_blog/back/post_fields/fields/relay', post_field: post_field, key: key
end

#render_post_field_text(post_field, key) ⇒ Object

Text.



42
43
44
# File 'app/helpers/lato_blog/fields_helper.rb', line 42

def render_post_field_text(post_field, key)
  render 'lato_blog/back/post_fields/fields/text', post_field: post_field, key: key
end

#render_post_field_youtube(post_field, key) ⇒ Object

Youtube.



80
81
82
# File 'app/helpers/lato_blog/fields_helper.rb', line 80

def render_post_field_youtube(post_field, key)
  render 'lato_blog/back/post_fields/fields/youtube', post_field: post_field, key: key
end

#render_post_fields(post) ⇒ Object

This function render the partial used to render post fields for a specific post.



6
7
8
9
# File 'app/helpers/lato_blog/fields_helper.rb', line 6

def render_post_fields(post)
  post_fields = post.post_fields.visibles.roots.order('position ASC')
  render 'lato_blog/back/posts/shared/fields', post_fields: post_fields
end