Module: BootstrapPagedown::FormBuilder

Defined in:
lib/bootstrap_pagedown/form_builder.rb

Instance Method Summary collapse

Instance Method Details

#pagedown_custom_attributes(options) ⇒ Object



28
29
30
# File 'lib/bootstrap_pagedown/form_builder.rb', line 28

def pagedown_custom_attributes( options )
  options.except :skip_preview, :panel_class, :panel_id, :button_bar_id, :button_bar_class, :editor_id, :editor_class, :preview_id, :preview_class
end

#pagedown_default_values(options) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/bootstrap_pagedown/form_builder.rb', line 17

def pagedown_default_values( options )
  options[:skip_preview]  ||= false
  options[:panel_class]   ||= 'wmd-panel'
  options[:button_bar_id] ||= 'wmd-button-bar'
  options[:editor_id]     ||= 'wmd-input'
  options[:editor_class]  ||= 'wmd-input'
  options[:preview_id]    ||= 'wmd-preview'

  options
end

#pagedown_editor(method, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/bootstrap_pagedown/form_builder.rb', line 3

def pagedown_editor(method, options={})
  options         = pagedown_default_values options
  custom_options  = pagedown_custom_attributes options

  @template.( :div, id: options[:panel_id], class: options[:panel_class] ) do
    @template.( :div, nil, id: options[:button_bar_id], class: options[:button_bar_class] ) +
    @template.text_area( @object_name, method, objectify_options( custom_options ).merge( id: options[:editor_id], class: options[:editor_class] ) ) +

    unless options[:skip_preview]
      @template. :div, nil, id: options[:preview_id], class: options[:preview_class]
    end
  end
end