Module: JqPlotRails::ActionView
- Includes:
- RailsJavaScriptHelpers
- Defined in:
- lib/jqplot_rails/jqplot_action_view.rb
Instance Method Summary collapse
- 
  
    
      #jqplot(dom_id, data, opts = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    - dom_id
- DOM ID to contain plot (also used for referencing instance) data
- Array of plot data opts
- 
Options hash provided to jqplot Creates a new plot instance NOTE: If :raw => true is passed in the opts, the result will be the raw javascript not wrapped within tags. 
 
 
 
- 
  
    
      #jqplot_data_onclick(dom_id, opts = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    - dom_id
- DOM ID used for the plot opts
- 
Ooptions hash for building plot binding - :function -> RawJS instance with full function defined - :link_to -> :remote Bind to click event on data and make request. 
 
 
- 
  
    
      #jqplot_reset_plot(dom_id, *args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    - dom_id
- DOM ID used for the plot args
- 
Extra arguments Resets the plot to its original state NOTE: If :raw is passed in the args, the result will be the raw javascript not wrapped within tags. 
 
 
- 
  
    
      #jqplot_reset_plot_button(text, dom_id, *args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    - text
- Button text dom_id
- DOM ID used for the plot args
- 
Extra arguments passed to #button_to_function Returns a button for resetting the given plot. 
 
 
 
- 
  
    
      #jqplot_reset_plot_link(text, dom_id, *args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    - text
- Link text dom_id
- DOM ID used for the plot args
- 
Extra arguments passed to #link_to_function Returns a link for resetting the given plot. 
 
 
 
- 
  
    
      #jqplot_resizable(dom_id, *args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    - dom_id
- DOM ID used for the plot args
- 
Extra arguments Makes the provided plot resizable NOTE: If :raw is passed in the args, the result will be the raw javascript not wrapped within tags. 
 
 
Instance Method Details
#jqplot(dom_id, data, opts = {}) ⇒ Object
- dom_id
- 
DOM ID to contain plot (also used for referencing instance) 
- data
- 
Array of plot data 
- opts
- 
Options hash provided to jqplot 
Creates a new plot instance NOTE: If :raw => true is passed in the opts, the result will be the raw javascript not wrapped within tags
| 13 14 15 16 17 | # File 'lib/jqplot_rails/jqplot_action_view.rb', line 13 def jqplot(dom_id, data, opts={}) output = jqplot_setup output << "window._jqplot_rails['#{_j_key(dom_id)}'] = jQuery.jqplot('#{_j_key(dom_id)}', #{format_type_to_js(data)}, #{format_type_to_js(opts)});".html_safe _j_wrap(opts[:raw], output) end | 
#jqplot_data_onclick(dom_id, opts = {}) ⇒ Object
- dom_id
- 
DOM ID used for the plot 
- opts
- 
Ooptions hash for building plot binding 
- :function -> RawJS instance with full function defined
- :link_to -> {:url, :remote}
Bind to click event on data and make request
| 24 25 26 27 28 29 30 31 32 33 | # File 'lib/jqplot_rails/jqplot_action_view.rb', line 24 def jqplot_data_onclick(dom_id, opts={}) output = jqplot_setup raise 'Only :function or :link_to may be defined, not both.' if opts[:function].present? && opts[:link_to].present? raise 'Must provide :function or :link_to for event.' if opts[:function].blank? && opts[:link_to].blank? function = opts[:link_to].present? ? _j_build_click_url_event(dom_id, opts[:link_to]) : opts[:function] output << jqplot_exists(dom_id) do "jQuery(#{format_type_to_js(format_id(dom_id))}).bind('jqplotDataClick', #{format_type_to_js(function)});".html_safe end _j_wrap(opts[:raw], output) end | 
#jqplot_reset_plot(dom_id, *args) ⇒ Object
- dom_id
- 
DOM ID used for the plot 
- args
- 
Extra arguments 
Resets the plot to its original state NOTE: If :raw is passed in the args, the result will be the raw javascript not wrapped within tags
| 39 40 41 42 43 44 45 | # File 'lib/jqplot_rails/jqplot_action_view.rb', line 39 def jqplot_reset_plot(dom_id, *args) output = jqplot_setup output << jqplot_exists(dom_id) do "#{jqplot_instance(dom_id)}.replot({clear:true,resetAxes:true});" end _j_wrap(args.include?(:raw), output) end | 
#jqplot_reset_plot_button(text, dom_id, *args) ⇒ Object
- text
- 
Button text 
- dom_id
- 
DOM ID used for the plot 
- args
- 
Extra arguments passed to #button_to_function 
Returns a button for resetting the given plot
| 51 52 53 | # File 'lib/jqplot_rails/jqplot_action_view.rb', line 51 def (text, dom_id, *args) (text, jqplot_reset_plot(dom_id, :raw), *args) end | 
#jqplot_reset_plot_link(text, dom_id, *args) ⇒ Object
- text
- 
Link text 
- dom_id
- 
DOM ID used for the plot 
- args
- 
Extra arguments passed to #link_to_function 
Returns a link for resetting the given plot
| 59 60 61 | # File 'lib/jqplot_rails/jqplot_action_view.rb', line 59 def jqplot_reset_plot_link(text, dom_id, *args) link_to_function(text, jqplot_reset_plot(dom_id, :raw), *args) end | 
#jqplot_resizable(dom_id, *args) ⇒ Object
- dom_id
- 
DOM ID used for the plot 
- args
- 
Extra arguments 
Makes the provided plot resizable NOTE: If :raw is passed in the args, the result will be the raw javascript not wrapped within tags
| 67 68 69 70 71 72 73 74 75 76 | # File 'lib/jqplot_rails/jqplot_action_view.rb', line 67 def jqplot_resizable(dom_id, *args) resize_args = args.last if args.last.is_a?(Hash) resize_args ||= {:delay => 20} output = jqplot_setup output << jqplot_exists(dom_id) do "jQuery(#{format_type_to_js(format_id(dom_id))}).resizable(#{format_type_to_js(resize_args)});" + "jQuery(#{format_type_to_js(format_id(dom_id))}).bind('resize', function(event,ui){ #{jqplot_instance(dom_id)}.replot(); });" end _j_wrap(args.include?(:raw), output) end |