]> git.wh0rd.org - tt-rss.git/blobdiff - lib/dojo/Evented.js.uncompressed.js
update dojo to 1.7.3
[tt-rss.git] / lib / dojo / Evented.js.uncompressed.js
diff --git a/lib/dojo/Evented.js.uncompressed.js b/lib/dojo/Evented.js.uncompressed.js
new file mode 100644 (file)
index 0000000..c39c9e7
--- /dev/null
@@ -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;
+});