Class: ActionView::Helpers::Tags::Select

Inherits:
Base
  • Object
show all
Includes:
JavaScriptHelper
Defined in:
lib/prime/rails/tags/select.rb

Overview

:nodoc:

Instance Method Summary collapse

Methods included from JavaScriptHelper

#p_javascript_tag

Instance Method Details

#p_renderObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/prime/rails/tags/select.rb', line 7

def p_render          
  option_tags_options = {
    :selected => @options.fetch(:selected) { value(@object) },
    :disabled => @options[:disabled]
  }

  option_tags = if grouped_choices?
    grouped_options_for_select(@choices, option_tags_options)
  else
    options_for_select(@choices, option_tags_options)
  end

  (option_tags, @options, @html_options)                  
end

#p_select_content_tag(option_tags, options, html_options) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/prime/rails/tags/select.rb', line 22

def (option_tags, options, html_options)
  html_options = html_options.stringify_keys
  add_default_name_and_id(html_options)
  options[:include_blank] ||= true unless options[:prompt] || select_not_required?(html_options)
  select = ("select", add_options(option_tags, options, value(object)), html_options)

  if html_options["multiple"] && options.fetch(:include_hidden, true)
    output = tag("input", :disabled => html_options["disabled"], :name => html_options["name"], :type => "hidden", :value => "") + select
  else
    output = select
  end

  clientid = sanitize_to_id(html_options["id"])
  widgetvar = options.has_key?("widgetVar") ? options["widgetVar"] : "widget_"+clientid         

  options_ui = options
  options_ui = options_ui.merge(:id => clientid )                         
  options_ui = options_ui.to_json        

  script = '$(function() {'
  script += "PrimeFaces.cw('Dropdown','#{widgetvar}',#{options_ui})"
  script += '});'         
  output += p_javascript_tag(script, "id" => clientid+"_s")                
end