module ActionView::Helpers::JqueryUiHelper
Constants
- JQUERY_VAR
- SCRIPTACULOUS_EFFECTS
Public Instance Methods
array_or_string_for_javascript(option)
click to toggle source
# File lib/action_view/helpers/jquery_ui_helper.rb, line 153 def array_or_string_for_javascript(option) if option.kind_of?(Array) "['#{option.join('\',\'')}']" elsif !option.nil? "'#{option}'" end end
draggable_element(element_id, options = {})
click to toggle source
# File lib/action_view/helpers/jquery_ui_helper.rb, line 121 def draggable_element(element_id, options = {}) javascript_tag(draggable_element_js(element_id, options).chop!) end
draggable_element_js(element_id, options = {})
click to toggle source
# File lib/action_view/helpers/jquery_ui_helper.rb, line 125 def draggable_element_js(element_id, options = {}) %(#{JQUERY_VAR}("#{jquery_id(element_id)}").draggable(#{options_for_javascript(options)});) end
drop_receiving_element(element_id, options = {})
click to toggle source
# File lib/action_view/helpers/jquery_ui_helper.rb, line 129 def drop_receiving_element(element_id, options = {}) javascript_tag(drop_receiving_element_js(element_id, options).chop!) end
drop_receiving_element_js(element_id, options = {})
click to toggle source
# File lib/action_view/helpers/jquery_ui_helper.rb, line 133 def drop_receiving_element_js(element_id, options = {}) #convert similar options options[:hoverClass] = options.delete(:hoverclass) if options[:hoverclass] options[:drop] = options.delete(:onDrop) if options[:onDrop] if options[:drop] || options[:url] options[:with] ||= "'id=' + encodeURIComponent(#{JQUERY_VAR}(ui.draggable).attr('id'))" options[:drop] ||= "function(ev, ui){" + remote_function(options) + "}" end options.delete_if { |key, value| JqueryHelper::AJAX_OPTIONS.include?(key) } options[:accept] = array_or_string_for_javascript(options[:accept]) if options[:accept] [:activeClass, :hoverClass, :tolerance].each do |option| options[option] = "'#{options[option]}'" if options[option] end %(#{JQUERY_VAR}('#{jquery_id(element_id)}').droppable(#{options_for_javascript(options)});) end
sortable_element(element_id, options = {})
click to toggle source
# File lib/action_view/helpers/jquery_ui_helper.rb, line 68 def sortable_element(element_id, options = {}) javascript_tag(sortable_element_js(element_id, options).chop!) end
visual_effect(name, element_id = false, js_options = {})
click to toggle source
# File lib/action_view/helpers/jquery_ui_helper.rb, line 36 def visual_effect(name, element_id = false, js_options = {}) if SCRIPTACULOUS_EFFECTS.has_key? name.to_sym effect = SCRIPTACULOUS_EFFECTS[name.to_sym] name = effect[:method] mode = effect[:mode] js_options = js_options.merge(effect[:options]) if effect[:options] end [:color, :direction, :startcolor, :endcolor].each do |option| js_options[option] = "'#{js_options[option]}'" if js_options[option] end if js_options.has_key? :duration speed = js_options.delete :duration speed = (speed * 1000).to_i unless speed.nil? else speed = js_options.delete :speed end if %w[fadeIn fadeOut fadeToggle].include? name javascript = "#{JQUERY_VAR}(\"#{jquery_id(element_id)}\").#{name}(" javascript << "#{speed}" unless speed.nil? javascript << ");" else javascript = "#{JQUERY_VAR}(\"#{jquery_id(element_id)}\").#{mode || 'effect'}('#{name}'" javascript << ",#{options_for_javascript(js_options)}" unless speed.nil? && js_options.empty? javascript << ",#{speed}" unless speed.nil? javascript << ");" end end