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 [, context])
-
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 Argument Description namestring | Object Event(s) to trigger before. Accepts multiple space-separated event names or an event map.
callbackfunction Function to be called.
contextObject <optional>
Value to be assigned to
thiswhen the callback is fired.Returns:
Instance of this class.
- Type
- Object
-
<static> offBefore( [name] [, callback] [, context])
-
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 Argument Description namestring <optional>
Event(s) to remove the listeners for.
callbackfunction <optional>
Callback to remove specifically for a given event.
contextObject <optional>
Context to use when determining which callback to remove.
Returns:
Instance of this class.
- Type
- Object
-
<static> triggerBefore(name)
-
Triggers the before callback for the given event
nameor list of events.The following example triggers the callback bound to the before
saveevent 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 namestring The before event(s) to trigger.
Returns:
Returns
trueif the event should be triggered,falseotherwise.- Type
- boolean