/**
* @ngdoc directive
* @name s4c.components.avisoOperacional.s4cAvisoOperacionalNovo
* @module s4c.components.avisoOperacional
*
* @description
* `novoAvisoCtrl` Responsável por exibir as funções de Novos Avisos Operacionais na Tela, bem como o seu funcionamento.
*
*
*/
(function () {
'use strict';
function novoAvisoCtrl($scope, TelegramService) {
$scope.res = $scope.$root.res;
$scope.$watch('ativo', function (newVal, oldVal) {
if (newVal === true && oldVal === false) {
$scope.editarNovoDetalhamentoAtivo = false;
$scope.aviso = {
groups: [],
users: [],
message: '',
list: []
};
}
});
/**
* Fecha a diretiva
*
* @method desativar
*
*/
$scope.desativar = function () {
$scope.ativo = false;
};
/**
* Edita as informações do novo aviso
*
* @method editarDestinatarios
*
*
*/
$scope.editarDestinatarios = function () {
$scope.editarNovoDetalhamentoAtivo = true;
};
/**
* Envia o novo aviso
*
* @method enviarNovoAviso
*
*
*
*/
$scope.enviarNovoAviso = function () {
_.forEach($scope.aviso.list, function (value) {
if (value.isGroup && value.selected)
$scope.aviso.groups.push(value);
if (value.isUser && value.selected)
$scope.aviso.users.push(value);
});
TelegramService.sendMessageBulk($scope.aviso).then(function (mensagem) {
TelegramService.getMessages().then(function (messages) {
$scope.mensagens = messages;
$scope.ativo = false;
});
});
};
}
novoAvisoCtrl.$inject = ['$scope', 'TelegramService'];
angular.module('s4c.components.avisoOperacional')
.directive('s4cAvisoOperacionalNovo', function () {
return {
restrict: 'EA',
templateUrl: 'app/directives/aviso-operacional/novo-aviso/novo-aviso.html',
replace: true,
scope: {
'ativo': '=ativo',
'mensagens': '=mensagens'
},
controller: novoAvisoCtrl
};
});
}());