123456789101112131415161718192021222324 |
- 'use strict';
- crop.factory('cropPubSub', [function() {
- return function() {
- var events = {};
- // Subscribe
- this.on = function(names, handler) {
- names.split(' ').forEach(function(name) {
- if (!events[name]) {
- events[name] = [];
- }
- events[name].push(handler);
- });
- return this;
- };
- // Publish
- this.trigger = function(name, args) {
- angular.forEach(events[name], function(handler) {
- handler.call(null, args);
- });
- return this;
- };
- };
- }]);
|