Source: directives/aviso-operacional/detalhamento-mensagem/detalhamento-mensagem.directive.js

/**
 * @ngdoc directive
 * @name s4c.components.avisoOperacional.s4cAvisoOperacionalDetalhamento
 * @module s4c.components.avisoOperacional
 *
 * @description
 * `detalhamentoMensagemCtrl` Responsável pelas funções e informações contidas no detalhamento da mensagem do aviso operacional 
 *
 */
(function () {
    'use strict';

    function detalhamentoMensagemCtrl($scope, TelegramService) {

        $scope.encaminhamentoAtivo = false;
        $scope.mensagemEncaminhamento = null;
        $scope.isEdit = false;
        $scope.mensagemToUpate = {};
        $scope.res = $scope.$root.res;

 	  /**
        * Fecha o delhamento 
        *
        * @method desativar
        * 
        * 
        */
        $scope.desativar = function () {
            $scope.ativo = false;
        };

 	  /**
        * Torna a mensagem de aviso operacional editável 
        *
        * @method edit
        * 
        * 
        */
        $scope.edit = function () {
            $scope.mensagemToUpate = angular.copy($scope.mensagem);
            $scope.isEdit = true;
        };

 	  /**
        * Cancela a edição da mensagem de aviso operacional 
        *
        * @method edit
        * 
        * 
        */
        $scope.cancelEdit = function () {
            $scope.isEdit = false;
        };

 	  /**
        * Altera a mensagem do aviso operacional 
        *
        * @method edit
        * 
        * 
        */
        $scope.update = function () {
            TelegramService.updateAvisoOperarional($scope.mensagemToUpate).then(function (aviso) {
                $scope.mensagem.mensagem = $scope.mensagemToUpate.mensagem;
                $scope.isEdit = false;
            });
        };

 	  /**
        * Abre o encaminhamento da mensagem de aviso operacional.  
        *
        * @method edit
        * 
        * 
        */
        $scope.abrirEncaminhamento = function () {
            $scope.encaminhamentoAtivo = true;
            $scope.mensagemEncaminhamento = $scope.mensagem;
        };

    }

    detalhamentoMensagemCtrl.$inject = ['$scope', 'TelegramService'];

    angular.module('s4c.components.avisoOperacional')
        .directive('s4cAvisoOperacionalDetalhamento', function () {
            return {
                restrict: 'EA',
                templateUrl: 'app/directives/aviso-operacional/detalhamento-mensagem/detalhamento-mensagem.html',
                replace: true,
                scope: {
                    'ativo': '=ativo',
                    'mensagem': '=mensagem',
                    'mensagens': '=mensagens'
                },
                controller: detalhamentoMensagemCtrl
            };
        });

}());