/**
* @ngdoc resposta_briefing
* @name RespostaBriefingCtrl
* @module s4c.components.resposta_briefing.RespostaBriefingCtrl
*
* @description Controller do módulo de resposta para o Briefing
*
*
*/
(function () {
'use strict';
/**
* @method RespostaBriefingCtrl
*
* @param {*} $scope
* @param {*} $stateParams
* @param {*} RespostaBriefingService
*/
function RespostaBriefingCtrl($scope, $stateParams,
RespostaBriefingService) {
var respostaId = $stateParams.id;
RespostaBriefingService.getRespostaBriefing(respostaId)
.then(function (resposta) {
$scope.horario_briefing = moment(parseInt(resposta.Briefing.horario, 10))
.format('HH:mm');
$scope.resposta = resposta;
});
/**
* @method enviarResposta
*
* @param {*} conteudo
*/
function enviarResposta(conteudo) {
var conteudo = $('.watwat').html();
RespostaBriefingService.responderBriefing(respostaId, {
resposta: conteudo
}).then(function (resposta) {
$scope.enviado = true;
});
}
angular.extend($scope, {
briefingValido: true,
enviado: false,
enviarResposta: enviarResposta,
respostaHtml: {}
});
}
/**
* @ngdoc service
* @name RespostaBriefingService
* @module s4c.services.RespostaBriefingService
*
* @description Componente para acesso a api do backend e/ou comunicação entre controllers
*
*
*/
function RespostaBriefingService($http, $q, API_ENDPOINT) {
/**
* @method getRespostaBriefing
*
* @param {*} id
*/
function getRespostaBriefing(id) {
var deferred = $q.defer();
$http.get(API_ENDPOINT + 'briefing/pergunta/' + id)
.then(function (res) {
if (typeof res.data === 'object') {
deferred.resolve(res.data);
} else {
deferred.reject(res.data);
}
});
return deferred.promise;
}
/**
* @method responderBriefing
*
* @param {*} id
* @param {*} resposta
*/
function responderBriefing(id, resposta) {
var deferred = $q.defer();
$http.post(API_ENDPOINT + 'briefing/pergunta/' + id, resposta)
.then(function (res) {
if (typeof res.data === 'object') {
deferred.resolve(res.data);
} else {
deferred.reject(res.data);
}
});
return deferred.promise;
}
return {
responderBriefing: responderBriefing,
getRespostaBriefing: getRespostaBriefing
};
}
RespostaBriefingCtrl.$inject = [
'$scope',
'$stateParams',
'RespostaBriefingService'
];
RespostaBriefingService.$inject = [
'$http',
'$q',
'API_ENDPOINT'
];
angular.module('s4c.controllers.RespostaBriefing', [])
.controller('RespostaBriefingCtrl', RespostaBriefingCtrl)
.service('RespostaBriefingService', RespostaBriefingService);
}());