You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

146 lines
5.5 KiB

define(['jquery', 'js/jquery.dataTables.min.js', 'js/jquery-ui.min.js'] , function($) {
var exports = {};
var answered = 1;
var init = exports.init = function() {
// Altera entre mensagens respondidas e não respondidas
$( "#id_situacao" ).change(function() {
answered = $(this).val();
$("#id_situacao").val(answered);
tabelaContatos.ajax.url('proxy.php?answered=' + answered)
tabelaContatos.ajax.reload();
});
// Obtém dados de todas as conversas
var tabelaContatos = $('#tabela_contatos').DataTable({
ajax: {
url: "proxy.php?answered=" + 0,
dataSrc:""
},
columns: [
{ data: "id_conversa" },
{ data: "titulo" },
{ data: "cpf" }
],
// Passando o datatable para português
"oLanguage": {
"sEmptyTable": "Nenhum registro encontrado",
"sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros",
"sInfoEmpty": "Mostrando 0 até 0 de 0 registros",
"sInfoFiltered": "(Filtrados de _MAX_ registros)",
"sInfoPostFix": "",
"sInfoThousands": ".",
"sLengthMenu": "_MENU_ resultados por página",
"sLoadingRecords": "Carregando...",
"sProcessing": "Processando...",
"sZeroRecords": "Nenhum registro encontrado",
"sSearch": "Pesquisar",
"oPaginate": {
"sNext": "Próximo",
"sPrevious": "Anterior",
"sFirst": "Primeiro",
"sLast": "Último"
},
"oAria": {
"sSortAscending": ": Ordenar colunas de forma ascendente",
"sSortDescending": ": Ordenar colunas de forma descendente"
}
},
});
$( "#tabs" ).tabs({ active: 0 });
$('#tabela_contatos tbody').on( 'click', 'tr', function () {
if ( $(this).hasClass('selected') ) {
$(this).removeClass('selected');
}
else {
tabelaContatos.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
}
data = tabelaContatos.row(this).data();
getMessagesFromContact(data);
} );
}
// Obtém todas as trocas de mensagens relacionadas a um determinado contato no Fale Conosco
var getMessagesFromContact = exports.getMessagesFromContact = function(data_conversation) {
$.ajax({
url: "proxy.php?conversationID=" + data_conversation.id_conversa,
type: "POST",
dataType: 'json',
success: function (data) {
var mensagens = "";
for (var i = 0, len = data.length; i < len; i++) {
var desc = data[i].body;
arrayReturn.push([ data[i].id, data[i].name, data[i].email]);
var data_mensagem = data[i].data_mensagem.substring(8, 10) + '/' + data[i].data_mensagem.substring(5, 7) + '/' + data[i].data_mensagem.substring(0, 4);
var hora_mensagem = data[i].data_mensagem.substring(11, 16)
mensagens += '<div class="row">'
if (data[i].aluno != false) {
mensagens += '<div class="col-sm-10">'
mensagens += '<div class="panel panel-success"> ';
}
else {
mensagens += '<div class="col-sm-10 pull-right">'
mensagens += '<div class="panel panel-primary"> ';
}
mensagens +=
' <div class="panel-heading">'+
' <h3 class="panel-title">' + data[i].cpf + '</h3>'+
' </div>'+
' <div class="panel-body" style="word-break: break-all;">'+
data[i].texto_mensagem +
' </div><div class="text-right" style="font-style: italic; margin-right:10px;">'+
// '<hr>' + //Com ou sem?
data_mensagem + ' ' +
hora_mensagem +
'</div></div></div></div><hr>';
};
mensagens +=
'<div class="row">' +
'<div class="form-group">'+
'<label for="comment">Mensagem:</label>'+
'<textarea class="form-control" rows="5" id="comment"></textarea>'+
'</div>' +
'<button type="button" id="sendMessage" class="btn">Enviar</button>' +
'</div>';
$('#mensagens').html(mensagens);
$('#sendMessage').click(function (){
description = ($('#comment').val());
description = description.replace(/(?:\r\n|\r|\n)/g, '<br>');
$('#comment').attr('value', "")
$.ajax({
url: "proxy.php?addMessage=" + data_conversation.id_conversa + "&description=" + description,
contentType: "application/json; charset=utf-8",
type: "post",
dataType: 'json',
success: function (data) {
alert("Mensagem enviada!");
$( "#tabs" ).tabs({ active: 0 });
},
error: function (x, y, z) {
alert(x.responseText +" " +x.status);
}
});
});
$( "#tabs" ).tabs({ active: 1 });
}
});
};
// Obtém dados de todos os contatos do Fale Conosco
var getTableContacts = exports.getTableContacts = function() {
$( "#tabs" ).tabs();
$('ul.tabs li').click(function(){
var tab_id = $(this).attr('data-tab');
$('ul.tabs li .tab-content').removeClass('current');
$(this).addClass('current');
$("#"+tab_id).addClass('current');
})
};
return exports;
});