Sha256: 0f046eb960d91a8a0858a14b90555f6167935e66284187864d140fefd02e25ac
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
module UJS::ControllerMethods def self.included(base) base.class_eval do before_filter :store_controller_for_helpers before_filter :initialise_js_behaviours after_filter :store_js_behaviours end end # Lets you register javascript behaviours from within # the controller. For a description of the different options # available, see UJS::Helpers#apply_behaviour (note: # this function does not take a block like the view helper version) def apply_behaviour(selector, behaviour, opts={}) opts.reverse_merge!(:prevent_default => false) @js_behaviours.add_rule(selector, behaviour, opts[:prevent_default]) end def cache_behaviours @js_behaviours.enable_cache end def reapply_behaviours_after_ajax=(val) @js_behaviours.reapply_after_ajax = val end # Make American and English spellings both work for apply_behaviour alias_method :apply_behavior, :apply_behaviour protected # Initialises the javascript behaviours def initialise_js_behaviours @js_behaviours = UJS::BehaviourScript.new(@cache_behaviours) end # Clears the array of registered javascript behaviours def reset_js_behaviours session[:js_behaviours] = nil end # Returns a BehaviourScript from the behaviours serialized to the session def js_behaviours return nil if session[:js_behaviours].nil? UJS::BehaviourScriptConverter.convert_from_hash(session[:js_behaviours]) end # Stores all registered javascript behaviours in the session as a hash def store_js_behaviours session[:js_behaviours] = @js_behaviours.to_hash end def store_controller_for_helpers ActionView::Helpers.current_controller = self end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
compages-0.4.0 | vendor/plugins/unobtrusive_javascript/lib/ujs/controller_methods.rb |