Source: directives/mensageria/compartilhar/compartilhar.js

/**
 * @ngdoc directives
 * @name Compartilhar
 * @module s4c.directives.mensageria.compartilhar.Compartilhar
 *
 * @description
 * `MensageriaCompartilhar` Controller da funcionalidade de compartilhamento no módulo de mensageria 
 * 
 * 
 */
(function () {
    'use strict';

    angular.module('s4c.components.collaboration')
        .directive('mensageriaCompartilhar', MensageriaCompartilhar);

    MensageriaCompartilhar.$inject = [
        'MensageriaService',
        'MensageriaChatUsuario',
        'AuthService',
        'MensageriaManager'
    ];

    /**
     * @member MensageriaCompartilhar
     * @param {*} MensageriaService 
     * @param {*} MensageriaChatUsuario 
     * @param {*} AuthService 
     * @param {*} MensageriaManager 
     */
    function MensageriaCompartilhar(MensageriaService, MensageriaChatUsuario, AuthService, MensageriaManager) {
        return {
            restrict: 'E',
            templateUrl: 'app/directives/mensageria/compartilhar/compartilhar.html',
            replace: true,
            scope: {
                'compartilharTipo': '=compartilharTipo',
                'compartilharNext': '=compartilharNext',
                'compartilharDados': '=compartilharDados',
                'compartilhamento': '=compartilhamento',
                'isCompartilharActive': '=isCompartilharActive'
            },
            link: function ($scope, $elem, $attrs) {
                $scope.res = $scope.$root.res;
                $scope.fechar = function () {
                    $scope.isCompartilharActive = false;
                    $scope.compartilhamento = false;
                    MensageriaManager.fechar();
                };

                $scope.compartilharInformacoes = {
                    informacoes: {}
                };

                /**
                 * @memberof MensageriaCompartilhar
                 * @method compartilhar
                 */
                $scope.compartilhar = function () {
                    var message = '';
                    message += 'Nome:  ' + $scope.compartilharDados.nome + ' ' + '<br/>' + ' ';
                    message += 'Descrição:  ' + $scope.compartilharDados.descricao + ' ' + '<br/>' + ' ';
                    message += 'Mensagem:  ' + $scope.compartilharTexto + ' ' + '<br/>' + ' ';
                    message += '@@' + $scope.compartilharDados.tipoObjeto + '|' + $scope.compartilharDados.id + '@@';

                    if ($scope.compartilharNext.participantes != null && $scope.compartilharNext.participantes.length > 0) {
                        MensageriaService.enviarMensagemGrupo($scope.compartilharNext.id, message)
                            .then(function () {
                                $scope.isCompartilharActive = false;
                                $scope.compartilhamento = false;
                            });
                    } else {
                        MensageriaService.enviarMensagem($scope.compartilharNext.id, message)
                            .then(function () {
                                $scope.isCompartilharActive = false;
                                $scope.compartilhamento = false;
                            });
                    }

                    $scope.compartilharTexto = "";

                    MensageriaChatUsuario.trigger('obterInformacoes');

                };

            }
        }
    }
}());