diff options
Diffstat (limited to 'lib/dojo/Evented.js.uncompressed.js')
-rw-r--r-- | lib/dojo/Evented.js.uncompressed.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/dojo/Evented.js.uncompressed.js b/lib/dojo/Evented.js.uncompressed.js new file mode 100644 index 000000000..c39c9e71a --- /dev/null +++ b/lib/dojo/Evented.js.uncompressed.js @@ -0,0 +1,32 @@ +define("dojo/Evented", ["./aspect", "./on"], function(aspect, on){ + // summary: + // The export of this module is 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 emiting events: + // |define(["dojo/Evented"], function(Evented){ + // | var EventedWidget = dojo.declare([Evented, dijit._Widget], {...}); + // | widget = new EventedWidget(); + // | widget.on("open", function(event){ + // | ... do something with event + // | }); + // | + // | widget.emit("open", {name:"some event", ...}); + + "use strict"; + var after = aspect.after; + function Evented(){ + } + 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; +}); |