BeforeEvent is a mixin that provides methods to create hooks that run
before a certain event.
Usage Example:
const BeforeEvent = require('core/before-event');
_.extend(MyObject, BeforeEvent);
 
        
        
    
    
    
    
    
    
    
    
    
    
    
    
    
        
    
    
    
    
        
    
     
    
    
    
     
    
    
    
        Methods
        
            
    
    
        #
        (static) before(name, callback, contextopt) → {Object}
    
    
    
        Adds a callback/hook to be fired before an action is taken. If that
callback returns false, the action should not be taken.
The following example binds a callback function and passes the scope
from the view component to use in that callback:
model.before('save', this.doSomethingBeforeSave, this);
Multiple space-separated event names can be bound to a single callback:
view.before('save dispose', this.callback, this);
This method also supports an event map syntax, as an alternative to
positional arguments:
this.before({
    render: this.doSomethingBeforeRender,
    dispose: this.doSomethingBeforeDispose,
});
     
    
        Parameters:
        
    
    
        
        | Name | 
        
        Type | 
        
        Attributes | 
        
        
        Description | 
    
    
    
    
        
            
                name | 
            
            
            
                
string
|
Object
            
             | 
            
                
                
                
                
                 | 
            
            
            Event(s) to trigger before. Accepts multiple
space-separated event names or an event map.  | 
        
    
        
            
                callback | 
            
            
            
                
function
            
             | 
            
                
                
                
                
                 | 
            
            
            Function to be called.  | 
        
    
        
            
                context | 
            
            
            
                
Object
            
             | 
            
                
                
                    <optional> 
                
                
                
                 | 
            
            
            Value to be assigned to this when the
callback is fired.  | 
        
    
    
     
    
    
    
    
    
    
    
    
    
    
    
    
    
        
    
    
    
    
    
        
            
    
    
        #
        (static) offBefore(nameopt, callbackopt, contextopt) → {Object}
    
    
    
        Removes a previously-bound callback function from a before event.
If no context is given, all of the versions of the callback with
different contexts will be removed:
this.offBefore('render', this.onRenderBefore);
If no callback is given, all callbacks for the before event will
be removed:
this.offBefore('render');
If no event is specified, all callbacks for all before events
will be removed from the object:
this.offBefore();
     
    
        Parameters:
        
    
    
        
        | Name | 
        
        Type | 
        
        Attributes | 
        
        
        Description | 
    
    
    
    
        
            
                name | 
            
            
            
                
string
            
             | 
            
                
                
                    <optional> 
                
                
                
                 | 
            
            
            Event(s) to remove the listeners for.  | 
        
    
        
            
                callback | 
            
            
            
                
function
            
             | 
            
                
                
                    <optional> 
                
                
                
                 | 
            
            
            Callback to remove specifically for
a given event.  | 
        
    
        
            
                context | 
            
            
            
                
Object
            
             | 
            
                
                
                    <optional> 
                
                
                
                 | 
            
            
            Context to use when determining which
callback to remove.  | 
        
    
    
     
    
    
    
    
    
    
    
    
    
    
    
    
    
        
    
    
    
    
    
        
            
    
    
        #
        (static) triggerBefore(name) → {boolean}
    
    
    
        Triggers the before callback for the given event name or list of
events.
The following example triggers the callback bound to the before save
event given:
this.triggerBefore('save');
Multiple events can be triggered as well:
this.triggerBefore('save render dispose');
Custom arguments (e.g. a, b, c) can be passed to the callback:
this.triggerBefore('save', a, b, c);
     
    
        Parameters:
        
    
    
        
        | Name | 
        
        Type | 
        
        
        Description | 
    
    
    
    
        
            
                name | 
            
            
            
                
string
            
             | 
            
            
            The before event(s) to trigger.  | 
        
    
    
     
    
    
    
    
    
    
    
    
    
    
    
    
    
        
    
    
    
    
    
    Returns:
        
            
    Returns true if the event should be triggered,
false otherwise.
 
    - 
        Type
    
 
    - 
        
boolean