Plato on Github
Report Home
dojo/Evented.js
Maintainability
80.56
Lines of code
36
Difficulty
11.09
Estimated Errors
0.14
Function weight
By Complexity
By SLOC
define(["./aspect", "./on"], function(aspect, on){ // module: // dojo/Evented "use strict"; var after = aspect.after; function Evented(){ // summary: // A class that can be used as a mixin or base class, // to add on() and emit() methods to a class // for listening for events and emitting events: // example: // | define(["dojo/Evented", "dojo/_base/declare", "dojo/Stateful" // | ], function(Evented, declare, Stateful){ // | var EventedStateful = declare([Evented, Stateful], {...}); // | var instance = new EventedStateful(); // | instance.on("open", function(event){ // | ... do something with event // | }); // | // | instance.emit("open", {name:"some event", ...}); } Evented.prototype = { on: function(type, listener){ return on.parse(this, type, listener, function(target, type){ return after(target, 'on' + type, listener, true); }); }, emit: function(type, event){ var args = [this]; args.push.apply(args, arguments); return on.emit.apply(on, args); } }; return Evented; });