Source: directives/mensageria/editar-grupo/editar-grupo.service.js

/**
 * @ngdoc directives
 * @name EditarGrupoService
 * @module s4c.directives.mensageria.editargrupo.EditarGrupoService
 *
 * @description
 * `MensageriaEditarGrupoService` Componente para acesso ao api do backend e/ou comunicação entre controllers
 * 
 */
(function () {
    angular.module('s4c.components.collaboration')
        .factory('MensageriaEditarGrupoService', MensageriaEditarGrupoService);

        /**
         * @method MensageriaEditarGrupoService
         */
    function MensageriaEditarGrupoService() {
        var service = {
            on: on,
            trigger: trigger,
            _events: {
                'usuarioRemovido': []
            }
        };

        /**
         * @method on
         * @param {*} eventName 
         * @param {*} callback 
         */
        function on(eventName, callback) {
            service._events[eventName].push(callback);
        }

        /**
         * @method trigger
         * @param {*} eventName 
         * @param {*} args 
         */
        function trigger(eventName, args) {
            _.each(service._events[eventName], function (callback) {
                callback(args);
            });
        }

        return service;
    }
}());