Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- utils.Event.Binding = function (master, event) {
- var self = this;
- var wrapper = function (func) {
- var args = Array.prototype.slice(arguments, 1);
- func.apply(self, self.args(args));
- };
- this.on = function (func) {
- return master.on(event, wrapper.bind(self, func));
- };
- this.args = function () { return arguments; };
- };
- utils.Event.bind = function (master, event, args) {
- var eventBinding = new utils.Event.Binding(master, event);
- if (args != null) {
- eventBinding.args = args;
- }
- return eventBinding;
- };
- utils.Event.Merger = function (events) {
- var self = this;
- var wrapper = function (func) {
- var args = Array.prototype.slice(arguments, 1);
- func.apply(self, self.args(args));
- };
- this.on = function (func) {
- events.forEach(function (event) {
- event.on(wrapper.bind(self, func));
- });
- };
- this.args = function () { return arguments; };
- };
- utils.Event.merge = function (events, args) {
- var mergedEvent = new utils.Event.Merger(events);
- if (args != null) {
- mergedEvent.args = args;
- }
- return mergedEvent;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement