diff options
author | Richard Beales <[email protected]> | 2013-03-18 07:32:01 +0000 |
---|---|---|
committer | Richard Beales <[email protected]> | 2013-03-18 07:32:01 +0000 |
commit | 7c97d17aaf373339a8bcd917ad59ca6018148f0d (patch) | |
tree | 5a3c04f0f9529be392c1263d3feb75806eb43797 /lib/dojo/Evented.js.uncompressed.js | |
parent | 70db7424e7068701e60cc5bcdfe8f858be508179 (diff) | |
parent | c670a80ddd9b03bd4ea6d940a9ed682fd26248d7 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'lib/dojo/Evented.js.uncompressed.js')
-rw-r--r-- | lib/dojo/Evented.js.uncompressed.js | 35 |
1 files changed, 35 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..08a7fb7e4 --- /dev/null +++ b/lib/dojo/Evented.js.uncompressed.js @@ -0,0 +1,35 @@ +define("dojo/Evented", ["./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: + // + // | 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", ...}); + } + 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; +}); |